我正在尝试将一个(修改的) FreeRTOS项目从IAR4.0重新编译到IAR7.5,并在描述的这里类型的Cstartup.s79中获得错误。
对于超过4.0的IAR版本,是否有适合的Cstartup.s79版本?我不熟悉ARM汇编程序,而且时间不多了。
链接中的相关信息是:
如果我将INTININSIC.h复制到INTININSIC.h,C-编译似乎有效,但我仍然会得到以下汇编程序错误:
FreeRTOSV4.1.3\FreeRTOS\Demo\uIP_Demo_IAR_ARM7\SrcIAR\Cstartup.s79 34 FreeRTOSV4.1.3\FreeRTOS\Demo\uIP_Demo_IAR_ARM7\SrcIAR\Cstartup.s79 :节类型缺失FreeRTOSV4.1.3\FreeRTOS\Demo\uIP_Demo_IAR_ARM7\SrcIAR\Cstartup.s79 35 Error40:坏指令FreeRTOSV4.1.3\FreeRTOS\Demo\uIP_Demo_IAR_ARM7\SrcIAR\Cstartup.s79 41 Warning24: ENDMOD指令被忽略(只允许一个模块)FreeRTOSV4.1.3\FreeRTOS\Demo\uIP_Demo_IAR_ARM7\SrcIAR\Cstartup.s79 220 它似乎不喜欢这几行: RSEGINTRAMSTART_REMAP RSEGINTRAMEND_REMAP org0 ENDMOD
发布于 2017-06-20 09:04:30
示例cstartup.s文件可以在您的ewarm安装中找到。如果您有一个支持ARM的设备(Cortex-A/R或遗留设备),或者如果您有一个Cortex-M设备,请在src/lib/arm中查看。
尽管如此,在ewarm4.1和ewarm7.5之间有两个主要的技术步骤,所以您应该期待比cstartup.s问题更多的问题。文档目录中有一个迁移指南,它涵盖了从4.x到5.x和5.x到6.x的步骤(7.x基本上与6.x相同)。
发布于 2017-06-21 12:29:39
正如IAR所建议的,答案是回到使用4.41。万岁。或者付钱给某人从EWARM 4.41到7.8
这是非常值得的,每年1500英镑的支持,我们支付他们。
https://stackoverflow.com/questions/44632293
复制相似问题