解决IAR编译出现Warning[25]: Label 'xxx' is defined pubweak in a section implicitly declared root警告的办法

  http://blog.csdn.net/u014616515/article/details/48650125

在使用IAR7.7及以上编译工程的时候,出现一大堆Warning[25]: Label 'xxx' is defined pubweak in a section implicitly declared root 的警告,点进去是指到启动文件startup_stm32f10x_xd.s里面的,这个问题有网友说是IAR在早期的版本里面使用了core_cm3文件,而在6以后高版本IAR中就不需要了。解决的办法IAR官方也给出了方案了(文章末尾):具体做法就是在启动文件里面startup_stm32f10x_xd.s(双击警告可以直接打开),在SECTION .text:CODE:REORDER(1)后面添加一个NOROOT,改成下面这个样子,注意那个数字是在NOROOT后面的。每一个SECTION都添加后保存,再次编译就不会出错了。

1 Reset_Handler
2         LDR     R0, =SystemInit
3         BLX     R0
4         LDR     R0, =__iar_program_start
5         BX      R0
6         
7         PUBWEAK NMI_Handler
8         SECTION .text:CODE:REORDER:NOROOT(1)

 

posted @ 2021-01-25 16:25  华夏九州  阅读(1674)  评论(0编辑  收藏  举报