最近在搞usb更新nboot,eboot,logo,nk, 芯片是sirf_A4, 下载软体是别人写的utility,自己增加了更新logo的更能,改了eboot 代码,问题如下:
1.先更新logo,再新其它的image(包括logo) ok.
2.先更新eboot(nboot,nk),再更新logo程序就会死掉
我调试了一下,发现就是跑在 AtlasWriteBlock2Device 这里就挂了,搞了很久,还是找不到根源,希望高手能给我一些好的idea.
logo没有单独的什么“logo”程序吧,应该只是一段数据而已。你提供的信息很有限,没法给你具体的答复,你单独更新eboot有没有问题?
如楼上所说 LOGO只是一段数据而已 ,只是调用前后关系吧。
引用: 引用 1 楼 yashi 的回复:
logo没有单独的什么“logo”程序吧,应该只是一段数据而已。你提供的信息很有限,没法给你具体的答复,你单独更新eboot有没有问题?
单独更新任何image都没问题,只是在更新logo之前更新其它的image就会挂掉
我添加的更新logo代码是按照更新eboot代码改的,没什么区别
你不会把logo的数据非法覆盖掉了正常的Image了吧。
sirf_A4?A4的BSP没有带升级的code吗?怪异。。。。
引用: 引用 4 楼 xajhuang 的回复:
你不会把logo的数据非法覆盖掉了正常的Image了吧。
有同感
检查一下更新前分配给Image,LOGO等各个区域的地址,大小,看有没有冲突
引用: 引用 7 楼 hzdysymbol 的回复:
引用 4 楼 xajhuang 的回复:
你不会把logo的数据非法覆盖掉了正常的Image了吧。
有同感
检查一下更新前分配给Image,LOGO等各个区域的地址,大小,看有没有冲突
有可能, 不过我觉得即使这样,也应该下载成功,只是启动有问题,现在是下载logo就挂了。
反正来检查看看。
那你检查下下载的格式是不是正确,下载BIN文件的时候系统会自动解压,你下载LOGO文件明显不是BIN格式,有可能下载的代码把你LOGO文件当BIN文件处理去解压,这样肯定挂。
logo格式是.raw,这个应该没问题,我下载logo更新没问题
只是在下载logo之前下载eboot(nboot, nk),再下载logo就挂
问题解决了!哈哈!!!
原来logo太大,buffer 小了!