打印
[技术问答]

【MA35D1】为什么RTP复位后数组没有初始化初始值

[复制链接]
144|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)
main.zip (1.92 KB)


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2055

主题

7455

帖子

10

粉丝