Questa guida, rivolta principalmente ai miei colleghi universitari, ha
lo scopo di illustrare le operazioni necessarie per configurare la
STM32F3-Discovery
della STMicroelectronics su Ubuntu
utilizzando ChibiOS
ed Eclipse.
Sul mio PC ho installato e configurato Ubuntu 13.04 a 64bit, ma la procedura è stata testata anche su Ubuntu 11.04 a 64bit, Ubuntu 12.04 a 32bit su macchina virtuale, Ubuntu 13.04 a 32bit su macchina virtuale e su Fedora 18 a 32bit (grazie Andrea).
- Eclipse IDE for C/C++ Developers, scaricabile da qui. Vi consiglio di scaricare la versione 4.2 (Juno) o superiore.
- ChibiOS, scaricabile da qui. È sufficiente fare click su "Zip".
- GNU Tools for ARM Embedded Processors, scaricabile da qui.
- OpenOCD, scaricabile da qui.
Supponiamo quindi di avere, all'interno di una directory qualsiasi, i seguenti quattro files:
Ovviamente i nomi possono variare a seconda della versione che intendete utilizzare.
NOTA: per chi avesse voglia di fare una prova, ho creato i package di OpenOCD per Ubuntu. Non ho avuto modo di testarli, quindi sarebbe gradito un feedback. Ecco i link ai files:
openocd_0.7.0-1_amd64.deb
openocd_0.7.0-1_i386.deb
Per chi vuole andare sul sicuro, bisogna seguire la seguente procedura. Posizioniamoci nella directory in cui abbiamo scaricato i files e digitiamo:
Dopo l'installazione ed il riavvio di Eclipse, eseguire le seguenti impostazioni:
Estraiamo il contenuto del file ChibiOS-master.zip che abbiamo scaricato in precedenza nella radice del workspace di Eclipse, in modo da avere qualcosa del tipo <workspace>/ChibiOS-master. Successivamente, copiamo la cartella <workspace>/ChibiOS-master/demos/ARMCM4-STM32F303-DISCOVERY nella cartella root del workspace, rinominandola BaseProject.
Da Eclipse, selezioniamo "File -> New -> C Project" e successivamente "Makefile project -> Empty Project -> -- Other Toolchain --". Assegniamo il nome BaseProject e poi clicchiamo su "Finish". Eclipse ci avviserà che il progetto esiste già, ma è quello che vogliamo, quindi clicchiamo su "OK".
Andate ora in "Window -> Preferences -> General -> Workspace -> Linked Resources", cliccate su "New..." e create una nuova variabile con nome CHIBIOS e scegliendo come "Location" la radice della directory ChibiOS-master.
Aggiornate il progetto (F5) e dovreste ottenere qualcosa del genere: Aprite il file Makefile e scorrete verso il basso fino alla riga la quale va sostituita con Salvate e provate a compilare: se tutto va a buon fine, siamo a buon punto! :-)
Da Eclipse, selezionare "Run -> External Tools -> External Tools Configurations...".
Cliccare col tasto destro su "Program" e poi "New".
Scheda "Main":
Nella casella "Name" scrivere OpenOCD
Nella casella "Location" scrivere /usr/local/bin/openocd
Nella casella "Working directory" scrivere ${workspace_loc:/${project_name}}
Nella casella "Arguments" scrivere -f /usr/local/share/openocd/scripts/board/stm32f3discovery.cfg -c init -c "reset init" -c "poll"
Scheda "Build":
Rimuovere la spunta a "Build before launch"
Cliccare su "Apply" e poi su "Close".
Cliccare col tasto destro su "GDB Hardware Debugging" e poi "New".
Scheda "Main":
Nella casella "Name" scrivere BaseProject (Flash and Run)
Nella casella "C/C++ Application" scrivere build/ch.elf
Selezionare "Disable auto build"
Scheda "Debugger":
Nella casella "GDB Command" scrivere arm-none-eabi-gdb
Selezionare "mi2" in "Protocol Version"
Nella casella "Port number" scrivere 3333
Scheda "Startup":
Nella casella "Reset and Delay (seconds)" scrivere 1
Rimuovere la spunta a "Halt"
Nella casella sotto "Halt" scrivere monitor reset halt
Selezionare "Set breakpoint at" e scrivere main
Scheda "Common":
Selezionare "Shared file" e scrivere /BaseProject
Cliccare su "Apply" e poi su "Close".
Colleghiamo la scheda alla porta USB (ST-LINK) e ricompiliamo il progetto.
Avviamo OpenOCD: "Run -> External Tools -> External Tools Configurations...", selezionate "OpenOCD" e cliccate su "Run".
Avviamo il Debug: "Run -> Debug Configurations...", selezionate "BaseProject (Flash and Run)" e cliccate su "Debug".
A questo punto, dovrebbe aprirsi la vista "Debug" e dovrebbe avviarsi l'esecuzione, fermandosi al primo breakpoint. Per proseguire con l'esecuzione, cliccate sul tasto verde in alto finché non superate tutti i breakpoint e godetevi lo spettacolo! :-D
Da Eclipse, duplicare il progetto BaseProject (copia e incolla).
Dopo aver dato un nuovo nome alla copia, selezionare "Run -> Debug Configurations...". Saranno presenti due configurazioni con lo stesso nome: selezioniamone una, apriamo la scheda "Common" e individuiamo quale delle due si riferisce al nuovo progetto (basta controllare il campo "Shared file").
Una volta individuata la configurazione del nuovo progetto, basta modificarne il nome e successivamente selezionare la scheda "Main", cliccare sul pulsante "Browse..." a destra della casella "Project:" e scegliere il nuovo progetto.
Infine, cliccate su "Apply" e poi su "Close", aggiornate il nuovo progetto (F5) e compilate!
Forum ufficiale di ChibiOS: http://forum.chibios.org
http://www.chibios.org/dokuwiki/doku.php?id=chibios:guides:eclipse1
http://www.chibios.org/dokuwiki/doku.php?id=chibios:guides:eclipse2
Sul mio PC ho installato e configurato Ubuntu 13.04 a 64bit, ma la procedura è stata testata anche su Ubuntu 11.04 a 64bit, Ubuntu 12.04 a 32bit su macchina virtuale, Ubuntu 13.04 a 32bit su macchina virtuale e su Fedora 18 a 32bit (grazie Andrea).
Software necessario
Prima di cominciare, è necessario scaricare alcuni files:- Eclipse IDE for C/C++ Developers, scaricabile da qui. Vi consiglio di scaricare la versione 4.2 (Juno) o superiore.
- ChibiOS, scaricabile da qui. È sufficiente fare click su "Zip".
- GNU Tools for ARM Embedded Processors, scaricabile da qui.
- OpenOCD, scaricabile da qui.
Supponiamo quindi di avere, all'interno di una directory qualsiasi, i seguenti quattro files:
- ChibiOS-master.zip
- eclipse-cpp-juno-SR2-linux-gtk-x86_64.tar.gz
- gcc-arm-none-eabi-4_7-2013q1-20130313-linux.tar.bz2
- openocd-0.7.0.zip
Installare Java
La prima cosa da fare, se non l'avete già fatto, è installare Java. Per
conoscere se Java è installato e quale versione, basta digitare
Per installare la JDK 7 di Oracle:
Installare Eclipse
Posizionamoci nella cartella in cui abbiamo salvato i files scaricati
in precedenza e digitiamo
Controlliamo che esista la directory ~/.local/share/applications,
altrimenti la creiamo con
Utilizzando un editor di testo (ad esempio gedit) creiamo il
file eclipsecpp.desktop nel modo seguente:
e scriviamo:
In questo modo avremo il nostro IDE accessibile direttamente da menu.
Installare le dipendenze
Il software che andremo ad installare richiede che vengano soddisfatte
alcune dipendenze. In particolare, per i sistemi a 64 bit è necessario
garantire alcune librerie a 32 bit. Per fare ciò, è necessario
installare il pacchetto ia32-libs:
Una volta fatto ciò, installiamo le altre dipendenze:
Compilare ed installare OpenOCD
Nonostante OpenOCD sia presente nei repository di Ubuntu, abbiamo
bisogno di ricompilarlo per abilitare il supporto ST-LINK.NOTA: per chi avesse voglia di fare una prova, ho creato i package di OpenOCD per Ubuntu. Non ho avuto modo di testarli, quindi sarebbe gradito un feedback. Ecco i link ai files:
openocd_0.7.0-1_amd64.deb
openocd_0.7.0-1_i386.deb
Per chi vuole andare sul sicuro, bisogna seguire la seguente procedura. Posizioniamoci nella directory in cui abbiamo scaricato i files e digitiamo:
Installare le "GNU Tools for ARM Embedded Processors"
Ritorniamo alla cartella contenente i files scaricati ed eseguiamo i
seguenti comandi:
NOTA: Fedora utilizza un file differente per la configurazione di sistema.
In particolare, l'istruzione precedente diventa:
Per rendere effettive le modifiche, bisogna effettuare logout e login.
Aggiungere i permessi ed eseguire il primo test
A questo punto, se non abbiamo riscontrato nessun errore, possiamo
procedere alla definizione delle regole di udev che ci
permetteranno di accedere alla nostra scheda. Per fare ciò, è
necessario creare un file:
ed inserirci la seguente riga:
Infine salviamo e ricarichiamo le regole con:
Per testare se la scheda viene correttamente identificata, basta
collegarla alla porta USB (sulla scheda bisogna utilizzare la porta
etichettata con USB ST-LINK) ed eseguire il comando:
e dovremmo ottenere un output del tipo:
Terminiamo OpenOCD premendo CTRL-C e passiamo alla configurazione di
Eclipse.
Configurare Eclipse
Per poter effettuare il debugging delle nostre applicazioni, abbiamo
bisogno di installare un tool di Eclipse. Dal menu "Help"
selezioniamo "Install New Software...". Nel menu a
tendina, selezioniamo il repository ufficiale della nostra versione di
Eclipse (per Juno è http://download.eclipse.org/releases/juno) e
selezioniamo il pacchetto "C/C++ GDB Hardware Debugging".Dopo l'installazione ed il riavvio di Eclipse, eseguire le seguenti impostazioni:
- Deselezionare "Project -> Build Automatically"
- Andare in "Window -> Preferences"
- "C/C++ -> Code Analysis" e disabilitare tutto
- "C/C++ -> New CDT Project Wizard -> Makefile Project -> Discovery Options" e selezionare "Automatic discovery of paths and symbols" e poi "GCC per project scanner info profile"
- "C/C++ -> New CDT Project Wizard -> Makefile Project -> Behaviour" e selezionare "Enable parallel build" e poi "Use optimal jobs (n)" (dove n indica il numero di jobs ottimali per la vostra architettura)
- "Run/Debug -> Launching -> Default Launchers -> GDB Hardware Debugging -> [debug]" e selezionare "Standard GDB Hardware Debugging Launcher"
- Salvare le modifiche e chiudere
ChibiOS e il "progetto base"
Passiamo ora alla configurazione di un primo progetto che utilizzeremo
successivamente per creare gli altri progetti.Estraiamo il contenuto del file ChibiOS-master.zip che abbiamo scaricato in precedenza nella radice del workspace di Eclipse, in modo da avere qualcosa del tipo <workspace>/ChibiOS-master. Successivamente, copiamo la cartella <workspace>/ChibiOS-master/demos/ARMCM4-STM32F303-DISCOVERY nella cartella root del workspace, rinominandola BaseProject.
Da Eclipse, selezioniamo "File -> New -> C Project" e successivamente "Makefile project -> Empty Project -> -- Other Toolchain --". Assegniamo il nome BaseProject e poi clicchiamo su "Finish". Eclipse ci avviserà che il progetto esiste già, ma è quello che vogliamo, quindi clicchiamo su "OK".
Andate ora in "Window -> Preferences -> General -> Workspace -> Linked Resources", cliccate su "New..." e create una nuova variabile con nome CHIBIOS e scegliendo come "Location" la radice della directory ChibiOS-master.
Aggiornate il progetto (F5) e dovreste ottenere qualcosa del genere: Aprite il file Makefile e scorrete verso il basso fino alla riga la quale va sostituita con Salvate e provate a compilare: se tutto va a buon fine, siamo a buon punto! :-)
Configurare OpenOCD
Per poter comunicare con la scheda, è necessario eseguire OpenOCD. In
particolare, è necessario fare in modo che sia Eclipse ad avviarlo. Per
fare ciò, bisogna configurarlo come strumento esterno.Da Eclipse, selezionare "Run -> External Tools -> External Tools Configurations...".
Cliccare col tasto destro su "Program" e poi "New".
Scheda "Main":
Nella casella "Name" scrivere OpenOCD
Nella casella "Location" scrivere /usr/local/bin/openocd
Nella casella "Working directory" scrivere ${workspace_loc:/${project_name}}
Nella casella "Arguments" scrivere -f /usr/local/share/openocd/scripts/board/stm32f3discovery.cfg -c init -c "reset init" -c "poll"
Scheda "Build":
Rimuovere la spunta a "Build before launch"
Cliccare su "Apply" e poi su "Close".
Configurare il debugger
Da Eclipse, selezionare "Run -> Debug Configurations...".Cliccare col tasto destro su "GDB Hardware Debugging" e poi "New".
Scheda "Main":
Nella casella "Name" scrivere BaseProject (Flash and Run)
Nella casella "C/C++ Application" scrivere build/ch.elf
Selezionare "Disable auto build"
Scheda "Debugger":
Nella casella "GDB Command" scrivere arm-none-eabi-gdb
Selezionare "mi2" in "Protocol Version"
Nella casella "Port number" scrivere 3333
Scheda "Startup":
Nella casella "Reset and Delay (seconds)" scrivere 1
Rimuovere la spunta a "Halt"
Nella casella sotto "Halt" scrivere monitor reset halt
Selezionare "Set breakpoint at" e scrivere main
Scheda "Common":
Selezionare "Shared file" e scrivere /BaseProject
Cliccare su "Apply" e poi su "Close".
Compilazione e test finale
Siamo pronti ad eseguire la nostra prima applicazione!Colleghiamo la scheda alla porta USB (ST-LINK) e ricompiliamo il progetto.
Avviamo OpenOCD: "Run -> External Tools -> External Tools Configurations...", selezionate "OpenOCD" e cliccate su "Run".
Avviamo il Debug: "Run -> Debug Configurations...", selezionate "BaseProject (Flash and Run)" e cliccate su "Debug".
A questo punto, dovrebbe aprirsi la vista "Debug" e dovrebbe avviarsi l'esecuzione, fermandosi al primo breakpoint. Per proseguire con l'esecuzione, cliccate sul tasto verde in alto finché non superate tutti i breakpoint e godetevi lo spettacolo! :-D
Creazione di un nuovo progetto
Come detto in precedenza, il progetto BaseProject ci servirà
ogniqualvolta vorremo creare un nuovo progetto. Quindi è altamente
consigliato tenerlo pulito ed evitare di farci test! All'atto della
creazione di un nuovo progetto, il progetto base deve essere aperto.Da Eclipse, duplicare il progetto BaseProject (copia e incolla).
Dopo aver dato un nuovo nome alla copia, selezionare "Run -> Debug Configurations...". Saranno presenti due configurazioni con lo stesso nome: selezioniamone una, apriamo la scheda "Common" e individuiamo quale delle due si riferisce al nuovo progetto (basta controllare il campo "Shared file").
Una volta individuata la configurazione del nuovo progetto, basta modificarne il nome e successivamente selezionare la scheda "Main", cliccare sul pulsante "Browse..." a destra della casella "Project:" e scegliere il nuovo progetto.
Infine, cliccate su "Apply" e poi su "Close", aggiornate il nuovo progetto (F5) e compilate!
Aggiunta di nuovi file al progetto
Se si vogliono aggiungere ulteriori file .c al progetto, è necessario
aggiornare il campo CSRC del Makefile. Ad esempio, supponendo di
creare un file test.c ed il suo header test.h, bisogna
modificare il Makefile in questo modo:
Problema: CTRL+Click non funziona!
Se la funzione CTRL+Click di Eclipse non dovesse funzionare, è
necessario aggiornare l'indice del progetto: fare click col tasto
destro sul progetto e selezionare "Index -> Rebuild".
Link utili
Descrizione delle varie funzioni e costanti di ChibiOS:
http://chibios.sourceforge.net/html/index.htmlForum ufficiale di ChibiOS: http://forum.chibios.org
Fonti
http://www.engineering-diy.blogspot.ro/2012/11/stm32f3-discovery-eclipse-openocd.html
http://www.chibios.org/dokuwiki/doku.php?id=chibios:guides:eclipse1
http://www.chibios.org/dokuwiki/doku.php?id=chibios:guides:eclipse2
anto' ma la cartella di eclipse dove viene spostata?
RispondiEliminaanto' ho trovato la cartella...ma si puo spostare o deve rimanere nell'attuale posizione?
RispondiEliminaEclipse viene installato in /opt/eclipse-cpp. Questo perché la cartella /opt serve a contenere il software "opzionale". In pratica, il comando sudo mv eclipse /opt/eclipse-cpp non fa altro che spostare la cartella eclipse in /opt e rinominarla.
EliminaLa puoi spostare tranquillamente, ma non vedo perché dovresti! :P
Anto' premettendo ke nn ho fatto alcun cambiamnto ancora rispetto alla tua guida e ke la skeda viene riconosciuta.....eclipse mi da uno strano problema :
EliminaSome sites could not be found. See the error log for more detail.
No repository found at http://download.eclipse.org/eclipse/updates/4.2.
No repository found at http://download.eclipse.org/releases/juno/201303010900.
No repository found at http://download.eclipse.org/releases/juno.
No repository found at http://download.eclipse.org/releases/juno/201206270900.
No repository found at http://download.eclipse.org/eclipse/updates/4.2-I-builds.
e quindi nn riesco a istallare il plugin di eclipse
1. Hai Eclipse Juno o un'altra versione?
Elimina2. Quando fai "Help -> Install new software..." cosa inserisci nel campo "Work with:"?
Per Juno devi selezionare "Juno - http://download.eclipse.org/releases/juno" (che è già presente nel menu a tendina).
anto nn soke è successo cmq ho cancellato e istalatto un altro eclipse.....ho fatto tutto però nel mio progetto nn compare l'include...come si aggiungono? lo posso fare manualmente?
EliminaProbabilmente puoi aggiungerli a mano, ma su questo non so aiutarti al momento... Comunque se non ti compaiono c'è qualcosa che non va. Hai compilato? Ti dà qualche errore?
EliminaFai così: tasto destro sul progetto e poi "Clean Project", poi di nuovo tasto destro e "Build Project" e vedi cosa ti dice la console.
Ho seguito tutta la guida ma non compila il codice.
RispondiEliminaQuesti sono gli errori:
make: *** [build/obj/crt0.o] Errore 127 BaseProject C/C++ Problem
make: *** [build/obj/vectors.o] Errore 127 BaseProject C/C++ Problem
Potresti postare tutto il log?
EliminaRiavviando Ubuntu ha compilato tutto il codice (non mi chiedere perchè). Ora quando provo a far partire l'esempio in modalità debug mi dà questo errore: An internal error occurred during: "Launching BaseProject (Flash and Run)".
EliminaPath for project must have only one segment.
Devo aver sbagliato qualcosa nei settaggi, adesso provo a risolvere.
Probabilmente il riavvio ha impostato la variabile PATH (cosa che avrebbe dovuto fare il comando `source ~/.profile`).
EliminaFammi sapere se riesci a risolvere! ;)
Ma quando mando in esecuzione il programma devo sempre usare la porta USB ST-LINK o la USB USER?
EliminaLa porta USER serve per comunicare con il dispositivo, ad esempio per leggere un eventuale output.
EliminaLa porta ST-LINK serve invece per flashare il dispositivo.
Quando avvii il debugger, il dispositivo deve quindi essere collegato alla porta ST-LINK.
Ok grazie. Comunque ho risolto. Errore di distrazione come sempre. Nel configurare il debugger avevo dimenticato di settare il "Project" nella schermata "Main". Grazie ancora per la disponibilità!!!
EliminaPrego! ^_^
EliminaTi chiedo un'ultimissima informazione. Mi sapresti indicare dove posso trovare un po' di documentazione per la programmazione?
EliminaLa documentazione completa mi pare sia a pagamento... :(
EliminaComunque, trovi qui la descrizione delle varie funzioni e costanti di ChibiOS: http://chibios.sourceforge.net/html/index.html
Inoltre, è presente il forum ufficiale di ChibiOS, con alcuni esempi: http://forum.chibios.org/
Per il resto, bisogna cercare un po' in rete e magari collaborare tra di noi! ;)
Grazie di tutto!!!
EliminaDescription Resource Path Location Type
Eliminamake: *** [build/obj/crt0.o] Error 127 BaseProject C/C++ Problem
make: *** Waiting for unfinished jobs.... BaseProject C/C++ Problem
make: *** [build/obj/vectors.o] Error 127 BaseProject C/C++ Problem
Ho ricevuto questi errori quando ho provato a compilare, suggerimenti?
Ciao Chaosottolo. Dovresti postare tutto il log (la scheda "Console" e non "Problems" di Eclipse).
Eliminamake -j2 all
EliminaCompiling crt0.c
Compiling vectors.c
make: arm-none-eabi-gcc: Command not found
make: arm-none-eabi-gcc: Command not found
make: *** [build/obj/crt0.o] Error 127
make: *** Waiting for unfinished jobs....
make: *** [build/obj/vectors.o] Error 127
Penso sia dovuto ad un errore di configurazione di arm-none-eabi-gcc - In particolare mi sembra che gli ultimi due comandi non siano andati a buon fine.
Il problema è stato risolto e inserito nella guida.
EliminaChaosottolo utilizza Fedora e il path va impostato in ~/.bash_profile
quando creo un nuovo progetto e faccio build project esce questo:
RispondiElimina18:32:15 **** Build of configuration Default for project BlinkingLight ****
make -j8 all
makefile:68: ../../boards/ST_STM32F3_DISCOVERY/board.mk: No such file or directory
makefile:69: ../../os/hal/platforms/STM32F3xx/platform.mk: No such file or directory
makefile:70: ../../os/hal/hal.mk: No such file or directory
makefile:71: ../../os/ports/GCC/ARMCMx/STM32F3xx/port.mk: No such file or directory
makefile:72: ../../os/kernel/kernel.mk: No such file or directory
makefile:73: ../../test/test.mk: No such file or directory
makefile:221: ../../os/ports/GCC/ARMCMx/rules.mk: No such file or directory
make: *** No rule to make target `../../os/ports/GCC/ARMCMx/rules.mk'. Stop.
18:32:15 Build Finished (took 80ms)
inoltre anche a me non ci sono le include
EliminaPotrebbe essere un problema di path... Fai una cosa, da shell esegui il comando `pwd` all'interno di ciascuna delle seguenti cartelle e posti il risultato:
Elimina- La cartella del workspace
- La cartella ChibiOS-master
- La cartella del tuo progetto (da quello che hai postato è la cartella BlinkingLight)
A me in Windows mi crea il progetto, ma esso è vuoto, non contiene nessun file ne dir
RispondiEliminaSu Windows non l'ho testato (né penso lo farò).
EliminaSe riesci a risolvere, puoi scrivere qui come hai fatto, nel caso qualcun altro abbia il tuo stesso problema. ;)
Ciao, ottima guida complimenti, ma qualche link ad esempi, magari per il giroscopio e quant' altro ? Grazie mille
RispondiEliminaGrazie! Penso che nei prossimi giorni metterò qualche esempio. ;)
EliminaCiao, volevo chiedetti se conosci una procedura per poter far girare un programma scritto per Ubuntu su piattaforma Windows. Ho tutti i file ma che ho copiato nel progetto ma ho qualche problema con l` OpenOCD e il Debug.
RispondiEliminaCiao! Come ho già scritto in qualche commento più sopra, non ho avuto modo (né voglia) di testare la procedura su Window$. Ad ogni modo, so che esiste un tool (ChibiStudio) che dovrebbe contenere tutti gli strumenti (OpenOCD e il debugger) già configurati. Ti consiglio di fare una prova con quello.
EliminaMi dispiace non poterti essere d'aiuto più di tanto...
Ciao Antonio,
RispondiEliminagrazie e complimenti per questa splendida guida! Ne ho lette tante e devo riconoscere che questa è sia la più completa che la più chiara. Con questa sono riuscito a compilare da Eclipse i progetti ChibiOS, al contrario di prima dove mi funzionavano solo i progetti "ST".
Se vivi o passi da Trento, fatti vivo che ti offro una birra.
Grazie ancora,
Davide
A proposito, non è che potresti aggiungere le informazioni anche su come flashare ed eseguire un progetto su RAM invece che su ROM?
EliminaGrazie!
Ciao Davide! Grazie mille per i complimenti! :D
EliminaNon credo di passare per Trento (vivo MOLTO più a sud), ma è come se avessi accettato la birra! ;)
Per quanto riguarda il discorso della RAM, purtroppo non so aiutarti. Ad ogni modo, penso sia impossibile flashare un progetto su RAM in quanto è una memoria volatile. Non so come gestisce la memoria ChibiOS, ma generalmente le applicazioni vengono spostate nella RAM in fase di esecuzione, a seconda dello spazio a disposizione.
Ti consiglio di consultare il forum ufficiale di ChibiOS (http://forum.chibios.org) e magari chiedere lì (l'amministratore, nonché creatore di ChibiOS è di Salerno).
Ciao!
Hello I use STM32F3 discovery and Openocd 0.7.0 and Ubuntu 12.04 LTS 64bit
RispondiEliminaI've got some errors:
Open On-Chip Debugger 0.7.0 (2013-09-09-10:58)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.sourceforge.net/doc/doxygen/bugs.html
srst_only separate srst_nogate srst_open_drain connect_deassert_srst
Info : This adapter doesn't support configurable speed
Info : STLINK v2 JTAG v16 API v2 SWIM v0 VID 0x0483 PID 0x3748
Info : Target voltage: 2.887038
Error: init mode failed
in procedure 'transport'
in procedure 'init'
I try on openocd 0.6.1 and did not works too i've got:
Error: open failed
in procedure 'transport'
in procedure 'init'
Can i fix this?? or maybe is something wrong on my board?? Ofc i connected on USB ST-LINK, and i did all following the tutorials
Hi, could you post the result of the following command?
Eliminaopenocd -f /usr/local/share/openocd/scripts/board/stm32f3discovery.cfg -c init -c "reset init" -c "poll"
Pay particular attention to the quotes! I suggest you do not copy and paste!
EliminaOk, solved, there was something wrong with my ST-LINK jumpers on the board.
EliminaOk! ;)
EliminaQuesto commento è stato eliminato dall'autore.
RispondiEliminaCiao Antonio
RispondiEliminaho seguito la tua guida più o meno alla lettera (più o meno perché ho una scheda diversa la SMT32F4-Discovery e perché ho ubuntu 13.10 a 64-bit). Solo che funge più o meno tutto ma quando vado a compilare mi esce questo errore:
make: *** No rule to make target `crt0.c', needed by `build/obj/crt0.o'. Stop.
Per caso saresti in grado di dirmi la causa ed una probabile soluzione?
Ti ringrazio in anticipo :D
Come non detto ho risolto :D Problemi nel settare la variabile $PATH.
EliminaPS: grande guida!!! Mi è stata utilissima!! GRAZIE!
Ciao Emanuele!
EliminaScusa se non ti ho risposto prima.
Mi fa piacere che tu sia riuscito a risolvere e ti ringrazio per i complimenti! :)
salve sono pasquale
RispondiEliminaposseggo la STM32F3-Discovery la procedura di installazioe e debug è ok, se possibile puoi darmi una dritta di come attivare una porta per interfacciare un sensore di movimento (PIR) alla scheda.
Ciao Pasquale.
EliminaPurtroppo attualmente mi trovo all'estero e non ho qui con me la scheda, quindi non posso aiutarti. Però sul sito della ST sono presenti dei documenti piuttosto dettagliati, anche se molto tecnici, su ciascun componente della STM32F3-Discovery. Inoltre, potresti dare un'occhiata al forum di ChibiOS qui: http://forum.chibios.org/. Il forum sembra piuttosto attivo e credo che lì riusciranno ad aiutarti.
Mi dispiace non poterti aiutare più di tanto.
ok ti ringrazio adesso ci provo.
Eliminaciao