- This topic has 6 replies, 2 voices, and was last updated 8 years, 8 months ago by .
Viewing 7 posts - 1 through 7 (of 7 total)
Viewing 7 posts - 1 through 7 (of 7 total)
- You must be logged in to reply to this topic.
Home › Forums › Mastering STM32 book support forum › Problemi con SemiHosting
Ciao 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
Davide
Ciao,
nell’ordine verifica che:
Fammi sapere.
Ciao, 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…
Ciao, 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.
Eh,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.
Davide
Guarda 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.
Era quello il problema…
Risolto :).
Grazie mille Carmine