I am attempting to build the TWRK60N512 libraries and I am receiving compiler errors on some macros in the assembly files using MQX 3.8 and IAR 6.5. The libraries build fine with IAR 6.4.
In the BSP:
iodebug_asm.s
line 80:
ASM_PUBLIC_BEGIN(ASM_PREFIX(_io_debug_semi_write_char))
Error[40]: Bad instruction
line 81:
ASM_PUBLIC_FUNC(ASM_PREFIX(_io_debug_semi_write_char))
Error[42]: Duplicate label:'CFI'
Error[114]: Directive is not allowed
Error[40]: Bad instruction
These errors repeat for other macros in the file. In the PSP file cortex_boot.s I have similar errors in the macros.
Any ideas are appreciated.
已解决! 转到解答。
IAR changed - you now need a space as the first char on the ASM_PUBLIC lines
Hack the .s files today, and maybe MQX4 will have the neccessary changes tomorrow...we are all holding our breath for a bunch of new functionality in 4.
Hi All,
I have the same issue with MQX-Lite(Porting the KL46Z with MQX-Lite on IAR IDE). Created the MQX-Lite KL46Z project with Codewarrior IDE and included the MQXLITE source folder into IAR based KL46Z project.
Then while building:
boot.S
Error[40]: Bad instruction C:\Users\KL46Z\MQXLITE\psp\cortex_m\types.inc 39
Error[42]: Duplicate label:'.equ' C:\Users\KL46Z\MQXLITE\psp\cortex_m\types.inc 44
Error[40]: Bad instruction C:\Users\KL46Z\MQXLITE\psp\cortex_m\types.inc 44
Error[42]: Duplicate label:'.equ' C:\Users\KL46Z\MQXLITE\psp\cortex_m\types.inc 45
Error[40]: Bad instruction C:\Users\KL46Z\MQXLITE\psp\cortex_m\types.inc 45
Error[42]: Duplicate label:'.equ' C:\Users\KL46Z\MQXLITE\psp\cortex_m\types.inc 46
Error[40]: Bad instruction C:\Users\KL46Z\MQXLITE\psp\cortex_m\types.inc 46
how to resolve this error? any suggestions..
Thanks in advance.
Regards,
--Ram.
Reply from IAR when we asked (last week) was
"This is not a bug in 6.50, but side effects of a bug fix made in 6.50.
We had a bug in 6.40 that made it possible to place directives in the first position but this bug has now been fixed. The reason why this bug had to be fixed was that it made it impossible to use macros to create labels. This means that we will keep the requirement that directives defined by macros must not be placed at the first character position on the text line."
Glad all working
IAR changed - you now need a space as the first char on the ASM_PUBLIC lines
Hack the .s files today, and maybe MQX4 will have the neccessary changes tomorrow...we are all holding our breath for a bunch of new functionality in 4.