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

FL2440 Flash分区修改,充分利用256M的nand flash

发布时间:2020-12-15 07:05:10 所属栏目:百科 来源:网络整理
导读:硬件平台:FL2440开发板 内核版本:2.6.28 主机:ubuntu 11.04 内核版本:2.6.39 原创作品,转载请标明出处http://blog.csdn.net/yming0221/archive/2011/06/24/6566551.aspx ? 本来以为fl2440的nand flash大小为128M,问了客服才知道,现在FL2440使用的是现

硬件平台:FL2440开发板

内核版本:2.6.28

主机:ubuntu 11.04

内核版本:2.6.39

原创作品,转载请标明出处http://blog.csdn.net/yming0221/archive/2011/06/24/6566551.aspx

?

本来以为fl2440的nand flash大小为128M,问了客服才知道,现在FL2440使用的是现代的flash,现在都换成256M的了,只是飞凌的bootloader没有相应的修改,它使用的既不是u-boot,也不是vivi,而是自己的bootloader。现在修改bootloader源码中的nand.c

修改如下:

[cpp]? view plain copy
  1. //可更改删除分区,分区名字不可改??
  2. static?struct?Partition?NandPart[]?=?{??
  3. ????{0,??????????0x00020000,?"boot"},???????//128K?one?block??
  4. ????{0x00020000,?0x00060000,?"bootParam"},??//384K?three?blocks??
  5. ????{0x00080000,?0x00100000,?"pic"},????????//1M??
  6. ????{0x00180000,?0x00380000,?"MyApp"},??????//3.5M??
  7. ????{0x00500000,?0x00300000,?"kernel"},?????//3M??
  8. ????{0x00800000,?0x0f000000,?"fs_yaffs"},???//240M??
  9. ????//{0x09e00000,?0x00080000,?"eboot"},????????//512K??
  10. ????//{0x09e80000,?0x06400000,?"wince"},????????//100M??
  11. };??


使用ADS工具,重新编译bootloader,生成.bin文件,然后烧写bootloader,这样分给linux文件系统的flash 大小为240M(由于自己不用

WIN CE)

这样使linux充分利用flash,不用将许多库文件挂载成NFS了

然后修改FL2440自带的内核(大部分驱动都已经集成)修改linux/arch/arm/plat-s3c24xx/common-smdk.c

copy
    struct?mtd_partition?smdk_default_nand_part[]?=?{??
  1. [0]?=?{??
  2. ????????.name???=?"Boot",??
  3. ????????.size???=?0x00100000,??
  4. ????????.offset?=?0??
  5. ????},108); list-style:decimal-leading-zero outside; color:inherit; line-height:18px; margin:0px!important; padding:0px 3px 0px 10px!important"> ????[1]?=?{??
  6. ????????.name???=?"MyApp",??
  7. ????????.size???=?0x003c0000,??
  8. ????????.offset?=?0x00140000,108); list-style:decimal-leading-zero outside; color:inherit; line-height:18px; margin:0px!important; padding:0px 3px 0px 10px!important"> ????},248); line-height:18px; margin:0px!important; padding:0px 3px 0px 10px!important"> ????[2]?=?{??
  9. ????????.name???=?"Kernel",248); line-height:18px; margin:0px!important; padding:0px 3px 0px 10px!important"> ????????.size???=?0x00300000,108); list-style:decimal-leading-zero outside; color:inherit; line-height:18px; margin:0px!important; padding:0px 3px 0px 10px!important"> ????????.offset?=?0x00500000,108); list-style:decimal-leading-zero outside; color:inherit; line-height:18px; margin:0px!important; padding:0px 3px 0px 10px!important"> ????[3]?=?{??
  10. ????????.name???=?"fs_yaffs",108); list-style:decimal-leading-zero outside; color:inherit; line-height:18px; margin:0px!important; padding:0px 3px 0px 10px!important"> ????????.size???=?0x0f000000,????//240M??
  11. ????????.offset?=?0x00800000,????
  12. /*[4]?=?{?
  13. ????????.name???=?"WINCE",?
  14. ????????.size???=?0x03c00000,?
  15. ????????.offset?=?0x04400000,0); background-color:inherit">????}?
  16. ????*/??
  17. };????????

然后make zImage重新编译内核。烧写内核。

最后将以前制作好的文件系统烧写进去即可。

(注:由于大小为64M的sdram,文件系统过大将不能使用这种bootloader烧写进去,可以先将qt的库删除,启动起来后,使用NFS载,然

后复制过去即可)。

输入cat /proc/mtd查看分区信息

成功修改分区,将双系统改为单系统。

(编辑:李大同)

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

    推荐文章
      热点阅读