我想进行程序在线升级,但是不知道散列表文件如何写。
先说下我的思路,我的程序分为两部分,系统程序和用户程序,程序升级时只升级用户程序即可。系统程序放在0~3区,用户程序放在8~17区。
系统程序在运行时,PC机通过USB发送更新程序命令,把用户程序下载到FLASH中(19~21区),然后置位程序更新标志位,系统自动重启。
MIAN文件负责上电后检测程序更新标志位是否置位,已经置位的话,通过写FLASH方式把19~21区中的数据复制到8~17区,然后清除程序更新标志位,系统重启,这样上电后就执行了新程序,程序更新完成。
现在程序没问题,是散列表文件出了问题,程序稍微改动后,升级完成的话新程序无法正常运行。
------解决方案--------------------
请注意:
BOOT程序中有一个跳转指令。
请参看datasheet。
------解决方案--------------------
我使用的是外部FLASH 不存在散列表文件
------解决方案--------------------
测试一下,看看性能怎么样
------解决方案--------------------
.sct文件配置上是有问题的,同一个Flash怎么分成两个了?其实也没必要去划分区域.个人看法,供参考