[技术问答] 【MA35D1】为什么RTP复位后数组没有初始化初始值

[复制链接]
315|1
 楼主| 两只袜子 发表于 2023-7-4 08:59 | 显示全部楼层 |阅读模式
为什么RTP复位后数组没有初始化初始值
riplay 发表于 2023-7-5 10:36 | 显示全部楼层
1)如果在linux 下 Echo Start,Echo Stop再Echo Start,这样数组是可以初始化初值的。

2)如果在Keil下reset或者用WDT2 Reset RTP Only,那么数组的初值变为了程序中最后修改的值。解决方法如下:

根本原因是RTP代码中定义的ROM区域其实是SRAM或者DDR,是可以修改的。解决方法是设置不同的+ RW,+ZI的LD Address和EXE Address,可以参考附件的sct文件。数组可以不指定地址,或者指定到 +RW.+ZI的区域,这样RTP复位之后回去LR Address获取未修改的初始值。
例程如附件。
WDT_TimeoutWakeupAndReset_sct.zip (440 Bytes, 下载次数: 0)
main.zip (1.92 KB, 下载次数: 0)


您需要登录后才可以回帖 登录 | 注册

本版积分规则

2122

主题

8121

帖子

11

粉丝
快速回复 在线客服 返回列表 返回顶部