当前位置: 代码迷 >> WinCE >> wince6.0 VS2005打包产生NK.bin时,有没有把编译时间写进NK.bin呢?该怎么处理
  详细解决方案

wince6.0 VS2005打包产生NK.bin时,有没有把编译时间写进NK.bin呢?该怎么处理

热度:97   发布时间:2016-04-28 13:02:15.0
wince6.0 VS2005打包产生NK.bin时,有没有把编译时间写进NK.bin呢?
我现在要在底层升级NK.BIN时,判断是否是合理的,经过授权的年份编译的NK.BIN才能升级及烧写到flash。现在问题是:如何获得这个NK.BIN是什么时间编译的呢?PB有把编译时间打包进NK.BIN吗?如何找到这个时间?

------解决方案--------------------
获取OS的编译时间,需要os实现相关接口吧,在Deviceinfo.cpp中的函数OALIoCtlHalGetDeviceInfo实现,应用通过IOCTL_HAL_GET_DEVICE_INFO去获取。
------解决方案--------------------
例如:#define PRO_DATE (L"COMPILE:"TEXT(__DATE__ )L"-" TEXT(__TIME__ ))
------解决方案--------------------
nk.bin进行数字签名不就行了?只有正当来源的nk.bin才有加密,非加密的统统不予更新。
------解决方案--------------------
这个我也不知道,顶一下。好像bootloader里没有关于时间设置的吧
------解决方案--------------------
两个办法,
一,你搞个txt文件,修改一下toolchain,在makeimg的时候,把这个时间填进去,然后再一起打包到nk.bin里面;
二,你不是要判断能否升级吗?生成的nk.bin先加密,然后再挂到网上去,bootloader在执行升级之前,先检查nk.bin这个文件数字签名,或者用正确的私钥解密。
------解决方案--------------------
探讨

引用:
两个办法,
一,你搞个txt文件,修改一下toolchain,在makeimg的时候,把这个时间填进去,然后再一起打包到nk.bin里面;
二,你不是要判断能否升级吗?生成的nk.bin先加密,然后再挂到网上去,bootloader在执行升级之前,先检查nk.bin这个文件数字签名,或者用正确的私钥解密。

感谢这位大侠提供的思路。不知你有没有实现过。我觉得……

------解决方案--------------------
探讨

引用:

见笑了,还真不懂怎么往NK.BIN里塞一个文件。能帮忙写几行代码吗?是不是:open(nkfile,..),seek(nkfile,...),append(nkfile,txtfile).. ?? 谢谢codewarrior

不是啊,修改bib文件,然后重新make image
  相关解决方案