工具/软件:Starterware
您好!
更新内部闪存上的固件时出现问题。 代码是来自 Stellaris 控制器的端口。 我可以启动 tm4c129控制器、连接到云、初始化文件系统并执行一些射频处理。但现在、我在触发固件更新时遇到问题。 我正在将新的 FW 更新下载到外部闪存文件系统。
我的链接器脚本寻址如下:
引导(Rx):origin = 0x00000000、length = 0x00007FF0 /
BOOTINFO (Rx):origin = 0x00007FF0,length = 0x00000010
闪存(Rx):origin = 0x00008000、length = 0x00073BC0
FLASHINFO (Rx):origin = 0x0007BBC0,length = 0x00000040
工厂(Rx):origin = 0x0007BC00,length = 0x00000400
CFG (Rx):origin = 0x0007C000,length = 0x00005000
我在引导加载程序中有一个自定义更新代码、该代码将在重新引导时检查并在必要时进行更新。
while (offset < fe->filesize){ FlashErase (START + OFFSET);// start 是应用程序起始地址、最初为0x8000、偏移量为0 偏移量+= 1024;// 1KB 大小 }
我注意到、0x7bbc0到0x7bbf4中的数据已存在、但0x7bbf8的其余数据已擦除、并且为-1或 ff、包括工厂块和 CFG 块。
我不知道问题是什么。
同样、我在使用 openocd 来刷写代码时注意到的问题也是如此。 因此、我需要完全擦除整个闪存并重新闪存。 我的 openocd 版本是
打开片上调试器0.10.0-DEV-00419-gbcaf775 (2016-11-23-16:36)
GNU GPL v2许可
我的.gdbinit 具有
复位
监控闪存写入映像擦除固件。AXF
任何帮助都将是伟大的。
谢谢你
库马尔