掌微的A3 CPU, wince5.0, LCD能显示Logo图片(logo文件包含在NK.bin中).
EBoot,正常启动,并运行起了NK.bin, 但不能显示Wince 界面。
请问如何检查 WinCE 代码里面对LCD控制器有没有错误的配置? 如何检测 FrameBuffer 的物理地址和 Vitual 地址是否一致?
以下是串口信息:
Microsoft Windows CE Ethernet Bootloader Common Library Version 1.1 Built Dec 10 2008 14:53:49
Centrality Windows CE Atlas Bootloader Version 3.2 Built Dec 10 2008 14:53:51
dwCacheInfo = 0x1D152152,clock=12000000
power on sdmlcSDMLC: Init Successfully!SD: transpeed=0x32SDMLC: bl_len = 1024 BytesSDMLC: 512 Bytes/SectorSDMLC: 1 Sectors/BlockSDMLC: 512 Bytes/BlockSDMLC: 4013056 Total SectorsSDMLC: 4013056 Total BlocksSDMLC: 2054684672 Total BytesSDMLC: Write-Protected: 0PWR_DELAY_CTRL0=0X103280E,PWR_DELAY_CTRL1=0X200F0F0FCPU:DSP:SYS:IO = 372:248:124:62 MHzTOC {
dwSignature: 0x434F544E
BootCfg {
ConfigFlags: 0x6820
BootDelay: 0xF
ImageIndex: 1
IP: 192.168.1.100
MAC Address: 00:00:00:00:00:00
Port: 0.0.0.0
SubnetMask: 255.255.255.0
}
chainInfo.dwLoadAddress: 0x8C64C000
chainInfo.dwFlashAddress: 0x0001D8CC
chainInfo.dwLength: 0x00000020
nandxipInfo.dwCodePages: 0
nandxipInfo.dwCopies: 0
nandxipInfo.dwBlockNo: 0x00000000
nandxipInfo.dwCodePages: 0
nandxipInfo.dwCopies: 0
}
Image block starts at physical block 0 virtual block 0
WARNING: OEMPlatformInit failed to initialize Ethernet controller.
SDMMC_Init: NO CARD FOUND!Press [ENTER] to download image now, or [SPACE] to enter boot monitor.
Initiating image download in 15 seconds. 15 seconds. GPIO registering num 0, sysintr 19, irq 54
GPIO registered num 0, sysintr 19, irq 54
GPIO registering num 4, sysintr 26, irq 52
GPIO registered num 4, sysintr 26, irq 52
GPIO registering num 21, sysintr 28, irq 59
GPIO registered num 21, sysintr 28, irq 59
Windows CE Kernel for ARM (Thumb Enabled) Built on Jun 24 2004 at 18:21:58
ProcessorType=0926 Revision=4
sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 8cb5106c
LCD Driver BspLcdPowerUpPanel .......
LCD Driver Init_SHARP35 .......
LCD Driver SPI_Send_Data .......
LCD Driver SPI_Send_Data .......
LCD Driver SPI_Send_Data .......
Atlas_LCDX: poweron lcd!
Error Reporting Memory Reserved, dump size = 00020000
Booting Windows CE version 5.00 for (ARM)
&pTOC = 8cb59ddc, pTOC = 8cc31b74, pTOC->ulRamFree = 8d19f000, MemForPT = 00000000
Old or invalid version stamp in kernel structures - starting clean!
Configuring: Primary pages: 11837, Secondary pages: 0, Filesystem pages = 1479
Booting kernel with clean memory configuration:
Memory Sections:
[0] : start: 8d1a0000, extension: 00003000, length: 02e3d000
Sp=ffffc7cc
ARMInit done.
Windows CE KernelInit
Updated eptr->e32_vsize to = 000e4000
Scheduling the first thread.
0x8ffdf024: KernelInit2: pCurThread=8ffdf024 hCurThread=0ffdf266 hCurProc=0ffdf002, KernelInit = 8cb9d674
0x8ffdf024: Detecting VFP...0x8ffdf024: VFP Not Found!
0x8ffdf024: first = 01f80000, last = 02000000, SharedDllBase = 03ca0000
0x8ffdf024: <<< SET THE WATCHDOG FOR INIT! >>>
0x8ffdf024: FMDReadFlashID timeout!
0x8ffdf024: UUID ERR!
0x8ffc6000: CertMod.dll not found, using old OEM Trust Model
0x8ffc6000: FileSystem Starting - starting with clean file system
0x8ffc6000: FS: initializing ROM/RAM file system
0x8ffc6000: SC_CreateAPIHandle: pvData == NULL
................................................
................................................
0x8ffcb400: +DSK_IOControl (2)
0x8ffcb400: +DSK_IOControl (2)
0x8ffcb400: Opened the store hStore=000C4890
0x8ffcb400: +DSK_IOControl (2)
0x8ffcb400: NumSec=4013056 BytesPerSec=512 FreeSec=0 BiggestCreatable=0
0x8ffcb400: Partition Part00 NumSectors=2251
0x8ffcb400: MSPART!PD_OpenPartition: dwStoreId=000C4890, PartName=Part00
0x8ffcb400: Partition Part01 NumSectors=118816
0x8ffcb400: MSPART!PD_OpenPartition: dwStoreId=000C4890, PartName=Part01
0x8ffcb400: +DSK_IOControl (465920)
0x8ffcb400: +DSK_IOControl (465920)
0x8ffcb400: OEMIoControl: Unsupported Code 0x1010104 - device 0x0101 func 65
0x8ffcb400: BINFS: ChainInfo - Address=8CB50000 Length=6291456 Order=0 Flags=0001
0x8ffcb400: BINFS: ChainInfo - Address=82000000 Length=2097152 Order=1 Flags=0001
0x8ffcb400: BINFS: ChainInfo - Address=82200000 Length=52428800 Order=2 Flags=0001
0x8ffcb400: +DSK_IOControl (2)
0x8ffcb400: +DSK_IOControl (2)
0x8ffcb400: BINFS: InitVolume - RomHdr starts at 8CC31B74(000E1B74)
0x8ffcb400: +DSK_IOControl (2)
0x8ffcb400: +DSK_IOControl (2)
0x8ffcb400: BINFS: InitVolume - RomHdr starts at 820EE870(006EE870)
0x8ffcb400: +DSK_IOControl (2)
0x8ffcb400: ========================== ROMHDR =========================0x8ffcb400:
.....................................................
......................................................
===========================================================0x8ffcb400: +DSK_IOControl (2)
0x8ffcb400: +DSK_IOControl (2)
0x8f6f1794: +DSK_IOControl (465996)
0x8f6f1794: +DSK_IOControl (465996)
..............................
.................................
0x8fdd0000: !OHCI - CHW::UpdateFrameCounter missed frame count; isoch packets may have been dropped.
0x8fdd0000: !OHCI - CHW::UpdateFrameCounter missed frame count; isoch packets may have been dropped.
0x8fdd0000: !OHCI - CHW::UpdateFrameCounter missed frame count; isoch packets may have been dropped.
0x8fdd0000: !OHCI - CHW::UpdateFrameCounter missed frame count; isoch packets may have been dropped.
0x8fdd0000: !OHCI - CHW::UpdateFrameCounter missed frame count; isoch packets may have been dropped.
BINFS: InitVolume - RomHdr starts at 820EE870(006EE870) 这就挂了。如何检测 FrameBuffer 的物理地址和 Vitual 地址是否一致? 这只能打LOG。
可以显示了, 谢谢.
重新编一个合适的EBoot, 重新编一个NK, 就可以了, 是编译的问题.
引用: 引用 2 楼 huabinsir 的回复:
可以显示了, 谢谢.
重新编一个合适的EBoot, 重新编一个NK, 就可以了, 是编译的问题.
微软......有时候就这样。
看楼主的信息,flash ID都没有读出,不过文件系统已经初始化了。