好文档 - 专业文书写作范文服务资料分享网站

ARM-Linux 内核移植--基于FL2440开发板(修改为Linux单系统)

天下 分享 时间: 加入收藏 我要投稿 点赞

ARM-Linux 内核移植--基于 FL2440 开发板(修改为

Linux 单系统)

硬件平台:FL2440 开发板内核版本:2.6.28 主机:ubuntu 11.04 内核版本:2.6.39

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

//可更改删除分区,分区名字不可改 staticstructPartitionNandPart[]

={{0,0x00020000,”boot”},//128Koneblock{0x00020000,0x00060000,”bootParam”}, //384Kthreeblocks{0x00080000,0x00100000,”pic”},//1M{0x00180000,0x00380000, ”MyApp”},//3.5M{0x00500000,0x00300000,”kernel”},//3M{0x00800000,0x0f0000 00,”fs_yaffs”},//240M//{0x09e00000,0x00080000,”eboot”},//512K//{0x09e80000,0x 06400000,”wince”},//100M{0,0,0}};使用 ADS 工具,重新编译 bootloader,生成. bin 文件,然后烧写 bootloader,这样分给 linux 文件系统的 flash 240M(由于自己不用 WIN CE)

这样使 linux 充分利用 flash,不用将许多库文件挂载成 NFS 了 然后修改 FL2440 自带的内核(大部分驱动都已经集成)修改 linux/arch/arm/plat-s3c24xx/common-smdk.c

大小为

staticstructmtd_partitionsmdk_default_nand_part[]={[0]={.name=“Boot”,.size=0x00 100000,.offset=0},[1]={.name=“MyApp”,.size=0x003c0000,.offset=0x00140000,},[ 2]={.name=“Kernel”,.size=0x00300000,.offset=0x00500000,},[3]={.name=“fs_yaffs ”,.size=0x0f000000,//240M.offset=0x00800000,},/*[4]={.name=“WINCE”,.size=0x0 3c00000,.offset=0x04400000,}*/};然后 make zImage 重新编译内核。烧写内核。 最后将以前制作好的文件系统烧写进去即可。

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

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

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

tips:感谢大家的阅读,本文由我司收集整编。仅供参阅!

ARM-Linux 内核移植--基于FL2440开发板(修改为Linux单系统)

ARM-Linux内核移植--基于FL2440开发板(修改为Linux单系统)硬件平台:FL2440开发板内核版本:2.6.28主机:ubuntu11.04内核版本:2.6.39本来以为fl2440的nandflash大小为128M,问了客服才知道,现在FL2440使用的是现代的flash,现在都换成2
推荐度:
点击下载文档文档为doc格式
8r82j0i68x8mqar1rud16ehs64cxmy011zl
领取福利

微信扫码领取福利

微信扫码分享