社区
嵌入开发(WinCE)
帖子详情
wince6.0 VS2005打包产生NK.bin时,有没有把编译时间写进NK.bin呢?
zhengmeifu
2012-04-19 02:07:48
我现在要在底层升级NK.BIN时,判断是否是合理的,经过授权的年份编译的NK.BIN才能升级及烧写到flash。现在问题是:如何获得这个NK.BIN是什么时间编译的呢?PB有把编译时间打包进NK.BIN吗?如何找到这个时间?
...全文
379
20
打赏
收藏
wince6.0 VS2005打包产生NK.bin时,有没有把编译时间写进NK.bin呢?
我现在要在底层升级NK.BIN时,判断是否是合理的,经过授权的年份编译的NK.BIN才能升级及烧写到flash。现在问题是:如何获得这个NK.BIN是什么时间编译的呢?PB有把编译时间打包进NK.BIN吗?如何找到这个时间?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhengmeifu
2012-06-07
打赏
举报
回复
哦,学习了。感谢楼上的说了这么多!!谢谢!
会思考的草
2012-06-06
打赏
举报
回复
[Quote=引用 18 楼 的回复:]
引用 17 楼 的回复:
引用 16 楼 的回复:
你先在bib文件里面加上你的时间戳文件的名字……
这个是好方法,但是如何在eboot里读取找到及定位到NK.BIN里的这个时间戳文件呢?
[/Quote]
如果在eboot里面做的话就有点复杂了,牵涉到解析文件系统。比较彻底的解决办法是抛弃eboot,使用类似windows mobile系统升级的办法,定制一个极小的ce系统(WM中叫ULDR),利用此系统来加载现成的IMGFS/BINFS文件系统驱动,绕过自己解析文件系统的工作,在此系统中可以读写OS分区文件,取得当前的OS系统的时间戳,并与下载下来的OS image的时间戳比较,决定是否升级。
额外的一个好处就是,系统升级的工作也可以在此ULDR下进行,Windows mobile的系统升级过程大抵也是这样做的。bootloader根据一些flag(可能是硬件按键事件,也可能是软件触发),决定是加载OS正常启动,还是加载ULDR进入升级模式,其实Android的Recovery mode也是类似的做法。
zhengmeifu
2012-06-01
打赏
举报
回复
[Quote=引用 17 楼 的回复:]
引用 16 楼 的回复:
你先在bib文件里面加上你的时间戳文件的名字……
[/Quote]
这个是好方法,但是如何在eboot里读取找到及定位到NK.BIN里的这个时间戳文件呢?
会思考的草
2012-05-31
打赏
举报
回复
[Quote=引用 16 楼 的回复:]
引用 14 楼 的回复:
见笑了,还真不懂怎么往NK.BIN里塞一个文件。能帮忙写几行代码吗?是不是:open(nkfile,..),seek(nkfile,...),append(nkfile,txtfile).. ?? 谢谢codewarrior
不是啊,修改bib文件,然后重新make image
[/Quote]
你先在bib文件里面加上你的时间戳文件的名字路径,然后在makeimage之前把这个时间戳文件更新一下,写上当前时间,不就行了。
会思考的草
2012-05-31
打赏
举报
回复
[Quote=引用 14 楼 的回复:]
见笑了,还真不懂怎么往NK.BIN里塞一个文件。能帮忙写几行代码吗?是不是:open(nkfile,..),seek(nkfile,...),append(nkfile,txtfile).. ?? 谢谢codewarrior
[/Quote]
不是啊,修改bib文件,然后重新make image
zhengmeifu
2012-05-16
打赏
举报
回复
见笑了,还真不懂怎么往NK.BIN里塞一个文件。能帮忙写几行代码吗?是不是:open(nkfile,..),seek(nkfile,...),append(nkfile,txtfile).. ?? 谢谢codewarrior
会思考的草
2012-05-16
打赏
举报
回复
[Quote=引用 11 楼 的回复:]
引用 10 楼 的回复:
两个办法,
一,你搞个txt文件,修改一下toolchain,在makeimg的时候,把这个时间填进去,然后再一起打包到nk.bin里面;
二,你不是要判断能否升级吗?生成的nk.bin先加密,然后再挂到网上去,bootloader在执行升级之前,先检查nk.bin这个文件数字签名,或者用正确的私钥解密。
感谢这位大侠提供的思路。不知你有没有实现过。我觉得……
[/Quote]
第一种就是生成镜像的时候往ROM里面塞个文件,这还不简单?
zhengmeifu
2012-05-15
打赏
举报
回复
每天顶一下。等待高手来指点。
会思考的草
2012-05-11
打赏
举报
回复
两个办法,
一,你搞个txt文件,修改一下toolchain,在makeimg的时候,把这个时间填进去,然后再一起打包到nk.bin里面;
二,你不是要判断能否升级吗?生成的nk.bin先加密,然后再挂到网上去,bootloader在执行升级之前,先检查nk.bin这个文件数字签名,或者用正确的私钥解密。
zhengmeifu
2012-05-11
打赏
举报
回复
[Quote=引用 10 楼 的回复:]
两个办法,
一,你搞个txt文件,修改一下toolchain,在makeimg的时候,把这个时间填进去,然后再一起打包到nk.bin里面;
二,你不是要判断能否升级吗?生成的nk.bin先加密,然后再挂到网上去,bootloader在执行升级之前,先检查nk.bin这个文件数字签名,或者用正确的私钥解密。
[/Quote]
感谢这位大侠提供的思路。不知你有没有实现过。我觉得第二种比较可行。但第一种实现起来容易些。能否再详细一点描述一下第一种方法。或者如何联系你?谢谢!
zhengmeifu
2012-05-09
打赏
举报
回复
bootloader里没有包含系统编译时的时间记录。
zhengmeifu
2012-05-07
打赏
举报
回复
[Quote=引用 6 楼 的回复:]
nk.bin进行数字签名不就行了?只有正当来源的nk.bin才有加密,非加密的统统不予更新。
[/Quote]
能详细点解释吗?数字签名在NK.BIN文件的哪里呢?谢谢!
oglsy
2012-04-29
打赏
举报
回复
这个我也不知道,顶一下。好像bootloader里没有关于时间设置的吧
会思考的草
2012-04-28
打赏
举报
回复
nk.bin进行数字签名不就行了?只有正当来源的nk.bin才有加密,非加密的统统不予更新。
zhengmeifu
2012-04-27
打赏
举报
回复
再顶下
zhengmeifu
2012-04-20
打赏
举报
回复
谢谢楼上大侠指点。我需要的时间不是进入OS后的,而是在bootloader阶段的,bootloader接收到NK.BIN镜像后要知道镜像里面的时间的。再谢!
月之海
2012-04-19
打赏
举报
回复
例如:#define PRO_DATE (L"COMPILE:"TEXT(__DATE__ )L"-" TEXT(__TIME__ ))
月之海
2012-04-19
打赏
举报
回复
获取OS的编译时间,需要os实现相关接口吧,在Deviceinfo.cpp中的函数OALIoCtlHalGetDeviceInfo实现,应用通过IOCTL_HAL_GET_DEVICE_INFO去获取。
zhengmeifu
2012-04-19
打赏
举报
回复
自己顶下,等待91program高手呀
WinCE
6.0
中文模拟器
NK
.
bin
自己闲来无事PB的一个
WinCE
6.0
中文模拟器,支持多媒体、.Net2.0,在ARM的机器上测试过,可以流畅的播放视屏文件
WINCE
6.0
x86
WINCE
6.0
X86触摸驱动,更好的在该系统下应用触摸屏
使用U盘制作
WinCE
6.0
的启动盘研究.doc
使用U盘制作
WinCE
6.0
的启动盘研究.doc,使用物理机器模拟x86
WinCE
平台,使用U盘做启动盘的研究。
WINCE
6.0
入门资料
WINCE
6.0
入门资料,安装
WINCE
6.0
,初步烧写
NK
.
BIN
OK6410
WINCE
6.0
烧写自己
编译
的内核
引用《OK6410开发板
WINCE
6.0
用户手册2.00(图文版)》中的步骤,OK6410开发板
WINCE
6.0
操作系统开发环境配置,重点是拷贝完整自己的
编译
文件STEPLDR.nb0、STEPLDR.
bin
、EBOOT.nb0、EBOOT.
bin
、
NK
.
bin
,使用正确的方法烧录自己
编译
的内核文件。
嵌入开发(WinCE)
19,524
社区成员
41,565
社区内容
发帖
与我相关
我的任务
嵌入开发(WinCE)
硬件/嵌入开发 嵌入开发(WinCE)
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章