阅读:2795回复:6
wince5 jump地址的問題?
编译了一个NK。BIN文件,下载到板子,启动后,程序执行下面就不动了。
应该是我的Jump地址0x8c208810有問題,但沒找到修改这个的地方,哪位熟悉 的朋友提醒一下,谢谢! Jumping to image at virtual address 0x8C208810h +ToPhysicalAddr:0x8C208810 -ToPhysicalAddr:0x30208810 ::: Physical Launch Address: 0x30208810h |
|
沙发#
发布于:2008-06-28 10:12
你用什么启动的,是不是你的BOOTLOADER太大了,
看起来好像什么东西与你的NK起始地址有冲突 |
|
|
板凳#
发布于:2008-06-28 19:26
应该不是地址冲突了吧,我这里有两份信息,一份是可以启动的,一份是不能启动的,请帮我看看
可以启动的 Clear the free memory ............................................................. Read eboot image from flash ...... Sector addr on NAND: 0x100 TotalSector: 0x100 LoadAddress: 0x30038000 JumpAddr: 0x30038000 Now, to download the wince image(nk.bin) ...... USB host is connected. Waiting a download. Now, Downloading [ADDRESS:30058000h,TOTAL:18393673] Downloaded file at 0x30000000, size = 18393663 bytes Mark bad blocks as unused ...... Mark Block 0 as unused, has mark 1 blocks Mark Block 1 as unused, has mark 2 blocks Mark Block 2 as unused, has mark 3 blocks Mark Block 3 as unused, has mark 4 blocks Mark Block 4 as unused, has mark 5 blocks Mark Block 5 as unused, has mark 6 blocks Mark Block 6 as unused, has mark 7 blocks Mark Block 7 as unused, has mark 8 blocks Mark Block 8 as unused, has mark 9 blocks Mark Block 9 as unused, has mark 10 blocks Mark Block 10 as unused, has mark 11 blocks Mark Block 11 as unused, has mark 12 blocks Mark Block 12 as unused, has mark 13 blocks Mark Block 13 as unused, has mark 14 blocks Mark Block 14 as unused, has mark 15 blocks Mark Block 15 as unused, has mark 16 blocks Mark Block 16 as unused, has mark 17 blocks Mark Block 17 as unused, has mark 18 blocks Mark Block 18 as unused, has mark 19 blocks Mark Block 19 as unused, has mark 20 blocks Extract wince image throught USB ...... OEMMultiBINNotify: Download BIN file information: ----------------------------------------------------- [0]: Base Address=0x8c200000 Length=0x11ed9dc ----------------------------------------------------- OEMVerifyMemory: StartAddr: 0x8c200000, Length:0x11ed9dc *** Downloading UNKNOWN image type *** ................. dwImageStart : 0x8c200000 dwImageLength: 0x11ed9dc LaunchAddr : 0x8c201000 rom_offset=0x0. Run eboot, JumpAddr = 0x30038000 .. Microsoft Windows CE Ethernet Bootloader Common Library Version 1.0 Built Jan 28 2007 17:47:35 Copyright (c) 2000-2001 Microsoft Corporation Microsoft Windows CE SMDK2440 Bootloader Version 1.2 Built Jan 28 2007 17:47:27 FMD::FMD_Init FMD::FMD_Init Done TOC_Read FMD: ECC ERROR - Page #: 608 (0:FC 0:CF 0:F) FMD: Unable to correct the ECC error - Page #: 608 TOC_Read ERROR: Unable to read TOC TOC_Init: dwEntry:1, dwImageType: 0x6, dwImageStart: 0x0, dwImageLength: 0x0, dwLaunchAddr: 0x0 +BootConfigInit -BootConfigInit TOC { dwSignature: 0x434F544E BootCfg { ConfigFlags: 0x3020 BootDelay: 0xF ImageIndex: 1 IP: 0.0.0.0 MAC Address: 00:00:00:00:00:00 Port: 0.0.0.0 SubnetMask: 255.255.255.255 } ID[0] { dwVersion: 0x10002 dwSignature: 0x45424F54 String: 'eboot.nb0' dwImageType: 0x2 dwTtlSectors: 0x100 dwLoadAddress: 0x8C038000 dwJumpAddress: 0x8C038000 dwStoreOffset: 0x0 sgList[0].dwSector: 0x100 sgList[0].dwLength: 0x100 } ID[1] { dwVersion: 0x1 dwSignature: 0x43465349 String: '' dwImageType: 0x6 dwTtlSectors: 0x0 dwLoadAddress: 0x0 dwJumpAddress: 0x0 dwStoreOffset: 0x0 } chainInfo.dwLoadAddress: 0X00000000 chainInfo.dwFlashAddress: 0X00000000 chainInfo.dwLength: 0X00000000 } g_pViviWinceInfo = 0x301D8000, g_pViviWinceInfo->dwViviWinceMagic = 0x12345678 Low-level format nand flash ... Reserving Blocks [0x0 - 0x13] ... ...reserve complete. Low-level format Blocks [0x14 - 0xFFF] ... ...erase complete. Format nand flash for BinFS, please wait several minutes ... System ready! Preparing for download... Found pTOC signature. ROMHDR at Address 8C200044h RomHdr.ulRAMStart=8E600000h RomHdr.physfirst=8C200000h. ::OEMLaunch, ImageStart:0x8C200000, ImageLength:0x11ED9DC, LaunchAddr:0x8C201000 OEMLaunch: (IMAGE_TYPE_RAMIMAGE ¦IMAGE_TYPE_BINFS) +WriteRegionsToBootMedia: ImageStart: 0x8C200000, ImageLength: 0x11ED9DC, LaunchAddr:0x8C201000 INFO: OEMLaunch: Found chain extenstion: '' @ 0x8C200000 Writing single region/multi-region update, dwBINFSPartLength: 18799068 dwRegionStart: 0x8C200000, dwRegionLength: 0x11ED9DC, dwStoreOffset: 0x0 Updateded TOC! -WriteRegionsToBootMedia +TOC_Write Erasing Block: 19 FMD_WriteSector............. FMD_ReadSector............. memcmp............. TOC { dwSignature: 0x434F544E BootCfg { ConfigFlags: 0x3820 BootDelay: 0xF ImageIndex: 1 IP: 0.0.0.0 MAC Address: 00:00:00:00:00:00 Port: 0.0.0.0 SubnetMask: 255.255.255.255 } ID[0] { dwVersion: 0x10002 dwSignature: 0x45424F54 String: 'eboot.nb0' dwImageType: 0x2 dwTtlSectors: 0x100 dwLoadAddress: 0x8C038000 dwJumpAddress: 0x8C038000 dwStoreOffset: 0x0 sgList[0].dwSector: 0x100 sgList[0].dwLength: 0x100 } ID[1] { dwVersion: 0x1 dwSignature: 0x43465349 String: '' dwImageType: 0x6 dwTtlSectors: 0x8F6D dwLoadAddress: 0x8C200000 dwJumpAddress: 0x8C201000 dwStoreOffset: 0x0 sgList[0].dwSector: 0x520 sgList[0].dwLength: 0x8F6D } chainInfo.dwLoadAddress: 0X00000000 chainInfo.dwFlashAddress: 0X00000000 chainInfo.dwLength: 0X00000000 } -TOC_Write TOC { dwSignature: 0x434F544E BootCfg { ConfigFlags: 0x3820 BootDelay: 0xF ImageIndex: 1 IP: 0.0.0.0 MAC Address: 00:00:00:00:00:00 Port: 0.0.0.0 SubnetMask: 255.255.255.255 } ID[0] { dwVersion: 0x10002 dwSignature: 0x45424F54 String: 'eboot.nb0' dwImageType: 0x2 dwTtlSectors: 0x100 dwLoadAddress: 0x8C038000 dwJumpAddress: 0x8C038000 dwStoreOffset: 0x0 sgList[0].dwSector: 0x100 sgList[0].dwLength: 0x100 } ID[1] { dwVersion: 0x1 dwSignature: 0x43465349 String: '' dwImageType: 0x6 dwTtlSectors: 0x8F6D dwLoadAddress: 0x8C200000 dwJumpAddress: 0x8C201000 dwStoreOffset: 0x0 sgList[0].dwSector: 0x520 sgList[0].dwLength: 0x8F6D } chainInfo.dwLoadAddress: 0X00000000 chainInfo.dwFlashAddress: 0X00000000 chainInfo.dwLength: 0X00000000 } Jumping to image at virtual address 0x8C201000h +ToPhysicalAddr:0x8C201000 -ToPhysicalAddr:0x30201000 ::: Physical Launch Address: 0x30201000h 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 = 8c2013bc Windows CE Firmware Init INFO: Initializing system interrupts... INFO: Initializing system clock(s)... INFO: Initializing driver globals area... SDMMC config set rGPGCON: fd96ffba OEMInit Done... Sp=ffffc7cc |
|
地板#
发布于:2008-06-28 19:26
不能启动的
Clear the free memory ............................................................. Read eboot image from flash ...... Sector addr on NAND: 0x100 TotalSector: 0x100 LoadAddress: 0x30038000 JumpAddr: 0x30038000 Now, to download the wince image(nk.bin) ...... USB host is connected. Waiting a download. Now, Downloading [ADDRESS:30058000h,TOTAL:15548077] Downloaded file at 0x30000000, size = 15548067 bytes Mark bad blocks as unused ...... Mark Block 0 as unused, has mark 1 blocks Mark Block 1 as unused, has mark 2 blocks Mark Block 2 as unused, has mark 3 blocks Mark Block 3 as unused, has mark 4 blocks Mark Block 4 as unused, has mark 5 blocks Mark Block 5 as unused, has mark 6 blocks Mark Block 6 as unused, has mark 7 blocks Mark Block 7 as unused, has mark 8 blocks Mark Block 8 as unused, has mark 9 blocks Mark Block 9 as unused, has mark 10 blocks Mark Block 10 as unused, has mark 11 blocks Mark Block 11 as unused, has mark 12 blocks Mark Block 12 as unused, has mark 13 blocks Mark Block 13 as unused, has mark 14 blocks Mark Block 14 as unused, has mark 15 blocks Mark Block 15 as unused, has mark 16 blocks Mark Block 16 as unused, has mark 17 blocks Mark Block 17 as unused, has mark 18 blocks Mark Block 18 as unused, has mark 19 blocks Mark Block 19 as unused, has mark 20 blocks Extract wince image throught USB ...... OEMMultiBINNotify: Download BIN file information: ----------------------------------------------------- [0]: Base Address=0x8c200000 Length=0xf28c50 ----------------------------------------------------- OEMVerifyMemory: StartAddr: 0x8c200000, Length:0xf28c50 *** Downloading UNKNOWN image type *** .............. dwImageStart : 0x8c200000 dwImageLength: 0xf28c50 LaunchAddr : 0x8c208810 rom_offset=0x0. Run eboot, JumpAddr = 0x30038000 .. Microsoft Windows CE Ethernet Bootloader Common Library Version 1.0 Built Jan 28 2007 17:47:35 Copyright (c) 2000-2001 Microsoft Corporation Microsoft Windows CE SMDK2440 Bootloader Version 1.2 Built Jan 28 2007 17:47:27 FMD::FMD_Init FMD::FMD_Init Done TOC_Read FMD: ECC ERROR - Page #: 608 (0:FF 0:C0 0:CF) FMD: Unable to correct the ECC error - Page #: 608 TOC_Read ERROR: Unable to read TOC TOC_Init: dwEntry:1, dwImageType: 0x6, dwImageStart: 0x0, dwImageLength: 0x0, dwLaunchAddr: 0x0 +BootConfigInit -BootConfigInit TOC { dwSignature: 0x434F544E BootCfg { ConfigFlags: 0x3020 BootDelay: 0xF ImageIndex: 1 IP: 0.0.0.0 MAC Address: 00:00:00:00:00:00 Port: 0.0.0.0 SubnetMask: 255.255.255.255 } ID[0] { dwVersion: 0x10002 dwSignature: 0x45424F54 String: 'eboot.nb0' dwImageType: 0x2 dwTtlSectors: 0x100 dwLoadAddress: 0x8C038000 dwJumpAddress: 0x8C038000 dwStoreOffset: 0x0 sgList[0].dwSector: 0x100 sgList[0].dwLength: 0x100 } ID[1] { dwVersion: 0x1 dwSignature: 0x43465349 String: '' dwImageType: 0x6 dwTtlSectors: 0x0 dwLoadAddress: 0x0 dwJumpAddress: 0x0 dwStoreOffset: 0x0 } chainInfo.dwLoadAddress: 0X00000000 chainInfo.dwFlashAddress: 0X00000000 chainInfo.dwLength: 0X00000000 } g_pViviWinceInfo = 0x301D8000, g_pViviWinceInfo->dwViviWinceMagic = 0x12345678 Low-level format nand flash ... Reserving Blocks [0x0 - 0x13] ... ...reserve complete. Low-level format Blocks [0x14 - 0xFFF] ... ...erase complete. Format nand flash for BinFS, please wait several minutes ... System ready! Preparing for download... Found pTOC signature. ROMHDR at Address 8C200044h RomHdr.ulRAMStart=8E600000h RomHdr.physfirst=8C200000h. ::OEMLaunch, ImageStart:0x8C200000, ImageLength:0xF28C50, LaunchAddr:0x8C208810 OEMLaunch: (IMAGE_TYPE_RAMIMAGE ¦IMAGE_TYPE_BINFS) +WriteRegionsToBootMedia: ImageStart: 0x8C200000, ImageLength: 0xF28C50, LaunchAddr:0x8C208810 INFO: OEMLaunch: Found chain extenstion: '' @ 0x8C200000 Writing single region/multi-region update, dwBINFSPartLength: 15895632 dwRegionStart: 0x8C200000, dwRegionLength: 0xF28C50, dwStoreOffset: 0x0 Updateded TOC! -WriteRegionsToBootMedia +TOC_Write Erasing Block: 19 FMD_WriteSector............. FMD_ReadSector............. memcmp............. TOC { dwSignature: 0x434F544E BootCfg { ConfigFlags: 0x3820 BootDelay: 0xF ImageIndex: 1 IP: 0.0.0.0 MAC Address: 00:00:00:00:00:00 Port: 0.0.0.0 SubnetMask: 255.255.255.255 } ID[0] { dwVersion: 0x10002 dwSignature: 0x45424F54 String: 'eboot.nb0' dwImageType: 0x2 dwTtlSectors: 0x100 dwLoadAddress: 0x8C038000 dwJumpAddress: 0x8C038000 dwStoreOffset: 0x0 sgList[0].dwSector: 0x100 sgList[0].dwLength: 0x100 } ID[1] { dwVersion: 0x1 dwSignature: 0x43465349 String: '' dwImageType: 0x6 dwTtlSectors: 0x7947 dwLoadAddress: 0x8C200000 dwJumpAddress: 0x8C208810 dwStoreOffset: 0x0 sgList[0].dwSector: 0x520 sgList[0].dwLength: 0x7947 } chainInfo.dwLoadAddress: 0X00000000 chainInfo.dwFlashAddress: 0X00000000 chainInfo.dwLength: 0X00000000 } -TOC_Write TOC { dwSignature: 0x434F544E BootCfg { ConfigFlags: 0x3820 BootDelay: 0xF ImageIndex: 1 IP: 0.0.0.0 MAC Address: 00:00:00:00:00:00 Port: 0.0.0.0 SubnetMask: 255.255.255.255 } ID[0] { dwVersion: 0x10002 dwSignature: 0x45424F54 String: 'eboot.nb0' dwImageType: 0x2 dwTtlSectors: 0x100 dwLoadAddress: 0x8C038000 dwJumpAddress: 0x8C038000 dwStoreOffset: 0x0 sgList[0].dwSector: 0x100 sgList[0].dwLength: 0x100 } ID[1] { dwVersion: 0x1 dwSignature: 0x43465349 String: '' dwImageType: 0x6 dwTtlSectors: 0x7947 dwLoadAddress: 0x8C200000 dwJumpAddress: 0x8C208810 dwStoreOffset: 0x0 sgList[0].dwSector: 0x520 sgList[0].dwLength: 0x7947 } chainInfo.dwLoadAddress: 0X00000000 chainInfo.dwFlashAddress: 0X00000000 chainInfo.dwLength: 0X00000000 } Jumping to image at virtual address 0x8C208810h +ToPhysicalAddr:0x8C208810 -ToPhysicalAddr:0x30208810 ::: Physical Launch Address: 0x30208810h |
|
地下室#
发布于:2008-06-28 19:27
config.bib 文件如下
MEMORY NK 8C200000 02400000 RAMIMAGE RAM 8E600000 01900000 RAM AUD_DMA 8c002000 00002000 RESERVED DRV_GLB 8c010000 00010000 RESERVED SD_DMA 8c028000 00008000 RESERVED DISPLAY 8c1d0000 00030000 RESERVED CONFIG COMPRESSION=ON KERNELFIXUPS=ON IF IMGPROFILER PROFILE=ON ELSE PROFILE=OFF ENDIF ; ; ROMFLAGS is a bitmask of options for the kernel ; ROMFLAGS 0x0001 Disallow Paging ; ROMFLAGS 0x0002 Not all KMode ; ROMFLAGS 0x0010 Trust Module only ; IF IMGTRUSTROMONLY IF IMGNOTALLKMODE ROMFLAGS=12 ELSE ROMFLAGS=10 ENDIF ELSE IF IMGNOTALLKMODE ROMFLAGS=02 ELSE ROMFLAGS=00 ENDIF ENDIF ROMSTART=8C200000 ROMWIDTH=32 ROMSIZE=02400000 |
|
5楼#
发布于:2008-06-30 09:21
哪位熟悉这方面的高人指点一下,我的eboot是同一个,LaunchAddr的值怎么会不同?
这个值和nk.bin大小有关?还是一个固定值? LaunchAddr : 0x8c208810 LaunchAddr : 0x8c201000 |
|
6楼#
发布于:2008-06-30 16:04
launchaddr地址要固定是0x8c201000,startup.s中有
STARTUPTEXT,如果启动代码中是TEXTAREA则启动地址不固定,其实启动地址不固定不一定是内核跑不起来的关键因素,微软提供的标准smdk2410的bsp代码就是这样的,在platform/smdk2410/src/kernel/oal/startup.s TEXTAREA ; Include memory configuration file with g_oalAddressTable INCLUDE oemaddrtab_cfg.inc LEAF_ENTRY StartUp 它的地址就不固定。可以把oal目录下不编译startup.s到oal.lib,kern/souces $(_PLATCOMMONLIB)\$(_CPUINDPATH)\oal_startup_s3c2440a.lib \ 类似,如果你有platform/common/src/arm/samsung/s3c2440a/startup目录代码。 |
|