硬件平台: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
修改如下:
- ??
- static?struct?Partition?NandPart[]?=?{??
- ????{0,??????????0x00020000,?"boot"},?????????
- ????{0x00020000,?0x00060000,?"bootParam"},????
- ????{0x00080000,?0x00100000,?"pic"},??????????
- ????{0x00180000,?0x00380000,?"MyApp"},????????
- ????{0x00500000,?0x00300000,?"kernel"},???????
- ????{0x00800000,?0x0f000000,?"fs_yaffs"},?????
- ??????
- ??????
- };??
使用ADS工具,重新编译bootloader,生成.bin文件,然后烧写bootloader,这样分给linux文件系统的flash 大小为240M(由于自己不用
WIN CE)
这样使linux充分利用flash,不用将许多库文件挂载成NFS了
然后修改FL2440自带的内核(大部分驱动都已经集成)修改linux/arch/arm/plat-s3c24xx/common-smdk.c
struct?mtd_partition?smdk_default_nand_part[]?=?{??
- [0]?=?{??
- ????????.name???=?"Boot",??
- ????????.size???=?0x00100000,??
- ????????.offset?=?0??
- ????},108); list-style:decimal-leading-zero outside; color:inherit; line-height:18px; margin:0px!important; padding:0px 3px 0px 10px!important"> ????[1]?=?{??
- ????????.name???=?"MyApp",??
- ????????.size???=?0x003c0000,??
- ????????.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]?=?{??
- ????????.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]?=?{??
- ????????.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,??????
- ????????.offset?=?0x00800000,????
- /*[4]?=?{?
- ????????.name???=?"WINCE",?
- ?
- ????????.offset?=?0x04400000,0); background-color:inherit">????}?
- ????*/??
- };????????
然后make zImage重新编译内核。烧写内核。
最后将以前制作好的文件系统烧写进去即可。
(注:由于大小为64M的sdram,文件系统过大将不能使用这种bootloader烧写进去,可以先将qt的库删除,启动起来后,使用NFS载,然
后复制过去即可)。

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

成功修改分区,将双系统改为单系统。
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|