Windows embedded compact 2013如何生成类型为BOOT_BIN_SIGNATURE_STORE签名的bin,即bootloader下载后是写入存储而不是直接载入RAM。
我采用ceboot bootloader。是从WEC7之后才增加的新的bootloader类型。
我研究了ceboot架构的bootloader开机流程。发现可以支持下载后写入存储。 该boot流程会检验bin的签名部分,需要开始6个字节是D000FF,即BOOT_BIN_SIGNATURE_STORE类型。
#define BOOT_BIN_SIGNATURE_RAM "B000FF\x0A"
#define BOOT_BIN_SIGNATURE_SIGNED_RAM "S000FF\x0A"
#define BOOT_BIN_SIGNATURE_RAW "N000FF\x0A"
#define BOOT_BIN_SIGNATURE_SIGNED_RAW "R000FF\x0A"
#define BOOT_BIN_SIGNATURE_STORE "D000FF\x0A"
#define BOOT_BIN_SIGNATURE_JUMP "J00000\x0A"
这是所有的类型。
ceboot的流程可以参考源码$(_TARGETPLATROOT)\src\boot\bldr\download.c中BootLoaderDownload function。其中做类型的判断的function BootDownloadImageType我分析过,就是下载前边header的7个字节,然后判断这个签名。
当进入BOOT_DOWNLOAD_IMAGE_STORE分支后,StoreImage function会根据bin的头部信息分区和格式化存储,并将下载的segment写入存储中。
这一流程是完整的,我透过直接修改bin文件的签名字节,可以让bootloader进入该流程,证明boot流程的正确。
我是在windows virtual pc上测试,存储驱动什么的支持都没有问题。我能够将nk.bin放到VHD上,直接load执行。
经过以上分析,我认为是RomImage过程的配置需要调整,但是我不知道要如何做才能生成这种STORE类型。 希望大家指点。 谢谢关注,分不够再加,好说。
------解决方案--------------------
这至少得2000分。
------解决方案--------------------
我想知道,这版块还有别人么
------解决方案--------------------
------解决方案--------------------
怎么样生成image, 这种问题,是个实时操作系统,他的用户手册上面都应该有吧!如果是付费的产品,你可以发email,论坛,国际长途call 他们的技术支持。RTOS光盘上面 有 这些 如何配置 的文档, 一般是 user guide
------解决方案--------------------
如果是免费产品,您搜索以下论坛,应该有人问同样的问题的。关键时找到文档,这种问题一看就是FAQ,新手必读的东西
------解决方案--------------------
------解决方案--------------------
这至少得2000分。
------解决方案--------------------
------解决方案--------------------
这至少得2000分。
------解决方案--------------------
这至少得2000分。
------解决方案--------------------
没人真心回答问题
------解决方案--------------------
真心看不懂
------解决方案--------------------
不懂.帮顶,帮顶的有份吗?
------解决方案--------------------
------解决方案--------------------
楼主的脚步够快的,都2013了,麻烦多分享下2013的开发。