B1MC03中,SDK1.3.1与1.4.0遇到的boot跳转标志位问题
-
目前我这边做app跳转到boot,使用论坛的1.3.1的SDK的刷写demo,中的__attribute__((section(".fbl_bss"))) volatile uint32_t KeepInBootVar;
能实现跳转标志位在RAM中固定区域不被清除,但是把这个icf链接表内容移植到SDK1.4.0中,每次app置1,在boot中调试就变成0x5A5A5A5A了。


我对照了icf链接表内容,1.4.0的boot是完全按照论坛1.3.1的demo移植的 -
z123456111
APP和BOOT共享变量的保持需要通过链接文件和RamInit0函数共同保证,你这个看起来是这个数据段被ECC初始化写过了。
1.检查一下RamInit0是否有下图操作(如果是手动移植代码可能会遗漏)

2.检查下main函数中是否有清除POR上电复位标志。

总的来说SDK版本的迭代和链接文件的修改都不要用手动移植的方式,一定要用工具去配置生成,手动移植把握不住,容易有遗漏
-
YQH 在 B1MC03中,SDK1.3.1与1.4.0遇到的boot跳转标志位问题 中说:
z123456111
APP和BOOT共享变量的保持需要通过链接文件和RamInit0函数共同保证,你这个看起来是这个数据段被ECC初始化写过了。
1.检查一下RamInit0是否有下图操作(如果是手动移植代码可能会遗漏)

2.检查下main函数中是否有清除POR上电复位标志。

总的来说SDK版本的迭代和链接文件的修改都不要用手动移植的方式,一定要用工具去配置生成,手动移植把握不住,容易有遗漏
嗯嗯·,谢谢,找到了,RamInit0是没有对刷写标志位进行判定的,我这边加了过后就好了
快速上手云途开发生态
发帖前请查看
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...