Warning: Event Recorder not located in uninitialized memory!

解决方案:

1. Keil下,在Options for Target ... -> Target对话框中选择IRAM2,指定其起始地址,以及分配合适的size,并勾选NoInit。这里的size需要根据EventRecorder.c中的全局静态变量来进行计算。

2. 在Project对话框中,右键点击Compiler -> EventRecorder.c 然后选择Options for Component Class 'Compiler',在弹出的对话框中选择Memory->Zero Initialized,把该项的值修改为IRAM2,点击OK保存。

3. 重新编译下载生效。

-----------------------------------------------------------------------------------------------------------------------------

如果编译过程出现:warning: L6314W: No section matches pattern EventRecorder.o(ZI).

可以修改sct文件,将下面这行添加到RW_IRAM2的段中:

*.o(.bss.noinit)

或者使用下面这种修改方式:

LR_IROM1 0x1A000000 0x00080000  {    ; load region size_region
  ER_IROM1 0x1A000000 0x00080000  {  ; load address = execution address
   *.o (RESET, +First)
   *(InRoot$$Sections)
   .ANY (+RO)
  }
  RW_IRAM1 0x20000000 0x0000F000  {  ; RW data
   .ANY (+RW +ZI)
  }
  RW_IRAM2 0x2000F000 UNINIT 0x00001000  {
    EventRecorder.o (+ZI)
  }
}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值