Building Libs w/ MQX 3.8 and IAR 6.5

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Building Libs w/ MQX 3.8 and IAR 6.5

跳至解决方案
2,284 次查看
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 解答
1,428 次查看
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.

在原帖中查看解决方案

7 回复数
1,428 次查看
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 项奖励
回复
1,428 次查看
danieldelatorre
Contributor IV

Your suggestion cleared it right up! Thanks.

0 项奖励
回复
1,428 次查看
jlag
Contributor II

Thanks all. Works fine now.

Seems like an IAR parse issue to me :smileyhappy:

0 项奖励
回复
1,428 次查看
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

1,429 次查看
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.

1,428 次查看
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 项奖励
回复
1,428 次查看
JuroV
NXP Employee
NXP Employee

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