阅读:2984回复:12
关于制作出来XIP.bin文件后的疑问
在拜读了king_sundi大侠的《Windows CE 5.0 mult-xip bin模式实现》和zhengshijie大侠的《MULTI BIN的wince 5.0,smdk2440下的实现》的文章后,修改了wince的BSP的确是编译出来了XIP.bin,chain.bin,NK.bin,XIPKERNEL.bin和XIP.nb0文件,可是,直接烧写XIPKERNEL.bin,然后引导会出现类似这样的错误
“Data Abort: Thread=8ffe6000 Proc=8d066070 'filesys.exe' AKY=00000003 PC=03f9e9cc(coredll.dll+0x0002e9cc) RA=03f9e9a4(coredll.dll+0x0002e9a4) BVA=04000000 FSR=00000007 Data Abort: Thread=8ffe6000 Proc=8d066070 'filesys.exe' AKY=00000003 PC=03f9e9cc(coredll.dll+0x0002e9cc) RA=03f9e9a4(coredll.dll+0x0002e9a4) BVA=04000000 FSR=00000007 Dta Abort: Thread=8ffe6000 Proc=8d066070 'filesys.exe' AKY=00000003 PC=8c22cca0(NK.EXE+0x0002cca0) RA=8c22cc8c(NK.EXE+0x0002cc8c) BVA=03f01b30 FSR=00000007” 然后剩下的几个bin文件也不知道怎么烧写到Nand Flash和读取引导它们,我个人认为应该是要使用eboot来烧写它们,不过具体步骤就不清楚了。 希望哪个大侠能够讲解一下,谢谢了。 |
|
沙发#
发布于:2008-07-07 09:32
烧写XIP.NB0
|
|
板凳#
发布于:2008-07-07 10:21
烧写NB0格式之后,启动速度怎么样?
|
|
地板#
发布于:2008-07-07 14:31
你提示的错误信息,是你的文件系统没加载成功,请注意相关组件要打包到xipkernel里去。
|
|
地下室#
发布于:2008-07-07 21:38
使用viewbin命令查看了XIP.bin文件,发现缺少一个名为:smflash.dll的文件,我查找了编译生成的文件中也没有这个文件,不知道它是又什么文件生成的。
|
|
5楼#
发布于:2008-07-07 21:58
smflash.dll 是你的nand flash驱动
|
|
6楼#
发布于:2008-07-08 00:31
我找了整个编译出来的文件,就是没有找到它,有点奇怪。
|
|
7楼#
发布于:2008-07-08 12:42
发现smflash.dll是在名为SMDK2440A这个包的基础上编译出来的,而我使用的是SMDK2440这个包,编译出来的Nand Flash的驱动文件是:FLASHDRV.DLL,不过它却没有包含进XIP.bin文件。奇怪了。
|
|
8楼#
发布于:2008-07-09 15:18
帮顶一下
|
|
9楼#
发布于:2008-07-10 03:00
FLASHDRV.dll 就是smflash.dll
都是link fal.lib + fmd.lib = flashdriver.dll 都是流接口的块设备, DSK_Init, DSK_Read... 所以, 从结构和原理上分析, 只是最终dll的名字不同, 你甚至直接rename就可以替换. 当然bib和reg里面的块驱动的名称也要与此统一. |
|
10楼#
发布于:2008-07-10 10:38
问一下楼上的,我烧XIP.bin后系统烧不进去,系统起动一半后又跳到烧写的地方,是什么原因?eboot不支持吗?
|
|
11楼#
发布于:2008-07-10 11:11
就是下载后起动到:
FMD::FMD_Init TOC_ReadLK=200MH FMD: ECC ERROR - Page #: 608 USB: IN_ENDPOINT:1 OUT_END FMD: Unable to correct the ECC error - Page #: 608DDR(DATA):4>+<SIZE(n+10):4>+<DATA:n>+<CS:2> TOC_Read ERROR: Unable to read TOC NAND device: Manufactu TOC_Init: dwEntry:1, dwImageType: 0x6, dwImageStart: 0x0, dwImageLength: 0x0, dw Could not found stored vivi parameters. Use LaunchAddr: 0x0ameters. +BootConfigInit -BootConfigInit 就跑飞了. |
|
12楼#
发布于:2008-07-10 16:15
Windows CE Kernel for ARM (Thumb Enabled) Built on Jun 24 2004 at 18:25:00
ProcessorType=0920 Revision=0 sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 80211dbc DCache: 8 sets, 64 ways, 32 line size, 16384 size ICache: 8 sets, 64 ways, 32 line size, 16384 size Sp=ffffc7cc OEMIoControl: Unsupported Code 0x10100b4 - device 0x0101 func 45 OEMIoControl: Unsupported Code 0x101008c - device 0x0101 func 35 FMD::FMD_Init FMD::FMD_Init - pBSPArgs->nfsblk = 0x0 FMD::FMD_Init - READ_REGISTER_BYTE(pNFSBLK) = 0x0 FMD::FMD_Init IPL ..... FMD::FMD_Init Done MID = 0xec, DID = 0x76 4th Cycle : 0xa5 NUMBLOCKS : 512(0x200), SECTORSPERBLOCK = 256(0x100), BYTESPERSECTOR = 512(0x200) FMD_OEMIoControl: unrecognized IOCTL (0x71c24). OEMIoControl: Unsupported Code 0x1010104 - device 0x0101 func 65 OEMIoControl: Unsupported Code 0x1010118 - device 0x0101 func 70 OEMIoControl: Unsupported Code 0x10100c4 - device 0x0101 func 49 OEMIoControl: Unsupported Code 0x10100c4 - device 0x0101 func 49 按照资料,启动后卡到这里了,有高手说是系统mbr读取有问题?? 我不是太明白,这部分代码在那里? 再请高手赐教! |
|