Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Ricompilare ARM toolchain su linux?

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

0
voti

[1] Ricompilare ARM toolchain su linux?

Messaggioda Foto Utenteharpefalcata » 6 nov 2019, 18:32

Buonasera a tutti,

Mi trovo in questa condizione: sviluppo codice sorgente per micro-controllore STM32 in linguaggio ARM assembly.

Molto spesso però sviluppo anche lontano da casa, sul mio portatile, senza portarmi dietro la scheda elettronica con il micro-controllore perché è delicata e rischio di danneggiarla in maniera irreversibile.

Uso un laptop, che ha una distribuzione Linux Ubuntu 16.04 LTS, e sul quale utilizzo come toolchain la versione: gcc-arm-none-eabi-8-2018-q4-major scaricabile qui: https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads .

Vorrei fare in modo che tale toolchain sia in grado di avviare il debugger GDB anche senza scheda elettronica connessa, usando come "target" di debuug il "sim", che è un modulo interno che può simulare il target anche quando questo non è connesso.

Purtroppo, avviando il debugger, ottengo come errore: arm-none-eabi-gdb: Undefined target command: “sim” .
Navigando su internet sono approdato a questa discussionbe su StackOverflow: https://stackoverflow.com/questions/49470659/arm-none-eabi-gdb-undefined-target-command-sim, dalla quale, nell'unica risposta si evince che dovrei ricompilare la toolchain con l'opzione "--enable-sim", ma non sono in grado di farlo.

Come posso procedere? Dove trovo i sorgenti per poterlo ricompilare?

Grazi per l'aiuto.
Avatar utente
Foto Utenteharpefalcata
326 1 3 6
Stabilizzato
Stabilizzato
 
Messaggi: 422
Iscritto il: 28 lug 2015, 21:03

0
voti

[2] Re: Ricompilare ARM toolchain su linux?

Messaggioda Foto Utentexyz » 6 nov 2019, 19:32

I sorgenti sono qui, sono l'ultimo link (url è la stessa che hai indicato tu):

https://developer.arm.com/tools-and-sof ... /downloads

Si compilano seguendo le istruzioni, io uso quello ufficiale via multiarch, in questo modo non ho più un gdb per ogni architettura. Se non sei un utente esperto leggi bene le istruzioni, in generale compilare un toolchain non è una cosa per principianti.

Devi compilarlo in modo che non interferisca con la tua distribuzione Linux, devi installarlo in una directory separata (tipo /opt/arm-none-eabi-..../)

Io non ho nessun gdb (x86_64, multiarch) compilato con quella opzione, non mi è mai servita. Per simulare una CPU, se mi serve, uso un collegamento remoto verso Qemu. Ti ricordo che con gdb puoi fare un debug remoto verso una board vera (se fatto un setup corretto).
Avatar utente
Foto Utentexyz
6.864 2 4 6
G.Master EY
G.Master EY
 
Messaggi: 1778
Iscritto il: 5 dic 2009, 18:37
Località: Italy Turin


Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti