2012-12-03 1 views
8

ARM 임베디드 C 프로그램을 컴파일하는 동안 다음 오류가 발생합니다 (크로스 컴파일러로 YAGARTO를 사용하고 있습니다). 이 오류의 의미와 해결 방법은 무엇입니까? 지금까지 해본 연구에서, wfi 인 것, 그리고 wfe은 ASM 명령이 아닙니다. 어떻게 해결할 수 있을까요?오류 : 선택한 프로세서가 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

컴파일러 옵션을 사용합니까? –

+0

@ TurboJ GCC에 기본 Eclispe 컴파일러 옵션을 사용하고 있습니다 (SoWall -c -fmessage-length = 0 -O0). 설정해야 할 옵션이 있습니까? – andre

+2

시도해 볼 수 있습니까? – auselen

답변

9

당신은 당신의 STM32F10x에 대한 몇 가지 중요한 컴파일러 옵션 놓칠 수 - 코어 텍스 M3입니다 :

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

감사합니다. 더 이상 오류가 발생하지 않습니다. 이것은 효과가있는 것처럼 보였다. 나는 그들이 무엇을 의미하는지 연구해야 할 것이다. – andre

+2

@ahenderson ARM 장치에는 몇 가지 명령어 세트가 있으며 [Cortex-M3에서는 Thumb 버전을 구현합니다.] (http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0337i/ index.html). 기본적으로 툴 체인은 ARM 모드를 목표로했기 때문에 오류가 발생했습니다. – auselen

관련 문제