我现在要在底层升级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这个文件数字签名,或者用正确的私钥解密。
------解决方案--------------------
------解决方案--------------------