Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
我这个使用的地址是0x2005DFC0 ~ 0x2005DFFF,不在这个Secure Boot 使用的0x2005F000~0x2005FFFF范围内,而且我在复位前打断点再执行到Boot RAM的数据是存在的
可以打一个数据断点,针对你说的这个地址,当被修改后,会进入断点,然后查看在哪儿进的
嗯,这个有试过,这样打断点现象就变成正常的了 RAM数据复位后是存在的
emmm,你是不是开 Cache 了
看看boot的ytlink配置,有没有跟app一样,把这块区域独立出来。boot的启动文件也会初始化RAM
这块区域是RAM的,不是ITCM和DTCM 应该不算Cache吧。Boot这块link文件也有独立出来,没有配置初始化 。复位之后断点打到boot的启动文件的Reset_Handler,还没有执行到Boot RAM初始化,RAM数据已经没有了。
看你的描述,除了你有别的应用程序去主动修改了这块儿 RAM, 看着有点像 这块RAM 被 Cache 了,对这些 RAM 写的值还留在 Cache 内,Cache 未命中就复位了,导致 RAM 值没写进去
复位前对这些数据做了判断,确定写入进去才进行复位的,应该在复位那一刻和进入到boot的启动文件前数据被初始化了
现在远程看一下?
可以啊,用向日葵吗?
腾讯会议,你发个会议链接
点击链接入会,或添加至会议列表: https://meeting.tencent.com/dm/kDbLHfpK8zY1
Diga 请问LE0系列是否不支持powerdown唤醒后保持RAM内容?即不支持INIT_POR模式?
LE系列没有power down模式。
qinzhao MC系列也不支持对吧? 只能改scf文件,故意删掉一段RAM(中间不行,删末尾的),RamInit0也故意删掉一块。调系统复位函数,好像被删掉的RAM位置存的数据可以不丢。那么临时存(boot和app区共享)升级请求标志可以吧?
是的,MC也没有power down模式
Diga qinzhao 借贴请问一下,ram初始化一定要写5A5A5A5A吗,不能写随机数吗,有部分ram数据想在走软复位的时候不被初始化,但是好像不给那段ram写5a 就会hardfault,写了5a,之前的数据又被覆盖
默认初始化是5a5a,未初始化的部分去读取会产生ecc错误
曹文勋 想要软复位保持变量的话可以开一个ram段,把属性设置成por only,把想要保持的变量放到这个ram段
曹文勋 参考这个贴https://forum.ytmicro.com/topic/765/por_only%E5%8F%98%E9%87%8F%E5%88%9D%E5%A7%8B%E5%8C%96?_=1760961463832
快速上手云途开发生态
发帖前请查看
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...