Home › Forums › Mastering STM32 book support forum › Problemi con SemiHosting
- This topic has 6 replies, 2 voices, and was last updated 9 years, 6 months ago by
Carminio.
-
AuthorPosts
-
April 6, 2016 at 9:42 am #2198
Carminio
ParticipantCiao Carmine, sono alle prese con l’argomento semihosting che tratti nel 5 capitolo e sto avendo qualche problema con l’esercizio di pag.164. (della release 0.9 del tuo libro di cui ho ricevuto gratuitamente l’aggiornamento via email…Carmine non abbandonare il supporto a questo libro che è prezioso 🙂 ). In particolare riesco a sfruttare le routine di tracing ma se cerco di usare le routine standard del C che usi in questo esercizio non fa nulla. Non riesco nè a scrivere su file nè a gestire l’input/output. Come impostazioni del progetto ho usato quelle del precedente progetto sul semihosting in cui si usano le funzioni di trace.
Cosa ne pensi?
Grazie come sempre.Ciao
DavideApril 6, 2016 at 10:08 am #2200Carmine Noviello
KeymasterCiao,
nell’ordine verifica che:- Stai usando la macro OS_USE_SEMIHOSTING invece di OS_USE_TRACE_SEMIHOSTING_DEBUG.
- Hai levato la spunta alla voce Assume freestanding environment (-ffreestanding), nelle impostazioni di progetto.
- Nella configurazione di debug di OpenOCD, è attiva la spunta Enable ARM Semihosting nella sezione “Startup”.
Fammi sapere.
April 6, 2016 at 10:22 am #2202Carminio
ParticipantCiao, allora, nel main ho inserito la riga di codice #define OS_USE_SEMIHOSTING (credo che basti questo per usare la macro, giusto?) per il resto ho sia tolto il segno di spunta alla voce Assume freestanding environment che attivare Enable ARM Semihosting nella sezione “Startup”. I messaggi di output li devo leggere nella console OpenOCD come accadeva con il trace giusto?
Non capisco perchè non va…April 6, 2016 at 10:28 am #2204Carmine Noviello
KeymasterCiao, no la macro va definita a livello di progetto, altrimenti non è attiva nel file _syscalls.c, dove avviene la compilazione effettiva delle funzioni C di basso livello.
April 6, 2016 at 10:59 am #2206Carminio
ParticipantEh,purtroppo ho scarsa dimestichezza con eclipse…
Mi puoi dire quali sono gli step per definire a livello di progetto questa macro?
Immagino si debba andare nelle proprieta’ del progetto, nel menu’ C/C++ general e da li’ nel menu’ include paths, macros… poi da li’ cosa devo fare?
Grazie ancora.
DavideApril 6, 2016 at 11:02 am #2208Carmine Noviello
KeymasterGuarda la Figura 17 del capitolo 4 (circa pg. 128). È la stessa procedura descritta lì, cambia solo la macro. Assicurati che non ci sia la macro OS_USE_TRACE_SEMIHOSTING_DEBUG.
April 6, 2016 at 11:20 am #2213Carminio
ParticipantEra quello il problema…
Risolto :).Grazie mille Carmine
-
AuthorPosts
- You must be logged in to reply to this topic.
