关于6410下wince6.0的nandflash 分区问题

wolf365   2010-5-19 10:43 楼主
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驱动读取分区死了,不知道什么原因?高手指点一下

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复