2012-12-03 11 views
8

Ricevo i seguenti errori durante il tentativo di compilare un programma C incorporato ARM (sto usando YAGARTO come mio cross compilatore). Sto cercando di capire cosa significa questo errore e quali sono i passaggi per correggerlo. Dalla ricerca che ho fatto finora, il problema sembra essere wfi e wfe non sono istruzioni ASM. Come potrei risolvere questo?Errore: il processore selezionato non supporta la modalità ARM `wfi '

\cc9e5oJe.s: Assembler messages: 
\cc9e5oJe.s:404: Error: selected processor does not support ARM mode `wfi' 
\cc9e5oJe.s:414: Error: selected processor does not support ARM mode `wfe' 
\cc9e5oJe.s:477: Error: selected processor does not support ARM mode `wfi' 
make: *** [STM32F10x_StdPeriph_Driver/src/stm32f10x_pwr.o] Error 1 
+0

Quali opzioni di compilazione si usa? –

+0

@TurboJ Sto utilizzando le opzioni del compilatore Eclispe predefinito per GCC (So -Wall -c -fmessage-length = 0 -O0). Ci sono opzioni che dovrei impostare? – andre

+2

puoi provare -mthumb? – auselen

risposta

9

si potrebbe perdere alcune opzioni di compilazione vitali per il vostro STM32F10x - che è un Cortex M3:

-mcpu=cortex-m3 -mthumb -mno-thumb-interwork -mfpu=vfp -msoft-float -mfix-cortex-m3-ldrd 
+0

Grazie, non ho più ricevuto l'errore. Questo sembrava aver funzionato. Dovrò cercare cosa significano tutti. – andre

+2

@ahenderson I dispositivi ARM hanno alcuni set di istruzioni diversi e [Cortex-M3 implementa una versione di Thumb] (http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0337i/ index.html). Per impostazione predefinita, la tua catena degli strumenti aveva come target la modalità ARM, quindi l'errore. – auselen