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.
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.
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.