IMX515 EVK板上WINCE6.0的BINFS HIVEREG编译和烧录
重要的链接:https://community.freescale.com/message/280827#280827
下载相关的《README.txt.zip》、《Mfgtools-Rel-WCE600_11.04.00_update.zip》和《WINCE600_ER1104_BINFS HIVEREGROMFS_2014_07_16.zip》
For MultiBINsystem, the EBOOT don't need read the full NK from SDMMC card to memory forWinCE running. It just need to read the RAMIMAGE bin to memory for boot, andthis bin is only 3MB, so it can reduce the WinCE boot time.
The followed is the example to support MultiBIN onSDMMC device, as we know, for BINFS solution, the block devicedriver(sdmemory.dll) should be loaded by storage manager, but the originalSDMMC driver architecture can't meet such requirement, so here we customerizedthe SDMMC driver for the boot ESDHC port.
1. 下载和安装WCE600_10.04.01_ER.msi
生成OSDesigns、PLATFORM和SUPPORT文件夹,编译生成并通过cfimager.exe下载xldr.nb0、eboot.nb0和nk.nb0,烧录方式参考:
http://blog.csdn.net/loongembedded/article/details/24795863
2. 实现BINFS+HIVEREG
解压《WINCE600_ER1104_BINFS HIVEREGROMFS_2014_07_16.zip》并替换之前的文件,编译生成xldr.nb0、eboot.nb0和xip.nb0,根据平台的内存来设置内存的环境变量,因为我们的EVK平台被拆了256MB的内存,所以需要在bat文件设置:
set IMGRAM256=1
3. 烧录xldr.nb0、eboot.nb0和xip.nb0
Xldr.nb0文件的烧录命令和之前一样,如下:
cfimager -fxldr.nb0 -d <card reader drive letter without colon> -imx51
eboot的烧录命令如下:
cfimager -feboot.nb0 -d F -raw -offset 0x20000
xip.nb0:
cfimager -fxip.nb0 -d F -raw -offset 0Xc0000
这里地址不能搞错了,否则无法启动。
4. 系统启动
进入系统后看到SDMMC盘符,但我们用于测试的《使用手册_C5.exe》无法打开
增加.NET Compact Framework 3.5d的相关组件和中文字库可打开
5. 测试结果
(1) RAMand ROM file system
(2) ROM-onlyfile system
打开《使用手册_C5.exe》的时间,这两种文件系统大概在2.23m,C3000上多了1s左右的时间。
试过把显示相关的也放在kernel部分,且修改config.bib,但启动时出错,无法进入系统
………..
SDMemory:hCardReadyEvent Done.
OEM: Not cleaningsystem hive
OEM: Not cleaninguser profiles
Exception 'DataAbort' (4): Thread-Id=005d0002(pth=8ffa7120), Proc-Id=00400002(pprc=8065b308)'NK.EXE', VM-active=00400002(pprc=8065b308) 'NK.EXE'
PC=c015b86c(filesys.dll+0x0000b86c)RA=c015b864(filesys.dll+0x0000b864) SP=d00bf97c, BVA=d074e1d4
OEM: Not cleaningsystem hive
Exception 'DataAbort' (4): Thread-Id=005d0002(pth=8ffa7120), Proc-Id=00400002(pprc=8065b308)'NK.EXE', VM-active=00400002(pprc=8065b308) 'NK.EXE'
PC=c015b86c(filesys.dll+0x0000b86c)RA=c015b864(filesys.dll+0x0000b864) SP=d00bf9a4, BVA=d074e1d4
………..