出现问题
IAR版本之间不兼容是臭名昭著的问题,在IAR7.0版本完全正常的代码,放到IAR7.10版本中编译,会出现下面的警告
Warning[25]: Label 'MemManage_Handler' is defined pubweak in a section implicitly declared root
解决方案
在对应的SECTION声明中,添加NOROOT
修饰信息,如下所示
由
PUBWEAK MemManage_Handler
SECTION .text:CODE:REORDER(1)
MemManage_Handler
B MemManage_Handler
改为
PUBWEAK MemManage_Handler
SECTION .text:CODE:REORDER:NOROOT(1)
MemManage_Handler
B MemManage_Handler