qq302011
驱动牛犊
驱动牛犊
  • 注册日期2005-05-11
  • 最后登录2016-01-09
  • 粉丝3
  • 关注0
  • 积分26分
  • 威望136点
  • 贡献值1点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:3654回复:19

请教关于MUTLI-BIN的问题,请大师们指点

楼主#
更多 发布于:2008-10-29 10:33
各位大师:
您们好!
我知道您们实现了MUTI-BIN的技术,我也想研究下,我在做试验的过程中出现了一些问题,我想请教您关于muti-bin的问题,能否指点我一下,
我的情况是这样的:
1.我定义了IMGMUTLIBIN=1,同时选择了HIVE-BASE registry
2.我的config.BIB文件如下:

MEMORY
pdwXIPLoc 00000000 803FF000 FIXUPVAR
XIPKERNEL 80200000 001FF000 RAMIMAGE
CHAIN 803FF000 00001000 RESERVED
NK 80400000 01E00000 NANDIMAGE
RAM 80400000 03000000 RAM
FLASH 92000000 00100000 RESERVED

; Common RAM areas
AUD_DMA 80002000 00000800 RESERVED
SDIO_DMA 80010000 00010000 RESERVED
ARGS 80020800 00000800 RESERVED
DBGSER_DMA 80022000 00002000 RESERVED
SER_DMA 80024000 00002000 RESERVED
IR_DMA 80026000 00002000 RESERVED
SLEEP 80028000 00002000 RESERVED
EDBG 80030000 00020000 RESERVED
DISPLAY 80100000 00100000 RESERVED

CONFIG
AUTOSIZE=ON
COMPRESSION=ON
DLLADDR_AUTOSIZE=ON
KERNELFIXUPS=ON
PROFILE=ON
ROMFLAGS=0
;ROMSIZE = 01E00000
;ROMSTART = 800B8000
;ROMWIDTH = 32
ROM_AUTOSIZE = OFF
XIPSCHAIN=803FF000


3. 我的platform.bib如下:
;;;;;我并没有删除原来打包到NK.BIN的文件,就是说这些文件可能打包了两次,不晓得有问题没?

;MODULES
; Name Path Memory Type
; -------------- --------------------------------------------- -----------
nk.exe $(_FLATRELEASEDIR)\kern.exe XIPKERNEL SH
coredll.dll $(_FLATRELEASEDIR)\coredll.dll XIPKERNEL SH
filesys.exe $(_FLATRELEASEDIR)\filesys.exe XIPKERNEL SH
fatfsd.dll $(_FLATRELEASEDIR)\fatfsd.dll XIPKERNEL SH
diskcache.dll $(_FLATRELEASEDIR)\diskcache.dll XIPKERNEL SH
fatutil.dll $(_FLATRELEASEDIR)\fatutil.dll XIPKERNEL SH
binfs.dll $(_FLATRELEASEDIR)\binfs.dll XIPKERNEL SH
fsdmgr.dll $(_FLATRELEASEDIR)\fsdmgr.dll XIPKERNEL SH
mspart.dll $(_FLATRELEASEDIR)\mspart.dll XIPKERNEL SH
ceddk.dll $(_FLATRELEASEDIR)\ceddk.dll XIPKERNEL SH
smflash.dll $(_FLATRELEASEDIR)\smflash.dll XIPKERNEL SH





;FILES
boot.hv $(_FLATRELEASEDIR)\boot.hv XIPKERNEL SH
default.hv $(_FLATRELEASEDIR)\default.hv XIPKERNEL SH
user.hv $(_FLATRELEASEDIR)\user.hv XIPKERNEL SH



4. 我的platform.reg如下:
;HIVE BOOT SECTION
IF BSP_NONANDFS !
[HKEY_LOCAL_MACHINE\init\BootVars]
"SYSTEMHIVE"="System.hv"
"Start DevMgr"=dword:1
; "Flags"=dword:3
"RegistryFlags"=dword:1
"DefaultUser"="avantech"

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SMFLASH]
"DefaultFileSystem"="FATFS"
"AutoPart"=dword:1
"AutoMount"=dword:1
"AutoFormat"=dword:1
"MountAsBootable"=dword:1
"MountAsRoot"=dword:1
"PartitionDriver"="mspart.dll"
"Name"="Microsoft Flash Disk"
"Folder"="ResidentFlash"
"BootPhase"=dword:0
"Flags"=dword:1000

; Keep FATFS from trying to shadow \Windows
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SMFLASH\FATFS]
"FriendlyName"="FAT FileSystem"
"Dll"="fatfsd.dll"
"Flags"=dword:00000024
"Paging"=dword:1
"CacheSize"=dword:0
"EnableCacheWarm"=dword:0
"EnableCache"=dword:1
"Flags"=dword:1000

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SMFLASH]
"Prefix"="DSK"
"Dll"="smflash.dll"
"Index"=dword:1
"Order"=dword:0
"Profile"="SMFLASH"
"IClass"="{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
"Flags"=dword:1000

[HKEY_LOCAL_MACHINE\System\StorageManager\FATFS]
"Flags"=dword:00000014
"MountFlags"=dword:2

[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\SMFLASH]
"DriverPath"="Drivers\\BuiltIn\\SMFLASH"
; LoadFlags 0x01 == load synchronously
"LoadFlags"=dword:1
"BootPhase"=dword:0
"Flags"=dword:1000

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Support BINFS Section
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Add BinFS to partition table
[HKEY_LOCAL_MACHINE\System\StorageManager\PartitionTable]
"21"="BINFS"

[HKEY_LOCAL_MACHINE\System\StorageManager\BINFS]
"Folder"="BINFS"
"FriendlyName"="Bin FileSystem"
"Dll"="binfs.dll"
; MountFlags:
; 0x10 specifies that this file system is to be mounted as an external
; ROM filesystem shadowing the \windows directory
; 0x1 specifies that the mountpoint \BINFS is to be hidden
;
"MountFlags"=dword:10
"BootPhase"=dword:0
ENDIF ; BSP_NONANDFS
;END HIVE BOOT SECTION


最后生成了NK.BIN,XIP.BIN等等文件,我通过EBOOT下载了XIP.BIN文件到NANDflash并启动
最后,我的eboot打印出来的信息如下:
Download BIN file information:
-----------------------------------------------------
[0]: Base Address=0x80200000 Length=0x1cee19c
-----------------------------------------------------

Writing single region/multi-region update, dwBINFSPartLength: 30335388
INFO: using TOC[1] dwJumpAddress: 0x8029C420
waitforconnect
INFO: OEMLaunch: Jumping to Physical Address 0x3029C420h (Virtual Address 0x8029C420h)...
到这里之后就没有反应了,我实在不知道怎么做下去了,请教这是什么原因呢?是不是我那一步做错了?

我再次启动系统,串口打印消息如下:
Microsoft Windows CE Ethernet Bootloader Common Library Version 1.1 Built Oct 28 2008 18:59:35
Microsoft Windows CE Bootloader for the Samsung SMDK2440 Version 2.4 Built Oct 28 2008

INFO : --------------------------------------------------------
INFO : pUSBCtrlAddr = 0xB1200140
INFO : &(pUSBCtrlAddr->EIER) = 0xB120015C
INFO : pUSBCtrlAddr->EIER.ep0_int_en = 0x1
INFO : pUSBCtrlAddr->EIER.ep1_int_en = 0x1
INFO : pUSBCtrlAddr->EIER.ep2_int_en = 0x0
INFO : pUSBCtrlAddr->EIER.ep3_int_en = 0x1
INFO : pUSBCtrlAddr->EIER.ep4_int_en = 0x0
INFO : --------------------------------------------------------
BP_Init
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)
MID = 0xec, DID = 0x76 4th Cycle : 0xa5
NUMBLOCKS : 512(0x200), SECTORSPERBLOCK = 256(0x100), BYTESPERSECTOR = 512(0x200)
wNUM_BLOCKS : 512(0x200)
Press [ENTER] to launch image stored on boot media, or [SPACE] to enter boot monitor.

Initiating image launch in 0 seconds.
Launching image from boot media ...
OEMPlatformInit: IMAGE_TYPE_RAMIMAGE
System ready!
Preparing for download...
waitforconnect
INFO: OEMLaunch: Jumping to Physical Address 0x3029C420h (Virtual Address 0x8029C420h)...
以上都属于是EBOOT打印的消息,
我想这证明我确实是烧写了XIP.BIN文件进去的,只不过这个XIP.BIN没有启动起来,但是我觉得我所有的步骤都是按驱动开发网上的步骤来做的

呀,怎么就是不对呢?
我想请教是什么原因?请大师们能否在百忙之中抽点时间解答我的疑惑。万分感谢。
附件是我的BSP的设置,谢谢。
还有,我没有在BSP的OEMInit中的最后加上对InitRomChain的调用,不知道有没有问题。
附件名称/大小 下载次数 最后更新
mutibin.rar (9KB)  22 2008-10-29 10:33
qq302011
驱动牛犊
驱动牛犊
  • 注册日期2005-05-11
  • 最后登录2016-01-09
  • 粉丝3
  • 关注0
  • 积分26分
  • 威望136点
  • 贡献值1点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-10-31 08:44
怎么就没人响应下呢?
qq302011
驱动牛犊
驱动牛犊
  • 注册日期2005-05-11
  • 最后登录2016-01-09
  • 粉丝3
  • 关注0
  • 积分26分
  • 威望136点
  • 贡献值1点
  • 好评度2点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-11-07 13:44
谢谢 ziyun 的热心回复,可是我还是没搞定
qq302011
驱动牛犊
驱动牛犊
  • 注册日期2005-05-11
  • 最后登录2016-01-09
  • 粉丝3
  • 关注0
  • 积分26分
  • 威望136点
  • 贡献值1点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-11-07 14:51
请教dsky021:能否说说你从第一步到第二步做了哪些改动呢?我现在还停留在第一步呢。第一步
引用第3楼dsky021于2008-10-31 16:26发表的  :
兄弟,搞出来了没
我也按照前面dreamzqw , harktrip等人的方法做了
不过没成功。我吧xip.bin用USB下载,eboot输出这些如下信息,请教各位怎么回事
INFO: OEMLaunch: Jumping to Physical Address 0x3022B720h (Virtual Address 0x8022B720h)...

.......

第二步
 出现这种错误是什么问题?sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 8022b5dc
DCache: 8 sets, 64 ways, 32 line size, 16384 size
ICache: 8 sets, 64 ways, 32 line size, 16384 size
InitDisplay:640*480
Sp=ffffc7cc
OEMIoControl: Unsupported Code 0x10100b4 - device 0x0101 func 45
OEMIoControl: Unsupported Code 0x101008c - device 0x0101 func 35
Data Abort: Thread=83fc6000 Proc=80426270 'filesys.exe'
AKY=00000003 PC=03f9e9c8(coredll.dll+0x0002e9c8) RA=03f9e9a0(coredll.dll+0x0002e9a0) BVA=04000000 FSR=00000007
OEMIoControl: Unsupported Code 0x101008c - device 0x0101 func 35
OEMIoControl: Unsupported Code 0x10100c4 - device 0x0101 func 49
OEMIoControl: Unsupported Code 0x10100d0 - device 0x0101 func 52
OEMIoControl: Unsupported Code 0x10100f8 - device 0x0101 func 62
Data Abort: Thread=83fc6000 Proc=80426270 'filesys.exe'
AKY=00000003 PC=03f9e9c8(coredll.dll+0x0002e9c8) RA=03f9e9a0(coredll.dll+0x0002e9a0) BVA=04000000 FSR=00000007
Data Abort: Thread=83fc6000 Proc=80426270 'filesys.exe'
AKY=00000003 PC=8022e5ac(NK.EXE+0x0002e5ac) RA=8022e598(NK.EXE+0x0002e598) BVA=03f11b30 FSR=00000007
Data Abort: Thread=83fc6000 Proc=80426270 'filesys.exe'
AKY=ffffffff PC=0002c868(filesys.exe+0x0001c868) RA=0002c824(filesys.exe+0x0001c824) BVA=42001000 FSR=00000005
Data Abort: Thread=83fc6000 Proc=80426270 'filesys.exe'
AKY=ffffffff PC=0002dd40(filesys.exe+0x0001dd40) RA=0003481c(filesys.exe+0x0002481c) BVA=420000e8 FSR=00000005
qq302011
驱动牛犊
驱动牛犊
  • 注册日期2005-05-11
  • 最后登录2016-01-09
  • 粉丝3
  • 关注0
  • 积分26分
  • 威望136点
  • 贡献值1点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2008-11-10 10:28
能不能那位传个MUTIBIN的BSP上去啊 ?实在是搞不定了,人笨,没有办法。都整了个把月了,我的邮箱是qq302011@126.com,哪位达人能否传一个给我呀
游客

返回顶部