社区
嵌入开发(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吗?如何找到这个时间?
...全文
400
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高手呀
用模拟器加载基于ARM平台的
WinCE
6 0 内核(
NK
bin
)
用模拟器加载基于ARM平台的
WinCE
6 0 内核(
NK
bin
)
从零搭建
WINCE
6.0
开发环境:基于
VS
2005
与设备仿真器的完整指南
嵌入式操作系统是连接硬件与上层应用的关键软件层,它通过内核调度、驱动管理和资源抽象,为嵌入式设备提供稳定可靠的运行环境。其核心价值在于实现硬件资源的统一管理,并支持应用程序的跨平台移植。在工业控制、手持设备和物联网终端等场景中,嵌入式操作系统发挥着基石作用。本文聚焦于Windows Embedded CE
6.0
这一经典系统,详细解析如何利用Visual Studio
2005
和Platform Builder,从BSP选择、OS Design配置到系统镜像构建的全流程。内容涵盖设备仿真器的使用、组件依赖管
wince
6.0
vs
2005
编译
选项详解
c
在
WinCE
6.0
中,在
VS
2005
的"Build"菜单中,有一个“Advanced Build Commands”,其中有很多
编译
选项:
"Sysgen":相当于执行命令"blddemo -q”,一般第一次
编译
或者是改变了"Catalog"中的item的
时
候,就用这个了。
"Clean Sysgen":相当于执行命令"blddemo clean -q",按照文档上的说明,当修改了 %_
WINCE
ROOT%/Public/CEBASE/OAK
【转】
wince
6.0
vs
2005
编译
选项详解
http://www.cnblogs.com/hust_wsh/archive/2011/01/26/1945732.html 在
WinCE
6.0
中,在
VS
2005
的"Build"菜单中,有一个“Advanced Build Commands”,其中有很多
编译
选项: "Sysgen":相当于执行命令"blddemo -q”,一般第一次
编译
或者是改变了"Catalog"中的item的
时
候,就
AI-Artifact-Dependency-Tracker-v1.0-原创源码与文档.zip
原创本地工程审计与分析工具合集中的独立资源包。每个ZIP包含完整源码、3项自动化测试、可复现合成示例、离线HTML、JSON与SVG报告、1080×720真实运行效果图、README、运行说明、功能清单、MIT License及原创与授权声明。解压后进入project目录,执行npm test验证算法,执行npm run report生成报告,也可通过本地静态服务器打开网页。运行
时
零第三方依赖,不包含热点产品或开源项目源码、Logo、官方截图、论文、生产日志或其他受限素材。适合前端开发、AI应用工程、测试审计和课程实践。
嵌入开发(WinCE)
19,523
社区成员
41,565
社区内容
发帖
与我相关
我的任务
嵌入开发(WinCE)
硬件/嵌入开发 嵌入开发(WinCE)
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章