uboot移植中的NOR FLASH配置

本文介绍了在SAMSUNG S3C2440开发板上移植u-boot1.1.6时,针对EN29LV160AB NOR Flash的硬件连接和软件配置过程,包括修改include/configs/2440.h、include/flash.c和board/2440/flash.c的详细步骤。
摘要由CSDN通过智能技术生成

移植环境:

主芯片:SAMSUNG s3c2440A

开发板:GT2440

uboot版本:u-boot1.1.6

NOR Flash型号:EN29LV160AB。

硬件连接原理图如下图所示:

  

EN29LV160支持半字、单字节访问方式。如上图Pin47BYTE#为high时,采用Word Mode。Flash芯片的地址线A0-A19与s3c2440地址线的ADDR1-ADDR20连接。因为Flash是half word访问模式,s3c2440是按照单字节方式访问。故地址线错位连接。这点在s3c2440的datasheet中有描述。例如当s3c2440读取地址0处的数据时,发送的地址为0000 0000 0000 0000 0000b,地址线错位连接后,Flash芯片接收的地址为0。当s3c2440读取地址1处的数据时,发送的地址为0000 0000 0000 0000 0001,地址线错位连接后,Flash芯片接收的地址依然为0。这样为的是解决存储单元不匹配的问题。

EN29LV160AB的扇区分配,datasheet描述如下:

Flexible sector architecture(复杂的扇区结构)

One 16-KByte、two 8-KByte、one 32-KByte and third-one 64-KByte sectors(byte mode) 

One 8-KWord、two 4-KWord、One 16-KWord and third-one 32-KWord sectors(Word mode)


软件修改

在/include/configs/2440.h中,

//注释原程序采用的两块nor Flash的配置 

#if 0

#define CONFIG_AMD_LV400     1 /* uncomment this if you have a LV400 flash */

#define CONFIG_AMD_LV800     1 /* uncomment this if you have a LV800 flash */

#endif

#define CONFIG_SYS_MAX_FLASH_BANKS 1  /* max number of memory banks */

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值