【问题标题】:How resolve a warning in IAR 'Reset_Handler'如何解决 IAR 'Reset_Handler' 中的警告
【发布时间】:2014-04-22 10:27:58
【问题描述】:

我正在使用 IAR ARM 7.10 并收到警告:

警告[25]:标签“Reset_Handler”在隐式声明为根的部分中定义为 pubweak...

有时会导致系统重置。

如何解决此警告?

【问题讨论】:

    标签: iar


    【解决方案1】:

    在“startup_*.s”文件中替换字符串

    SECTION .text:CODE:REORDER(1)
    

    带字符串

    SECTION .text:CODE:NOROOT:REORDER(1)
    

    就在每个导致警告的符号之前。

    【讨论】:

    • 此警告仅在升级到版本 7.10 后才开始显示。知道汇编程序中发生了什么变化导致这种情况吗?为什么以前没问题,因为我见过的每个 ARM 供应商示例现在都会收到此警告。
    • 7.10 之前的部分默认为 noroot,但现在默认值为 root。我不知道他们为什么这样做。即使此部分没有使用任何符号,它也会强制链接器将部分包含到执行程序中。
    【解决方案2】:

    是的,直接来自iAR Support page

    问题

    升级到 EWARM 7.10.1 后,在组装文件时发出警告 [25],该文件在早期版本的 EWARM 上组装时没有警告。

    背景

    汇编器 (iasmarm) 正在(从 EWARM 7.10.1 开始)针对已弃用的汇编器构造发出警告 [25]。

    不推荐使用的汇编源代码结构如下所示:

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

    NMI_Handler 解决方案

    为避免该警告,请在“SECTION”语句中添加“:NOROOT”:

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

    NMI_Handler

    【讨论】:

      猜你喜欢
      • 2013-04-29
      • 2019-01-25
      • 2012-06-14
      • 2017-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多