WINCE eboot从TF卡读取镜像文件stepldr.nb0,如何判断是新的还是老的文件
平台:WINCE6.0+S3C2451
平台升级方式:TF卡升级
由于我们之前发布了一些版本的系统,后面也会周期性的发布新的系统,那么客户很有可能由新的系统升级为旧的系统,但由于我们新的flash升级为旧系统后无法起来,为了避免这样的情况,我的想法是:
在eboot从TF卡读取stepldr.nb0的时候,能够从stepldr.nb0的内容能够区分出这时候要升级的是老系统还是新系统,如果是老系统我们就阻止升级,这是我的大的思路,但还不知道怎么实现,在此麻烦大家分享下是实现的细节,先谢谢了。
------解决方案--------------------NB0文件一般数据不会满,最后一般会有一段0,你可以在这段里边加版本号,SD卡读的时候判断一下最后那段的版本号
------解决方案--------------------自己再单独写一个PC上的EXE程序,控制台程序就行,然后在makefile.inc里边去call它,顺便把文件路径,版本号之类的通过参数传给它
------解决方案--------------------我们是将NB0转成一个新的文件,文件头带版本号和长度的,当然内容也加密了
------解决方案--------------------你们烧的是nb0?那么确实可以如Veabol说的那样去做,后面基本都是0.
你还可以存下当前的版本号,然后于升级的nb0比较,看到版本比较新才升级。
------解决方案--------------------具体原因不清楚,有可能是你的BSP某个地方又更新了stepldr.nb0,比如是不是copy files to release directory,解决办法是在工程属性里边加入post makeimage的命令调用一个批处理文件,在批处理文件里边再去执行这个call命令