Issue building PSP library after updating IAR to v6.50 (from v6.40)

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

Issue building PSP library after updating IAR to v6.50 (from v6.40)

1,000 Views
kevinlillard
Contributor II

I have noticed after receiving an updated version of IAR Embedded Workbench (v6.50.1) that the PSP library now reports errors on build in cortex_boot.s and dispatch.s.

The errors reported are:

Error[40]:  Bad instruction

Error[42]:  Duplicate label: 'CFI'

Error[114]: Directive is not allowed

this CFI error appears to originate from a file asm_mac_iar.h.

I have not edited any of the MQX source code - I have only modified the user_config.h file slightly (by changing 1-2 of the define values from 0 to 1.

I have not changed the psp project in any way.

I am using MQX v3.8.1

Has anyone else seen this issue?

I believe that it is due to the IAR update, but I cannot be positive.

Labels (1)
2 Replies

559 Views
kevinlillard
Contributor II

Just providing an update to this issue (so maybe it will help someone else)

I am using MQX v3.8.1 and am using the Tower Kit K60f120m processor board/tools.

This works fine with IAR if you use v6.40, but the MQX libraries will not build if you upgrade to the latest IAR release (v6.50).

I have sent in a support request to IAR to begin the process of trying to get this resolved, but for now anyone who is using this type of setup should stay at IAR v6.40 to avoid problems.

0 Kudos

559 Views
kevinlillard
Contributor II

Further updates:

MQX v4.0 does not have this issue - so using MQX v4.0 with IAR v6.50 works fine and the libraries build as delivered.

The response from IAR about the issue (with MQX v3.8.1) is:

This turns out to be a (recently) known issue. It comes from MQX placing labels in the far left column of the source file. For the moment the only workarounds we can offer are to stick with version 6.40 or to edit the MQX source files to add a space before the labels

I was able to edit files in MQX (v3.8.1) to resolve this issue and get it to work with IAR v6.50.  These are the files that must be changed:

\mqx\source\io\debug\iodebug_asm.s

\mqx\source\psp\cortex\cortex_boot.s

\mqx\source\psp\cortex\dispatch.s

I added a single space to the beginning of the lines in these 3 files that begin with:  ASM_PUBLIC_BEGIN, ASM_PUBLIC_FUNC, or  ASM_PUBLIC_END

Changing this corrects the issue and the libraries build with no errors.