4394|8

81

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

请教:wince 5.0 multi bin s3c2440的xip.bin卡住了,非multi bin的nk.bin可运行 [复制链接]

对于非multi bin的config.bib为:
MEMORY
    NK      80200000  01E00000  RAMIMAGE
    RAM     82000000  01E00000  RAM
    FLASH   92000000  00100000  RESERVED

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


对于multi bin的config.bib为:
MEMORY
    pdwXIPLoc            00000000  803FF000  FIXUPVAR
    XIPKERNEL            80200000  001FF000  RAMIMAGE
    CHAIN                803FF000  00001000  RESERVED
    NK                   80400000  01E00000  NANDIMAGE
    RAM                  80400000  03C00000  RAM
    FLASH                92000000  00100000  RESERVED  
……
CONFIG
  AUTOSIZE=ON
  COMPRESSION=ON
  DLLADDR_AUTOSIZE=ON
  KERNELFIXUPS=ON
  PROFILE=OFF
  RAM_AUTOSIZE=OFF
  ROMFLAGS=0
  ;ROMSIZE=01E00000
  ;ROMSTART=800B8000
  ;ROMWIDTH=32
  ROM_AUTOSIZE=OFF
  XIPSCHAIN=803FF000  

我也修改了platform.reg,加入了对binfs分区的支持;
编译出来的非 multi bin 的nk.bin可正常启动;
但是编译出来的multi bin的xnk.bin无法启动,卡在如下位置:
+OEMInit
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 = 0xf1 4th Cycle : 0x0
                                      dwPrimaryNandDevice : 8(0x8)
astNandSpec[dwPrimaryNandDevice].nSctsPerPg: 4(0x4)
wPRIMARY_REAL_NAND_BLOCKS : 1024(0x400)
NUMBLOCKS : 1024(0x400), SECTORSPERBLOCK = 256(0x100), BYTESPERSECTOR = 512(0x200)
FMD_OEMIoControl: unrecognized IOCTL (0x71c24).
OEMIoControl: Unsupported Code 0x1010104 - device 0x0101 func 65
OEMIoControl: Unsupported Code 0x10100c4 - device 0x0101 func 49




我现在还是把整个xip.bin复制进SDRAM里,按理应该能够像非multi bin一样执行啊
调试无从下手,谢谢各位。
此帖出自WindowsCE论坛

最新回复

学习一下!!! 一直在研究这个问题!  详情 回复 发表于 2011-5-20 11:08
点赞 关注
 

回复
举报

68

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
我的eboot已经支持binfs了,
内核里也配置了binfs
此帖出自WindowsCE论坛
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
检查一下PLATFORM.REG里的配置。
此帖出自WindowsCE论坛
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

4
 
XIPKERNEL里边你都加什么东西了?
要在bib文件中把必要的文件加入到XIPKERNEL 中去,比如
; @CESYSGEN IF CE_MODULES_NK

   nk.exe          $(_FLATRELEASEDIR)\kern.exe                 XIPKERNEL  SH
   
; @CESYSGEN ENDIF

; @CESYSGEN IF CE_MODULES_COREDLL
   coredll.dll     $(_FLATRELEASEDIR)\coredll.dll              XIPKERNEL  SH
; @CESYSGEN ENDIF

; @CESYSGEN IF CE_MODULES_FILESYS
   filesys.exe     $(_FLATRELEASEDIR)\filesys.exe              XIPKERNEL  SHM
; @CESYSGEN ENDIF

; @CESYSGEN IF CE_MODULES_BINFS
   binfs.dll     $(_FLATRELEASEDIR)\binfs.dll                         XIPKERNEL  SH
; @CESYSGEN ENDIF

; @CESYSGEN IF CE_MODULES_FSDMGR
   fsdmgr.dll     $(_FLATRELEASEDIR)\fsdmgr.dll                XIPKERNEL  SH
; @CESYSGEN ENDIF
; @CESYSGEN IF CE_MODULES_MSPART
   mspart.dll     $(_FLATRELEASEDIR)\mspart.dll                XIPKERNEL  SH
; @CESYSGEN ENDIF

; @CESYSGEN IF CE_MODULES_CEDDK
   ceddk.dll       $(_FLATRELEASEDIR)\ceddk.dll                XIPKERNEL  SH
; @CESYSGEN ENDIF
此帖出自WindowsCE论坛
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

5
 
nandflash驱动以及文件系统。 另外我记得中,multi-bin是需要实现hive注册表的吧。
此帖出自WindowsCE论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

6
 
这个是我当时的配置,应该是最小配置了,供楼主参考:
注册表项:
    [HKEY_LOCAL_MACHINE\init\BootVars]
     "SystemHive"="Documents and Settings\\system.hv"
     "ProfileDir"="Documents and Settings"
     "Start DevMgr"=dword:1
     "Flags"=dword:3
     "RegistryFlags"=dword:1
     "DefaultUser"="default"


[HKEY_LOCAL_MACHINE\System\StorageManager\PartitionTable]
    "21"="BINFS"

[HKEY_LOCAL_MACHINE\System\StorageManager\BINFS]
    "Folder"="BINFS11"
    "FriendlyName"="Bin FileSystem"
    "Dll"="binfs.dll"
    "Paging"=dword:1
; 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

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

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\MSFlash]
        "Prefix"="DSK"
        "Order"=dword:0
        "Dll"="smflash.dll"        
        "Profile"="MSFlash"
;        "MountFlags"=dword:10
        "FriendlyName"="MSFLASH Driver"
        "BootPhase"=dword:0
        "Flags"=dword:1000

; Bind BINFS to the block driver
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MSFlash]
    "DefaultFileSystem"="BINFS"
    "PartitionDriver"="mspart.dll"
    "AutoMount"=dword:1
    "AutoPart"=dword:1
    "Folder"="NandFlash11"
    "Name"="Microsoft Flash Disk"
    "BootPhase"=dword:0
    "Flags"=dword:1000
    "MountAsHidden"=dword:1
    "MountAsRom"=dword:1
    "MountFlags"=dword:11
    "MountHidden"=dword:0

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MSFlash\FATFS]
    "FriendlyName"="FAT FileSystem"
    "Dll"="fatfsd.dll"
    "Flags"=dword:00280014
    "Paging"=dword:1
    "CacheSize"=dword:0
    "EnableCacheWarm"=dword:0
    "EnableCache"=dword:1
    "MountAsBootable"=dword:1
    "MountAsRom"=dword:1
;    "MountAsRoot"=dword:1



File文件

nk.exe          D:\WINCE500\PBWorkspaces\MultiBin\RelDir\smdk2442_ARMV4I_Release\kern.exe                XIPKERNEL  SH
coredll.dll        D:\WINCE500\PBWorkspaces\MultiBin\RelDir\smdk2442_ARMV4I_Release\coredll.dll                XIPKERNEL  SH
filesys.exe    D:\WINCE500\PBWorkspaces\MultiBin\RelDir\smdk2442_ARMV4I_Release\filesys.exe                XIPKERNEL  SH
fatfsd.dll      D:\WINCE500\PBWorkspaces\MultiBin\RelDir\smdk2442_ARMV4I_Release\fatfsd.dll                XIPKERNEL  SH
diskcache.dll    D:\WINCE500\PBWorkspaces\MultiBin\RelDir\smdk2442_ARMV4I_Release\diskcache.dll            XIPKERNEL  SH
fatutil.dll    D:\WINCE500\PBWorkspaces\MultiBin\RelDir\smdk2442_ARMV4I_Release\fatutil.dll              XIPKERNEL  SH
binfs.dll    D:\WINCE500\PBWorkspaces\MultiBin\RelDir\smdk2442_ARMV4I_Release\binfs.dll                    XIPKERNEL  SH
fsdmgr.dll    D:\WINCE500\PBWorkspaces\MultiBin\RelDir\smdk2442_ARMV4I_Release\fsdmgr.dll                XIPKERNEL  SH
mspart.dll    D:\WINCE500\PBWorkspaces\MultiBin\RelDir\smdk2442_ARMV4I_Release\mspart.dll                XIPKERNEL  SH
ceddk.dll      D:\WINCE500\PBWorkspaces\MultiBin\RelDir\smdk2442_ARMV4I_Release\ceddk.dll                XIPKERNEL  SH
smflash.dll            D:\WINCE500\PBWorkspaces\MultiBin\RelDir\smdk2442_ARMV4I_Release\smflash.dll            XIPKERNEL SH

FILES
  boot.hv        D:\WINCE500\PBWorkspaces\MultiBin\RelDir\smdk2442_ARMV4I_Release\boot.hv                  XIPKERNEL  SH
  default.hv      D:\WINCE500\PBWorkspaces\MultiBin\RelDir\smdk2442_ARMV4I_Release\default.hv              XIPKERNEL  SH   ;这个文件可以放到nk.exe里
  user.hv        D:\WINCE500\PBWorkspaces\MultiBin\RelDir\smdk2442_ARMV4I_Release\user.hv                  XIPKERNEL  SH   ;这个文件可以放到nk.exe里

此帖出自WindowsCE论坛
 
 
 

回复

96

帖子

0

TA的资源

一粒金砂(初级)

7
 
顶~~我的multi-bin也没有调试出来~~~
此帖出自WindowsCE论坛
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

8
 
谢谢各位,我在platform.reg里,
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SMFLASH\FATFS]注册项里,再加这行就可以了:
"MountAsRom"=dword:1
此帖出自WindowsCE论坛
 
 
 

回复

25

帖子

0

TA的资源

一粒金砂(初级)

9
 
学习一下!!!

一直在研究这个问题!
此帖出自WindowsCE论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表