s3c2440 移值2016的u-boot-第3篇-支持Nor flash 识别

Posted 宁次

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了s3c2440 移值2016的u-boot-第3篇-支持Nor flash 识别相关的知识,希望对你有一定的参考价值。

当选择,NOR flash 启用时,才可以访问 NOR FLASH 。
/common/board_r.c 364 line:
initr_flash()
flash_size = flash_init();

/drivers/mtd/cfi_flash.c
想要打开调试的话, 就定义这个
#define DEBUG
flash_init()
debug("JEDEC PROBE: ID %x %x %x\\n",
info->manufacturer_id,
info->device_id,
info->device_id2);
if (jedec_flash_match(info, info->start[0]))
break;

/drivers/mtd/Jedec_flash.c
static const struct amd_flash_info jedec_table[] 中添加

 1 {
 2         .mfr_id        = (u16)MX_MANUFACT, // 厂家ID
 3         .dev_id        = AM29LV160DB,      // 设备ID 2249
 4         .name        = "MX 29LV160DB",   // 名称随意写
 5         .uaddr        = {
 6             [1] = MTD_UADDR_0x0555_0x02AA /* x16 */
 7         },
 8         .DevSize    = SIZE_2MiB,    //NOR FLASH 大小
 9         .CmdSet        = CFI_CMDSET_AMD_LEGACY, // 默认 
10         .NumEraseRegions= 4,    // 4个擦除块,在下面写有每个大小
11         .regions    = {
12             ERASEINFO(16*1024, 1),
13             ERASEINFO(8*1024,  2),
14             ERASEINFO(32*1024, 1),
15             ERASEINFO(64*1024, 31),
16         }
17     },

 

烧写发现错误
ERROR: too many flash sectors
smdk2440.h
#define CONFIG_SYS_MAX_FLASH_SECT (19) 修改为比较大的值 35 : 1+2+1+31 

打开调试,输出的信息

 

编译成功后,去掉调试信息

 

 

以上是关于s3c2440 移值2016的u-boot-第3篇-支持Nor flash 识别的主要内容,如果未能解决你的问题,请参考以下文章

s3c2440 移值u-boot-2016.03 第5篇 支持dm9000 识别

s3c2440 移值u-boot-2016.03 第6篇 支持mtd yaffs 烧写

移值2016的u-boot-第2篇-支持Nand flash启动

U-boot在S3C2440上的移植详解

怎样移植u-boot和linux到s3c2440开发板

uboot在s3c2440上的移植