加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

FL2440 开发板 更改1G Byte NAND FLASH

发布时间:2020-12-15 18:46:43 所属栏目:百科 来源:网络整理
导读:前言: ?????? 公司电脑被偷,先前自己的技术资料被洗劫一空,继续不下去,索性下定决心换一块FL2440开发板的NAND FLASH芯片进行开发。NAND FLASH芯片我分别换过四种型号分别是K9F8G08U0M,K9GAG08U0E,H27UAG8T2B,H27U8G8T2BTR,基本上我从51就开始使用NAND FL

前言:

?????? 公司电脑被偷,先前自己的技术资料被洗劫一空,继续不下去,索性下定决心换一块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,以下为截图...

?

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读