Domanda

Sono nuovo su OpenOCD, qualcuno ha tentato di utilizzare Olimex OpenOCD per eseguire effettivamente il flashing del file esadecimale del programma (da Kiel ad esempio) in ARM CORTEX M0 (generico).

Di cosa ho bisogno per impostare il file di script in modo che ogni parola del file esadecimale esegua mww (parola di scrittura in memoria) all'interno del flash dell'MCU ?, chiunque può fornire un esempio.Uso python.

Apro per suggerimenti.

Uso Windows PC.

È stato utile?

Soluzione

Tutti i Cortex M0 che conosco non hanno JTAG, ma solo il supporto SWD.SWD non è ancora disponibile in OpenOCD, è ancora in fase di sviluppo.

Un'altra nota: il metodo per scrivere la memoria flash è specifico per ogni fornitore / chip.

Altri suggerimenti

Certo, quale piattaforma in particolare? alcuni googling troveranno la sequenza esatta. sblocco flash, cancellazione, programma, ecc.

Sezione 6 di questa pagina, ad esempio.

http://pygmy.utoh.org/riscy/cortex/led- lpc17xx.html

Sto cercando di capire su quale scheda l'ho fatto, ma quelli erano più o meno i comandi che ho seguito e ha funzionato perfettamente. Potrebbe essere stato il leaflabs maple mini. I passaggi sono gli stessi. Per evitare i passaggi o lo scripting, ecc. Quello che ho finito per fare è stato scrivere alcune righe di bootloader che dicevano se ram + 0= 0x12345678 e ram + 4= 0x87654321 quindi branch to ram + 8 else loop infinito. quindi è stato banale usare il jtag per caricare un programma in ram con le due parole e un punto di ingresso a 0x08 byte in ram, premere reset ed eseguire il programma. All'accensione a freddo colpisce solo il ciclo infinito. Trascorro la mia giornata su un sistema basato su un braccio più grande che carica tutto nella ram usando jtag, quindi è abbastanza comodo. Potresti semplicemente scrivere uno script in openocd e digitare semplicemente il comando openocd per far sì che il caricamento flash avvenga.

Aggiornamento per le persone che si fermano a ...

Non è necessario utilizzare mww, se stai solo tentando di eseguire il programma flash (ad es. caricare il tuo codice) sul tuo microcontrollore.

Qualche tempo fa, OpenOCD ha ottenuto un comodo script ("incorporato"), che puoi usare per la programmazione, questo "comando" è chiamato "programma". Ecco un esempio tratto dalla documentazione sul comando "programma":

openocd -f interface/ftdi/jtag-lock-pick_tiny_2.cfg -f board/stm32f3discovery.cfg -c "program filename.elf verify reset"

-Sostituisci "stm32f3discovery" dalla tua scheda.Se utilizzi un adattatore diverso, sostituisci l'interfaccia con il file di configurazione appropriato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top