cpu:6410,os:wince,nandflash是256M的,吧nandflash的前64M固定下来,后面192M是exfat分区,修改如下:
eboot中的loader.h中修改
原先:
//#define RESERVED_BOOT_BLOCKS (NBOOT_BLOCK_SIZE + TOC_BLOCK_SIZE + EBOOT_BLOCK_SIZE)
#define RESERVED_BOOT_BLOCKS SECTOR_TO_BLOCK(FILE_TO_SECTOR_SIZE(0x4000000)) /*屏蔽前面64M空间*/
nandflash中的fmd.c中修改
函数:FMD_GetInfo
原先:
// pFlashInfo->dwNumBlocks = NUM_OF_BLOCKS;
修改后:
pFlashInfo->dwNumBlocks = NUM_OF_BLOCKS - 512; /* 512是64MB*/
重新烧制boot和nk.bin后,wince启动不了:
[OAL] OEMInitDebugSerial() : UBRDIV0 = 35, DivSlot = 1, UDIVSLOT0 = 0x00000080
Windows CE Kernel for ARM (Thumb Enabled) Built on Oct 20 2009 at 18:39:19
[OAL] ++OEMInit()
[OAL] S3C6410_APLL_CLK : 532000000
[OAL] ARMCLK : 532000000
[OAL] HCLK : 133000000
[OAL] PCLK : 66500000
[OAL] InitializeGPIO()
[OAL] InitializeCLKSource()
[OAL] InitializeCLKGating()
[OAL] InitializeBlockPower()
DCache: 128 sets, 4 ways, 32 line size, 16384 size
ICache: 128 sets, 4 ways, 32 line size, 16384 size
+OALArgsInit()
Arguments area has some values
-OALArgsInit()
+OALTimerInit( 1, 33249, 0 )
-OALIntrRequestSysIntr(irq = 38, sysIntr = 16)
[KITL] ++OEMKitlStartup()
KITL was Disabled from EBOOT !!
Please set KITL Configuration in EBoot !!
[OAL] --OEMInit()
[FMD] FMD_OEMIoControl() : IOCTL_FMD_GET_INTERFACE
[FMD] ++FMD_Init() ****
[FMD:INF] FMD_Init() : Read ID = 0x0000ecda
[FMD] FMD_Init() : NUM_OF_BLOCKS = 2048
[FMD] FMD_Init() : PAGES_PER_BLOCK = 64
[FMD] FMD_Init() : SECTORS_PER_PAGE = 4
[FMD] --FMD_Init()
[FMD] FMD_GetInfo() : NUMBLOCKS = 1536(0x600), SECTORSPERBLOCK = 64(0x40), BYTESPERSECTOR = 2048(0x800)
[FMD:ERR] FMD_OEMIoControl() : Unknown IOCTL (0x00071c24)
感觉是nandflash驱动读取分区死了,不知道什么原因?高手指点一下