Wince6使用K9F4G08U0A升级至512MNandFlash

本文介绍了如何将WinCE6系统中使用的4GB NAND Flash升级到512MB的K9F4G08U0A芯片,主要涉及修改WINCE600PLATFORMSMDKV210SRCCOMMONNANDFLASHFMDcfnand.h中的设备参数,并更新WINCE600PLATFORMSMDKV210SRCBOOTLOADERSTEPLDR and.c以适应新的NAND Flash配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. WINCE600\PLATFORM\SMDKV210\SRC\COMMON\NANDFLASH\FMD\cfnand.h中只需要在这个数组里面增加K9F4G08U0A相关的参数

static NAND_FLASH_SPEC		g_supportedNAND[] = 
{
	{0xEC, 0xDC, SLC_NAND, 4096, 64, 2112, 2048, 64, 7, 7, 7},//K9F4G08U0A
	{0xEC, 0xDA, SLC_NAND, 2048, 64, 2112, 2048, 64, 7, 7, 7},//K9F2G08U0A
	{0xEC, 0xF1, SLC_NAND, 1024, 64, 2112, 2048, 64, 7, 7, 7},//K91FG08U0C
	{0x00, 0x00, SLC_NAND, 0, 0, 0, 0, 0}
};

2. WINCE600\PLATFORM\SMDKV210\SRC\BOOTLOADER\STEPLDR\nand.c中,做如下修改:

void NAND_Init(void)
{
    DWORD ReadID;

	BYTE cMID, cDID;
	
    // Configure BUS Width and Chip Select for NAND Flash

    // Initialize NAND Flash Controller
    rNFCONF = (TACLS << 12) | (TWRPH0 <<  8) | (TWRPH1 <<  4) | (0<<0); 
    rNFCONT = (0<<17)|(0<<16)|(0<<10)|(0<<9)|(0<<8)|(1<<7)|(1<<6)|(1<<5)|(1<<4)|(0x3<<1)|(1<<0);
    rNFSTAT = (1<<4);

    NF_Reset();

    // Get manufacturer and device codes.
    if (!ReadFlashID(&ReadID))
    {
        //Uart_SendString("ID Err\n");
        //Uart_SendDWORD(ReadID,1);
        //Uart_SendString("!\n");
    }

    cMID = NF_GET_MID(ReadID);
    cDID = NF_GET_DID(ReadID);

    switch(cMID)
    {
    	case 0xEC:
    	{
    		switch(cDID)
    		{
    			case 0xDA:		// Samsung 2Gbit SLC - K9F2G08U0A
    			{
    				g_bLargeBlock = TRUE;
    				NEED_EXT_ADDR = TRUE;
    				break;
    			}

				case 0xDC:		// Samsung 4Gbit SLC - K9F4G08U0A, Brian Liu
				{
					g_bLargeBlock = TRUE;
					NEED_EXT_ADDR = TRUE;
    				break;
				}

		    	case 0xF1:		// Samsung 1Gbit SLC - K91FG08U0C
    			{
    				g_bLargeBlock = TRUE;
    				NEED_EXT_ADDR = FALSE;
    				break;
    			}

    			default:
    				// Not supported NAND
					while(1);
    				break;
    		}

			break;    		
    	}

    	default:
    		// Not supported NAND
    		while(1);
    		break;
    }
}


完毕。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值