请教一下,在ota升级 传输app的bin文件过程中出现下述情况,是不是因为 app bin文件有128k ,codeflash总共为128k 但是写入起始位置为0x4000,所以app 的数据还没写完 codeflash'空间就用完了,才导致这样?
我这样设置出来是119K, 前面0-2000H是8K, 你搞不定就把工程发给我
你分离出来的文件名是flash4000-1FFFF.bin, 你给我的是uart3.bin, 两个文件不是一码事.
你用xmodem传输的文件应该是flash4000-1FFFF.bin, 这个才是app的数据, 用错文件了!!!
Boot的user_def.h, 有存放CRC的宏 计算出来存放CRC的地址分别是1FBFCH, 1FBF8H, 1FBF4H
然后CRC的存放地址在 FBF4这里, 相差了64K, 怎么可能不updated failed. 你再看看哪里错了
黄工,我把CRC相关的设置改了下
CRC部分应该没问题了吧
结果是程序跑飞了
我对照例程又看了一遍,发现不同的地方,也是可能造成这种问题的地方就是section的分配了,因为我是两个工程独立创建的 所以我也不确定section该怎么分配才是正确的 您看我这种分配是不是导致程序跑飞的原因呢?
自己做个excel表, 把对应的地址列出来如下图, 不同ROM size 实际上就是改动 黄色的部分,
独立的工程没有问题, 既然没有单独给stack设定, 就不要有这个段. 你设置了这个段, 就要按照样例程序修改asm文件.这个和启动文件有关.
黄工 这几个文件我没有添加到我的boot狗工程里面,因为我在别的帖子里看到独立工程不需要这几个文件 ,我想向您确认一下,这几个文件是不是移植的必需文件?(我尝试过将这几个文件添加进boot工程,但是编译会出错)
黄工 能给个联系方式吗?我实在搞不定了,麻烦您有偿指导下可以吗?
留下邮箱,
你基于一个样例移植, 不要几个不同的样例搅和在一起, 每个人写的bootloader不完全一样. 但实现的功能是一样的.
[email protected]
ocdrom_ce.asm和这里的设置是一回事
如果你在这样设置成Yes, 就不需要ocdrom_ce.asm, 如果你设置成No, 就需要这个文件.
所以建议你基于一个工程去移植,