K9G8G08U0A升级到K9GAG08U0D烧录NK要注意的地方

由于三星的MLC flash 型号为K9G8G08U0A已经停产,可能有些朋友会使用K9GAG08U0D进行替换,由于两个flash的页大小不一样(K9G8G08U0A页大小是2KB,K9GAG08U0D页大小是4K),在烧录NK的时候有些地方要注意一下,下面是s3c6410 WINCE6.0 MLC版本的BSP包的修改方法

nand.cpp文件的WriteRawImageToBootMedia函数

第一个地方

#ifdef NAND_4K
        if (SECTORS_PER_PAGE == 8)
			dwNumPage+=2;  // page No. 0 and 1 use only 2KByte/Page, so add 2 page.
#else
		if (SECTORS_PER_PAGE == 8)
			dwNumPage++;  // page No. 0 and 1 use only 2KByte/Page, so add 1 page.
#endif

第二个地方

#ifdef NAND_4K
			if (dwPage < 4 || IS_SLC)
			{
				nSctBitmap = 0xf;
				nBufCnt = BYTES_PER_SECTOR*4;
			}
#else
			if (dwPage < 2 || IS_SLC)
			{
				//nSctBitmap = 0xf;
				//nBufCnt = BYTES_PER_SECTOR*4;
				if(BYTES_PER_MAIN_PAGE == 2048)//for 2Kpage
				{
					nSctBitmap = 0xf;
					nBufCnt = BYTES_PER_SECTOR*4;
				}
			}

#endif

第三个地方

#ifdef NAND_4K
			if (IS_MLC && dwPage >= 4 && dwPage < 10) dwPage = 10; //for 8K Stepping stone
#else
			if(BYTES_PER_MAIN_PAGE == 2048)//for 2Kpage
			{
				if (IS_MLC && dwPage >= 4 && dwPage < 10) dwPage = 10; //for 8K Stepping stone
			}

#endif



你可能感兴趣的:(K9G8G08U0A,K9GAG08U0D)