ARMASM으로 컴파일 된 일부 코드를 gcc (code sourcery GCC-4.6.2 eabi)로 변환해야합니다. 나는이 코드가 그 컴파일되지 않습니다 내 파일 중 하나에서ARM7TDMI가 요청한 특수 목적 레지스터를 지원하지 않습니다
(... 나는 -I 및 -D 인수를 생략)는 ARM7TDMI 내 컴파일 인수
arm-none-eabi-gcc -c -march=armv4t -mcpu=arm7tdmi -mlittle-endian -g -O1
은 사용
나는 BU (이 게시물
Re: trouble building linux-linaro-3.0-2011.08-0에 따라
C:\DOCUME~1\MALLAR~1.ISC\LOCALS~1\Temp\ccA9cCgQ.s: Assembler messages:
C:\DOCUME~1\MALLAR~1.ISC\LOCALS~1\Temp\ccA9cCgQ.s:267: Error: selected processor does not support requested special purpose register -- `msr r3,CPSR'
make: *** [cdbini.o] Error 1
:
extern inline void ngEnable(void)
{
int tmp;
asm volatile(
"msr %[tmp], CPSR\n\t"
"bic %[tmp], %[tmp], #0xC0\n\t"
"msr CPSR_c, %[tmp]"
: [tmp] "+r" (tmp)
);
}
나는이 오류 Windows에서 ild하지만 문제는 동일 할 수 있습니까?) - march = all을 사용하지 않는 해결 방법을 이미 사용하고 있습니다 ...
내 문제는 무엇입니까?
엄지 또는 팔 명령 세트로 컴파일합니까? Thumb 모드는 레지스터에 액세스 할 때 몇 가지 제한이 있으므로 팔 명령을 시도 할 수 있습니다. – Zuljin