This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Compile errors - new Halcogen project + IAR tools

Other Parts Discussed in Thread: HALCOGEN

I made a new RM48 project using Halcogen 3.02.02, for IAR tools. I did not add any user code to the auto-generated source files. I tried to compile the resulting source code using IAR EWARM 6.40. The build process generates 4 compile errors and 14 warnings.

The 4 errors are: 

Error[Og006]: Syntax error in inline assembly: "Error[401]: Operand syntax error" C:\...\source\sys_startup.c 277

Error[Og006]: Syntax error in inline assembly: "Error[401]: Operand syntax error" C:\...\source\sys_startup.c 279

Error[Og006]: Syntax error in inline assembly: "Error[401]: Operand syntax error" C:\...\source\sys_startup.c 292

Error[Og006]: Syntax error in inline assembly: "Error[401]: Operand syntax error" C:\...\source\sys_startup.c 294

These are inline assembler instructions "mrc" and "mcr". Unfortunately I don't know assembly so I can't tell what's wrong.

Moving on to the warnings, all except one are "Warning[Pa082]: undefined behavior: the order of volatile accesses is undefined in this statement" in "crc.c" lines 221, 224, in "esm.c" lines 519, 544, in "rti.c" line 329, in "sys_selftest.c" ln 305, 551, 607, in "sys_startup.c" ln 436, 440, 555, 559 and system.c ln 211.

Finally the last warning is an implicit float to int conversion in "i2c.c" module, line 170, in i2cSetBaudrate(): ck = ((vclk)/(2*baud*1000*(prescale+1)))-d;

I'll try to comment out the inline assembler sections that produce errors in "sys_startup.c", but I'm not sure what I'll be missing by not having those workarounds for erratas Cortex R4-66 and 57.