Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

[STM32] Avviare una sessione arm-debugger senza controllore

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

0
voti

[1] [STM32] Avviare una sessione arm-debugger senza controllore

Messaggioda Foto Utenteharpefalcata » 3 set 2021, 12:20

Buongiorno a tutti,

Avrei una domanda un po strana. Da diverso tempo stò sviluppando firmware per un microcontrollore della famiglia STM32. In particolare STM32F031, che appartiene alla famiglia Cortex-M0, che corrisponde alle specifiche ARMv6.

Detto questo vorrei chiedere: dal momento che non ho sempre con me il controller ed il cavetto USB di connessione, ma uso spesso una sessione cloud sulla quale ho l'intero repository delle sorgenti, mi chiedevo: sarebbe possibile avviare una sessione di arm-debugger senza che il controller stesso sia fisicamente connesso al PC?

In pratica, il compilatore mi genera correttamente il file "elf" e vorrei avviare una sessione di debugger su questo file, simulando il controller con una connessione fittizia.

Se non sbaglio, molto tempo fa un utente di questa comunity: @xyz, aveva detto che questa cosa era possibile, ma non riesco piu a trovare il suo messaggio, chiedo quindi alla community se qualcuno è pratico, e sa dove indirizzarmi, sperando anche che lo stesso "xyz", possa leggere questo messaggio e magari indirizzarmi nella giusta direzione.

Comunque grazie mille a tutti.

Saluti
Avatar utente
Foto Utenteharpefalcata
326 1 3 6
Stabilizzato
Stabilizzato
 
Messaggi: 422
Iscritto il: 28 lug 2015, 21:03

1
voti

[2] Re: [STM32] Avviare una sessione arm-debugger senza controll

Messaggioda Foto Utentexyz » 3 set 2021, 19:33

Hai sbagliato a mettere il tag al mio nome.

Se sei un utente Linux puoi tranquillamente via SSH (sicuro) o Telnet (non sicuro) collegarti a qualsiasi connessione via GDB da remoto e fare una sezione di debug se conosci i comandi di GDB.

Connessione alla board in locale con OpenOCD:

Codice: Seleziona tutto
openocd -f interface/stlink-v2.cfg -f target/stm32f1x.cfg

Connessione remota anche se in questo caso è lo stesso PC con l'indirizzo localhost, la porta di default è 3333 ma può essere cambiata:

Codice: Seleziona tutto
$> arm-none-eabi-gdb -ex "target remote localhost:3333" firmware.elf


(gdb) load

I manuali di OpenOCD e GDB spiegano tutte le opzioni. Bisogna adattare i file di configurazione alla board e al ARM in uso.

Puoi usare anche un emulatore come QEmu per ARM ma devi emulare i vari device interni non sempre possibile.

Se sei un utente MS-Windows e non hai capito quello che ho scritto ti lascio al tuo destino O_/
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