인라인 어셈블러를 사용할때 발생하는 Og005, Og006 메시지
기술노트 31237
아키텍처:
ARM, AVR, AVR32
컴포넌트:
compiler
업데이트:
2021-05-07 오전 7:24
소개
프로젝트를 컴파일할 때 나타날 수 있는 메시지입니다:
Error[Og005]: Unknown symbol in inline assembly:
Error[Og006]: Syntax error in inline assembly: "Error[54]: Expression can not be forward"
해결방안
레이블은 선언된 것과 동일한 어셈블러 구문으로 참조되어야 합니다. 다중 라인 인라인 어셈블리어를 사용하여 이 문제를 해결하세요.
예시:
asm("st -Y, R20\n \n"
"spmloop: \n"
"lN R20, 0x37 \n"
"SBRC R20, 0 \n"
"RJMP spmloop \n"
"OUT 0x37,R25 \n"
"SPM \n"
"LD R20,Y+ \n");
이전 버전의 컴파일러 플랫폼에서는 동작이 올바르지 않습니다. 최신 배포판은 좀 더 엄격한 새로운 내부 컴파일러 플랫폼을 사용합니다.
모든 제품 이름은 해당 소유자의 상표 또는 등록 상표입니다.