wince 启动错误

congyue123 2010-01-24 11:51:08
我新打的板子,烧写了block0、eboot、nk都是正常的,现在有两个问题:
1、但是系统启动的时候总是死在一个地方:

Windows CE Kernel for ARM (Thumb Enabled) Built on Jun 24 2004 at 18:25:00
ProcessorType=0926 Revision=5
sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 80381920
DCache: 128 sets, 4 ways, 32 line size, 16384 size
ICache: 128 sets, 4 ways, 32 line size, 16384 size
FCLK:534000000, HCLK:133500000, PCLK:66750000
+++BSPIntrInit
+++++++++IRQ_EINT4++++++++++
---BSPIntrInit(rc = 1)
OEM INIT......
-OEMInit\nSp=ffffc7cc
[OEMIO:INF] + IOCTL_HAL_POSTINIT
[OEMIO:INF] - IOCTL_HAL_POSTINIT
+OALIoCtlHalInitRTC(...)
OEMIoControl: Unsupported Code 0x101008c - device 0x0101 func 35
OEMIoControl: Unsupported Code 0x101008c - device 0x0101 func 35
OEMIoControl: Unsupported Code 0x10100d0 - device 0x0101 func 52
OEMIoControl: Unsupported Code 0x10100f8 - device 0x0101 func 62
Prefetch Abort: Thread=83fc70cc Proc=8136ac90 'filesys.exe'
AKY=00000003 PC=0000000d(???+0x0000000d) RA=0000000d(???+0x0000000d) BVA=0000000d FSR=00000005

这里应该已经到了nk这部分了,我找不出问题所在,还望各位指教。

2、在eboot中对TOC的写操作是错误的,本来已经对TOC进行了初始化,结果打印出来的信息TOC的参数都是0.
chainInfo.dwLoadAddress: 0X00000000
chainInfo.dwFlashAddress: 0X00000000
chainInfo.dwLength: 0X00000000

这是flash驱动的问题吗?
...全文
157 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
armeasy 2010-01-28
  • 打赏
  • 举报
回复
估计楼主是用了三星最新出的flash,后缀是UOD的,修改bootloader的NAND ID号,重编bootloader,重编工程,重生成NK,问题解决。
armeasy 2010-01-28
  • 打赏
  • 举报
回复
郁闷,我也遇到完全相同的问题,是因为三星FLASH更新了,现在新的UOD后缀的就是这个样子。
博说医械研发 2010-01-27
  • 打赏
  • 举报
回复
楼主用的是single-bin 还是multi-bin的形式?如果是multi-bin的话可能是FLASH驱动不在XIPKERNEL里边
-小仙- 2010-01-27
  • 打赏
  • 举报
回复
+OALIoCtlHalInitRTC(...)



-OALIoCtlHalInitRTC(...) 那里去了 RTC 。。。。。
congyue123 2010-01-27
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 gooogleman 的回复:]
明公,建议你建立一个工程,不要选什么东西。直接选个内核,看看是否能启动。只能这样来了。一步步加驱动。呵呵
[/Quote]

哈哈,想法不错,可惜我板子坏了,过两天回来再试了。
gooogleman 2010-01-27
  • 打赏
  • 举报
回复
明公,建议你建立一个工程,不要选什么东西。直接选个内核,看看是否能启动。只能这样来了。一步步加驱动。呵呵
congyue123 2010-01-27
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 veabol 的回复:]
楼主用的是single-bin 还是multi-bin的形式?如果是multi-bin的话可能是FLASH驱动不在XIPKERNEL里边
[/Quote]

我用的single-bin
中国168 2010-01-26
  • 打赏
  • 举报
回复
能不能先排除一下板卡硬件问题,看看是否是板卡本身硬件就有问题,如果硬件本身就不行的话,软件肯定是解决不了的。

排除硬件问题后,能不能将启动中的信息,调试出来,便于分析!
congyue123 2010-01-26
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 jimigaga 的回复:]
感觉cpu,ddr都应该没问题,很有可能是flash驱动有问题
看你的打印信息,内核启动是卡在了filesys.exe加载处,很有可能是filesys.exe不能正常加载flash驱动造成的,你可以先去掉加载flash驱动,单在内存中运行,看内核是否能够跑起来。
[/Quote]


现在板子坏了,没法试验了,等过两天板子回来看结果。
wolfmvp 2010-01-26
  • 打赏
  • 举报
回复
对,调试嘛,卡在那块就把和那块相关的部分给注释了,这样方便调试,呵呵…
aaassd_cn 2010-01-26
  • 打赏
  • 举报
回复
filesys挂了 fmd驱动没加载?

mark 关注
jimigaga 2010-01-26
  • 打赏
  • 举报
回复
感觉cpu,ddr都应该没问题,很有可能是flash驱动有问题
看你的打印信息,内核启动是卡在了filesys.exe加载处,很有可能是filesys.exe不能正常加载flash驱动造成的,你可以先去掉加载flash驱动,单在内存中运行,看内核是否能够跑起来。
congyue123 2010-01-26
  • 打赏
  • 举报
回复
现在板子坏了,没法调试了。

我想知道的是,程序跑到这个地方了,能确定CPU、DDR、FLASH这三部分的硬件是可用的吗?


Microsoft Windows CE Ethernet Bootloader Common Library Version 1.1 Built Jan 12 2009 00:06:52
Microsoft Windows CE Bootloader for the Samsung SMDK2450 Version 2.4 Built Jan 11 2009

InitDisplay************

Microsoft Windows CE Ethernet Bootloader Common Library Version 1.1 Built Jan 12 2009 00:06:52
Microsoft Windows CE Bootloader for the Samsung SMDK2450 Version 2.4 Built Jan 11 2009

InitDisplay************
BP_Init
[FTL:MSG] FIL_Init [OK]
[FTL:MSG] BUF_Init [OK]
[FTL:MSG] VFL_Init [OK]
[FTL:MSG] VFL_Open [OK]
wNUM_BLOCKS : 2048(0x800)
TOC_Read
-TOC_Read
Press [ENTER] to launch image stored on boot media, or [SPACE] to enter boot monitor.

Initiating image launch in 5 seconds.
Ethernet Boot Loader Configuration:

0) IP address: 0.0.0.0
1) Subnet mask: 255.255.255.0
2) DHCP: Disabled
3) Boot delay: 5 seconds
4) Reset to factory default configuration
5) Startup image: LAUNCH EXISTING
6) Program disk image into NAND Flash: Enabled
7) Program CS8900 MAC address (00:00:00:00:00:00)
8) Kernel Debugger: ENABLED
A) Format FIL (Erase All Blocks)
B) Format VFL (Format FIL + VFL Format)
C) Format FTL (Erase FTL Area + FTL Format)
E) Erase Physical Block 0
F) Make Initial Bad Block Information (Warning)
T) MLC Low level test
D) Download image now
L) LAUNCH existing Boot Media image
R) Read Configuration
U) DOWNLOAD image now(USB)
W) Write Configuration Right Now
u
System ready!
Preparing for download...
Please send the Image through USB.

Download BIN file information:
-----------------------------------------------------
[0]: Base Address=0x80200000 Length=0x10a7df4
-----------------------------------------------------
RAM image
rom_offset=0x0.
ROMHDR at Address 80200044h
+IMAGE_TYPE_RAMIMAGE dwImageStart:80200000.,dwLaunchAddr : 8038171c
+WriteOSImageToBootMedia: g_dwTocEntry =1, ImageStart: 0x80200000, ImageLength: 0x10a7df4, LaunchAddr:0x8038171c
g_dwMBRSectorNum = 0x5000
Erase Block from 0xa, to 0x6d
Writing single region/multi-region update, dwBINFSPartLength: 17464820
dwBlock = 10
OpenPartition: dwStartSector = 0x5000.
OpenPartition: dwNumSectors = 0xe000.
OpenPartition: dwPartType = 0x21.
OpenPartition: fActive = 0x1.
OpenPartition: dwCreationFlags = 0x2.
IsValidMBR: MBR sector = 0x5000
.OpenPartition: Invalid MBR. Formatting flash.
Enter LowLevelFormat [0xa, 0x25].
BP_LowLevelFormat: // Erase all the flash blocks.
BP_LowLevelFormat: // Erase all the flash blocks.-End
WriteMBR: MBR block = 0xa.
WriteBlock: dwMBRBlockNum = 0xa.
Done.

CreatePartition: Enter CreatePartition for 0x21.
CreatePartition: Start = 0x800, Num = 0xe000.
WriteMBR: MBR block = 0xa.
WriteBlock: dwMBRBlockNum = 0xa.
nCount = 0
BP_SetDataPointer at 0xb00000
BP_WriteData: Start = 0xb00000, Length = 0x10a7df4.
BP_WriteData: dwSectorAddr = 0x5800, dwOffsetSector = 0x0.
BP_WriteData: dwNumSects = 0x8530
BP_WriteData: dwNumExtraBytes = 0x1df4
BP_WriteData: dwSectorAddr = 0x5800
BP_WriteData: dwNumSects = 0x8530
BP_WriteData: dwSectorAddr = 0xdd30
BP_WriteData: pbBuffer = 0xa12a6000
Updateded TOC!
-WriteOSImageToBootMedia
INFO1:dwLaunchAdd : 8x g_pTOC->id[0].dwJumpAddress : 8x, g_pTOC->id[1].dwJumpAddress : 8x

+TOC_Write
[OK] Write 1 th Block Success
-TOC_Write
TOC {
dwSignature: 0x434F544E
BootCfg {
ConfigFlags: 0x2830
BootDelay: 0x5
ImageIndex: 1
IP: 0.0.0.0
MAC Address: 00:00:00:00:00:00
Port: 0.0.0.0
SubnetMask: 255.255.255.0
}
ID[0] {
dwVersion: 0x20004
dwSignature: 0x45424F54
String: 'eboot.nb0'
dwImageType: 0x2
dwTtlSectors: 0x400
dwLoadAddress: 0x80038000
dwJumpAddress: 0x80038000
dwStoreOffset: 0x0
sgList[0].dwSector: 0x1800
sgList[0].dwLength: 0x400
}
ID[1] {
dwVersion: 0x1
dwSignature: 0x43465348
String: ''
dwImageType: 0x2
dwTtlSectors: 0x853F
dwLoadAddress: 0x80200000
dwJumpAddress: 0x8038171C
dwStoreOffset: 0x0
sgList[0].dwSector: 0x0
sgList[0].dwLength: 0x853F
}
chainInfo.dwLoadAddress: 0X00000000
chainInfo.dwFlashAddress: 0X00000000
chainInfo.dwLength: 0X00000000
}
+ReadOSImageFromBootMedia
RAM image
RAM image
Read OS image to BootMedia
ImageLength = 17464832 Byte, dwRegionStart : a0200000
Start Page = 1408, End Page = 3539, Page Count = 2132
................
Read OS image to BootMedia Success
waitforconnect
INFO: OEMLaunch: Jumping to Physical Address 0x3038171Ch (Virtual Address 0x8038171Ch)...


Windows CE Kernel for ARM (Thumb Enabled) Built on Jun 24 2004 at 18:25:00
ProcessorType=0926 Revision=5
sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 80381920
DCache: 128 sets, 4 ways, 32 line size, 16384 size
ICache: 128 sets, 4 ways, 32 line size, 16384 size
FCLK:534000000, HCLK:133500000, PCLK:66750000
+++BSPIntrInit
+++++++++IRQ_EINT4++++++++++
---BSPIntrInit(rc = 1)
OEM INIT......
-OEMInit\nSp=ffffc7cc
[OEMIO:INF] + IOCTL_HAL_POSTINIT
[OEMIO:INF] - IOCTL_HAL_POSTINIT
+OALIoCtlHalInitRTC(...)
OEMIoControl: Unsupported Code 0x101008c - device 0x0101 func 35
OEMIoControl: Unsupported Code 0x101008c - device 0x0101 func 35
OEMIoControl: Unsupported Code 0x10100d0 - device 0x0101 func 52
OEMIoControl: Unsupported Code 0x10100f8 - device 0x0101 func 62
Prefetch Abort: Thread=83fc70cc Proc=8136ac90 'filesys.exe'
AKY=00000003 PC=0000000d(???+0x0000000d) RA=0000000d(???+0x0000000d) BVA=0000000d FSR=00000005
congyue123 2010-01-25
  • 打赏
  • 举报
回复
我先试试屏蔽RTC部分
九个太阳2023 2010-01-25
  • 打赏
  • 举报
回复
是不是OALIoCtlHalInitRTC的问题哈?楼主查查看~
yashi 2010-01-25
  • 打赏
  • 举报
回复
看起来,flash部分有问题的可能性最大。
blueskycoco 2010-01-25
  • 打赏
  • 举报
回复
建议先看看是所有板子都这样,死在这里,还是只有某些板子这样。
另外,调节写nand读写的那三个参数试试
kyzf 2010-01-25
  • 打赏
  • 举报
回复
帮顶下,MARK.
congyue123 2010-01-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 veabol 的回复:]
TOC全是0的问题你要查查,但是启动卡在那里应该不是TOC的问题。
[/Quote]

Flash分区或是驱动的问题?
gooogleman 2010-01-25
  • 打赏
  • 举报
回复
my god 只能友情帮顶了。奇怪。
加载更多回复(1)

19,498

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧