亚瑟王
驱动牛犊
驱动牛犊
  • 注册日期2006-07-18
  • 最后登录2009-06-12
  • 粉丝1
  • 关注0
  • 积分7分
  • 威望9点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:2984回复:12

关于制作出来XIP.bin文件后的疑问

楼主#
更多 发布于:2008-07-06 12:52
在拜读了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来烧写它们,不过具体步骤就不清楚了。

希望哪个大侠能够讲解一下,谢谢了。
harktrip
驱动小牛
驱动小牛
  • 注册日期2003-11-30
  • 最后登录2016-01-09
  • 粉丝1
  • 关注0
  • 积分51分
  • 威望457点
  • 贡献值0点
  • 好评度170点
  • 原创分0分
  • 专家分2分
沙发#
发布于:2008-07-07 09:32
烧写XIP.NB0
亚瑟王
驱动牛犊
驱动牛犊
  • 注册日期2006-07-18
  • 最后登录2009-06-12
  • 粉丝1
  • 关注0
  • 积分7分
  • 威望9点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-07-07 10:21
烧写NB0格式之后,启动速度怎么样?
king_sundi
驱动牛犊
驱动牛犊
  • 注册日期2006-07-31
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望238点
  • 贡献值1点
  • 好评度54点
  • 原创分0分
  • 专家分5分
地板#
发布于:2008-07-07 14:31
你提示的错误信息,是你的文件系统没加载成功,请注意相关组件要打包到xipkernel里去。
亚瑟王
驱动牛犊
驱动牛犊
  • 注册日期2006-07-18
  • 最后登录2009-06-12
  • 粉丝1
  • 关注0
  • 积分7分
  • 威望9点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2008-07-07 21:38
使用viewbin命令查看了XIP.bin文件,发现缺少一个名为:smflash.dll的文件,我查找了编译生成的文件中也没有这个文件,不知道它是又什么文件生成的。
wenzai
驱动中牛
驱动中牛
  • 注册日期2002-04-16
  • 最后登录2011-03-04
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望424点
  • 贡献值0点
  • 好评度309点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2008-07-07 21:58
smflash.dll 是你的nand flash驱动
亚瑟王
驱动牛犊
驱动牛犊
  • 注册日期2006-07-18
  • 最后登录2009-06-12
  • 粉丝1
  • 关注0
  • 积分7分
  • 威望9点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2008-07-08 00:31
我找了整个编译出来的文件,就是没有找到它,有点奇怪。
亚瑟王
驱动牛犊
驱动牛犊
  • 注册日期2006-07-18
  • 最后登录2009-06-12
  • 粉丝1
  • 关注0
  • 积分7分
  • 威望9点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2008-07-08 12:42
发现smflash.dll是在名为SMDK2440A这个包的基础上编译出来的,而我使用的是SMDK2440这个包,编译出来的Nand Flash的驱动文件是:FLASHDRV.DLL,不过它却没有包含进XIP.bin文件。奇怪了。
xyj8303
驱动小牛
驱动小牛
  • 注册日期2007-05-28
  • 最后登录2009-04-01
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望137点
  • 贡献值0点
  • 好评度103点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2008-07-09 15:18
帮顶一下
high
论坛版主
论坛版主
  • 注册日期2002-08-10
  • 最后登录2010-07-26
  • 粉丝4
  • 关注0
  • 积分60分
  • 威望655点
  • 贡献值0点
  • 好评度56点
  • 原创分0分
  • 专家分60分
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里面的块驱动的名称也要与此统一.
xyj8303
驱动小牛
驱动小牛
  • 注册日期2007-05-28
  • 最后登录2009-04-01
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望137点
  • 贡献值0点
  • 好评度103点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2008-07-10 10:38
问一下楼上的,我烧XIP.bin后系统烧不进去,系统起动一半后又跳到烧写的地方,是什么原因?eboot不支持吗?
xyj8303
驱动小牛
驱动小牛
  • 注册日期2007-05-28
  • 最后登录2009-04-01
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望137点
  • 贡献值0点
  • 好评度103点
  • 原创分0分
  • 专家分0分
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              就跑飞了.
roman
驱动牛犊
驱动牛犊
  • 注册日期2006-05-29
  • 最后登录2008-07-22
  • 粉丝1
  • 关注0
  • 积分291分
  • 威望31点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
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读取有问题??
我不是太明白,这部分代码在那里?

再请高手赐教!
游客

返回顶部