ADS inline assembller에 관하여.....

psdlove의 이미지

interrupt관련 부분에 있는 내용인데...

asm ( "MSR cpsr_c, r0" ); //GNU
asm ( "MSR cpsr_c, r0" ); //GNU

GNU에서 error없이 사용되는 것입니다.

이것을 ADS에서 사용하는데 에러가 발생하여 관련 문서를 보고 다음과 같이 고쳤습니다.

__asm { MSR CPSR, r0 } --(1)
__asm { MRS r0, cpsr } --(2)

이전의 에러는 사라졌지만 새로운 error발생 내용은 다음과 같습니다.

(1)번 라인에서
PSR field expected
expected ',' - inserted before ‘CPSR’
undeclared name, inventing 'extern int CPSR'

(2)번 라인에서
illegal PSR field

이렇게 에러가 발생됩니다.
조언 부탁 드립니다.

psdlove의 이미지

위에 MSR 쓰로 스페이스 두번 띄워야 error가 없습니다.
tab으로 띠원도 error발생...

ADS 쓰기 정말 짜증납니다. debugging은 편해도 ..
쓸데 없는데에 시간을 너무 낭비하는 것 같네요.
그럼 수고요