Building Libs w/ MQX 3.8 and IAR 6.5

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Building Libs w/ MQX 3.8 and IAR 6.5

Jump to solution
1,805 Views
jlag
Contributor II

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.

1 Solution
949 Views
OldNick
Contributor IV

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.

View solution in original post

7 Replies
949 Views
microeval
Contributor I

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.

0 Kudos
949 Views
danieldelatorre
Contributor IV

Your suggestion cleared it right up! Thanks.

0 Kudos
949 Views
jlag
Contributor II

Thanks all. Works fine now.

Seems like an IAR parse issue to me :smileyhappy:

0 Kudos
949 Views
OldNick
Contributor IV

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

950 Views
OldNick
Contributor IV

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.

949 Views
thomasmurphy
Contributor II

Also can confirm with MQX 3.8.1 for twrk60f120m on IAR 7.10.3.6832

This fix worked and the BSP now builds.

0 Kudos
949 Views
JuroV
NXP Employee
NXP Employee

Confirming, in MQX 4.0 we had to add space at the beginning.