인라인 어셈블러를 사용할때 발생하는 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");

이전 버전의 컴파일러 플랫폼에서는 동작이 올바르지 않습니다. 최신 배포판은 좀 더 엄격한 새로운 내부 컴파일러 플랫폼을 사용합니다.

 

모든 제품 이름은 해당 소유자의 상표 또는 등록 상표입니다.

죄송하지만, 당사 사이트에서는 Internet Explorer를 지원하지 않습니다.보다 편안한 사이트를 위해 Chrome, Edge, Firefox 등과 같은 최신 브라우저를 사용해 주시길 부탁드립니다.