IAR7版本出现Warning[25]: Label'Reset_Handler' is defined pubweak……

原文出处:http://blog.sina.com.cn/s/blog_8806edc50102vbvc.html


在使用IAR7.1及以上版本时出现诸多警告形如:Warning[25]: Label'Reset_Handler' is defined pubweak in a section implicitly declared root,则将SECTION.text:CODE:REORDER(1)改为SECTION .text:CODE:REORDER:NOROOT(1)即可。详情如下:

7.1版本之前,section默认是noroot,但现在是root。所以可以将SECTION .text:CODE:REORDER(1)改成SECTION .text:CODE:REORDER:NOROOT(1)或SECTION .text:CODE:REORDER:ROOT(1)。注意 NOROOT和 ROOT 的区别,NOROOT表示如果符号没有被关联的时候是被优化掉的,如果想不被优化则使用ROOT。

以下为IAR手册的说明:

Problem

After upgrading to EWARM 7.10.1 the Warning[25] is issued during assembly of afile that assembled without warning on earlier version of EWARM.

Background

The assembler (iasmarm) is (from EWARM 7.10.1) issuing Warning[25] for adeprecated assembler construction.

The deprecated assembler source construction looks like this:

      PUBWEAK NMI_Handler
      SECTION .text:CODE:REORDER(1)
  NMI_Handler
Solution

To avoid the warning, add ":NOROOT" to the "SECTION"statement:

      PUBWEAK NMI_Handler
      SECTION .text:CODE:REORDER:NOROOT(1)
  NMI_Handle

猜你喜欢

转载自blog.csdn.net/zhipun/article/details/64128753