简体   繁体   中英

Compiling FreeRTOS in IAR7.5 from IAR4.0 - Cstartup.s79 error

I am trying to recompile a (modified) FreeRTOS project from IAR4.0 to IAR7.5 and am getting errors in Cstartup.s79 of the type described here :

Is there a suitable version of Cstartup.s79 anywhere for versions of IAR beyond 4.0? I am not familiar with ARM Assembler and running out of time.

The relevant information in the link is:

If I copy intrinsics.h to intrinsic.h, C-compilation seems to work, but I still get these assembler errors:

Error[116]: Section type missing FreeRTOSV4.1.3\\FreeRTOS\\Demo\\uIP_Demo_IAR_ARM7\\SrcIAR\\Cstartup.s79 34 Error[116]: Section type missing FreeRTOSV4.1.3\\FreeRTOS\\Demo\\uIP_Demo_IAR_ARM7\\SrcIAR\\Cstartup.s79 35 Error[40]: Bad instruction FreeRTOSV4.1.3\\FreeRTOS\\Demo\\uIP_Demo_IAR_ARM7\\SrcIAR\\Cstartup.s79 41 Warning[24]: ENDMOD directive is ignored (only one module is allowed) FreeRTOSV4.1.3\\FreeRTOS\\Demo\\uIP_Demo_IAR_ARM7\\SrcIAR\\Cstartup.s79 220

It seems it doesn't like these lines: RSEGINTRAMSTART_REMAP RSEGINTRAMEND_REMAP org0 ENDMOD

Example cstartup.s files can be found in your ewarm installation. Look in src/lib/arm if you have an ARM-capable devices (Cortex-A/R or legacy devices) or src/lib/thumb if you have a Cortex-M device.

That said, there are two major technology steps between ewarm 4.1 and ewarm 7.5 so you should expect more problems than the cstartup.s issue. There is a migration guide in the documentation catalog and it covers both the step from 4.x to 5.x and 5.x to 6.x (7.x is essentially the same as 6.x).

The answer, as suggested by IAR is to go back to using 4.41. Hooray. Or pay someone to do the port from EWARM 4.41 to 7.8

That was well worth the £1500 a year support we pay them.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM