2012-12-03 10 views
8

Otrzymuję następujące błędy podczas próby kompilacji osadzonego programu C ARM (używam YAGARTO jako mojego kompilatora krzyżowego). Próbuję ustalić, co oznacza ten błąd i jakie kroki należy podjąć, aby go poprawić. Z przeprowadzonych przeze mnie badań wynika, że ​​problem, który wydaje się być wfi i wfe, nie jest instrukcją ASM. Jak mogę to naprawić?Błąd: wybrany procesor nie obsługuje trybu 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

Które opcje kompilatora używasz? –

+0

@TurboJ Używam domyślnych opcji kompilatora Eclispe dla GCC (So-Wall-c -fmessage-length = 0 -O0). Czy są jakieś opcje, które powinienem ustawić? – andre

+2

możesz spróbować -mthumb? – auselen

Odpowiedz

9

Można pominąć niektóre istotne opcje kompilatora dla swojej STM32F10x - co jest Cortex M3:

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

Dzięki, że nie otrzymuję już błędu. To wydawało się zadziałało. Będę musiał zbadać, o co im chodzi. – andre

+2

Urządzenia @Ahenderson ARM mają kilka różnych zestawów instrukcji, a [Cortex-M3 implementuje wersję Thumb] (http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0337i/ index.html). Domyślnie twój toolchain był ukierunkowany na tryb ARM, więc był to błąd. – auselen

Powiązane problemy