Messages Og005 and Og006 when using inline assembler

Technical Note 31237

Arkitekturer:

ARM, AVR, AVR32

Komponent:

compiler

Uppdaterad:

2015-11-06 13:04

Introduction

When compiling a project the following messages might appear:

Error[Og005]: Unknown symbol in inline assembly:
Error[Og006]: Syntax error in inline assembly: "Error[54]: Expression can not be forward"

Solution

Labels must be referred in the same assembler statement as they are declared. Use multiline inline assembler (with row breaks \n) to solve this.

Example:

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");

The behavior was not correct in earlier versions of the compiler platform. The new release uses a new internal compiler platform which is a bit more strict.


All product names are trademarks or registered trademarks of their respective owners.

Det här innehållet finns tyvärr inte på svenska.

Vår webbplats finns främst på vårt koncernspråk engelska, förutom det innehåll för investerare som vi är lagstadgade att kommunicera på svenska. Vi rekommenderar att du besöker vår globala webbplats på engelska för att få en bättre upplevelse.

Vi stöder inte längre Internet Explorer. För att få bästa möjliga upplevelse av iar.com rekommenderar vi att du uppgraderar till en modern webbläsare som Chrome eller Edge.