FL2440 开发板 更改1G Byte NAND FLASH

前言:

       公司电脑被偷,先前自己的技术资料被洗劫一空,继续不下去,索性下定决心换一块FL2440开发板的NAND FLASH芯片进行开发。NAND FLASH芯片我分别换过四种型号分别是K9F8G08U0M,K9GAG08U0E,H27UAG8T2B,H27U8G8T2BTR,基本上我从51就开始使用NAND FLASH,不过都是SLC类型的,对于MLC类型的FLASH在我使用ARM芯片的时候使用过,只要合理的使用YAFFS2文件系统,其实使用SLC,MLC类型的NAND FLASH都差不多。曾经我也一度认为MLC里面读写不能按照常规读写,很容易出现坏块,在合理使用YAFFS2后,不停的读写数据测试,经过1万多次的测试,发现也挺可靠....

 

以下为使用芯片K9F8G08U0M

 

1:  换过NAND FLASH 后,烧写FL2440提供的BOOTLOAD固件,发现无法启动,串口一点反应都没有。开始以为是芯片没有焊接好,后来仿真发现是NAND FLASH型号不对,所以无法运行。

 

2: 以下为原BOOTLOAD需要修改内容

       1):  修改nand_lowlevel.c文件,里面有读取NAND FLASH的底层函数,这个是必须修改的。

       2):  修改nand.c函数,里面有分区信息,一个分区最小为一个块,要不然擦除分区的时候会把其它分区的内容擦除掉。

       3): 修改2440init.s文件,里面有上电启动操作NAND FLASH需要改为相应的块数据。

       4)  :     注意修改工程的时候你的启动开始地址,源程序开始地址是0x30000000,如果你修改为其它地址的话,在运行用户程序会检测内存,你必须跳过要不然就无法运行成功。并且修改为其它地址后,注意你的MMU设置,一定要设置MMU的分段地址起始,要不然你的程序肯定会跑飞。

 

       我根据U-BOOT里面对NAND FLASH的识别过程把上面三部分关于NAND FLASH读取改为通用类型,根据读ID的后2位数据来识别操作,只要是NAND FLASH都能够正常识别,唯一无法确定的是分区,分区只能分区表位置,然后修改BIN文件里面的数据完成。

 

3:  修改完成后,下载我移植过的U-BOOT 2011-09,以下为截图...

FL2440 开发板 更改1G Byte NAND FLASH - Smart_zhao - 军惠博客

 

 

FL2440 开发板 更改1G Byte NAND FLASH - Smart_zhao - 军惠博客

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值