分类: LINUX
2010-04-20 14:52:01
mini2440开发全过程(拼凑)
一。移植U-Boot-2008.10到友善之臂mini2440
http://blog.chinaunix.net/u3/96581/showart_1934276.html
1. U-Boot移植
1.1移植准备
1.1.1 添加开发板的配置选项
1.1.2 在/board子目录中建立自己的开发板mini2440目录
1.1.3 在include/configs/中建立配置头文件
1.1.4 测试编译能否成功 :make clean。make mini2440_config。make。生成u-boot.bin
1.2 修改U-Boot中的文件,以同时匹配2440和2410
1.2.1 修改/cpu/arm920t/start.S
1.2.2 添加Nand Flash 读取函数
1.2.3 修改board/mini2440/lowlevel_init.S文件
1.2.4 修改GPIO和PLL的配置
1.2.5 修改u-boot支持烧写yaffs映像文件
1.2.6 修改DM9000驱动
1.2.7 Nand Flash 驱动
1.2.8 修改u-boot-2008.10/cpu/arm920t/s3c24x0/interrupts.c 文件
1.2.9 修改 cpu\arm920t\s3c24x0\speed.c ,修改根据时钟寄存器来计算时钟的方法。
1.2.10 修改u-boot-2008.10/drivers/usb/usb_ohci.c ,添加对2440的支持
1.2.11 添加mini2440的机器ID
1.2.12 修改u-boot-2008.10/include/configs/mini2440.h 头文件
1.2.13 修改u-boot-2008.10/lib_arm/board.c 文件
1.2.14 搜索以下文件,把支持S3C2410的宏定义改成同时支持S3C2410和S3C2440
二。
基于S3C2440的Linux内核移植和yaffs2文件系统制作
http://blog.csdn.net/country_boy/archive/2009/09/16/4560264.aspx#_Toc236379581
1.3 Linux内核移植
1.3.1 移植内核和根文件系统准备工作
1.3.2 修改Linux源码中参数
修改makefile。修改平台输入时钟。修改machine名称(可以不改)。修改Nand flash分区信息。修改LCD背光。LCD参数修改。
7、 给内核打yaffs2文件系统的补丁
8、修改S3C2440的机器号
1.3.3 配置Linux内核
make s3c2410_defconfig
make menuconfig
1.3.4、编译内核
1、make dep实际上读取配置过程生成的配置文件,来创建对应于配置的依赖关系树,从而决定哪些需要编译而那些不需要编译。
2、make clean
3、make zImage //Uboot 中make uImage
第二章 制作根文件系统
2.2、构建根文件按系统
2.2.1、建立根文件系统目录
2.2.2、建立动态链接库
2.2.3 交叉编译Bosybox
2.2.4 建立etc目录下的配置文件
1、etc/mdev.conf文件
2、拷贝主机etc目录下的passwd、group、shadow文件到rootfs/etc目录下。
3、etc/sysconfig目录下新建文件HOSTNAME,内容为”MrFeng”。
4、etc/inittab文件
5、etc/init.d/rcS文件
6、 etc/profile文件:
7、resolv.conf
2.2.5 创建dev目录
2.2.6 制作根文件系统映像文件
mkyaffs2image rootfs rootfs.img
第三章 启动系统
三。移植QtEmbedded-4.5.2到mini2440开发板
http://blog.163.com/yuan_xihua/blog/static/30740544200966103422494/
1,下载解压源码:qt-x11-opensource-src-4.5.2.tar.bz2和qt-embedded-linux-opensource-src-4.5.2.tar.bz2
2,配置编译Qt源码:
3,配置编译QtE源码X86版本:qt-embedded-linux
4,在QVFB上运行DEMO代码:qt-x11-opensource-src-4.5.2/tools/qvfb
5,配置编译QtE源码ARM版本:qt-embedded-linux
6,在ARM板上运行DEMO:复制到开发板
7,裁剪编译QtE源码ARM版本
四。移植
http://blog.chinaunix.net/u2/75270/showart_1836713.html
用supervivi烧写u-boot.bin到NandFlash
nand flash引导kernel:set bootcmd 'nand read 0x31000000 0x50000 0x00200000;bootm 0x31000000'
nand flash启动根文件系统:set bootargs 'noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttySAC0'
设置serverip为tftp服务器的IP地址。例如,输入set serverip '192.168.1.80',
最后输入saveenv保存参数。
打开TFTP服务器。在u-boot下输入tftp 0x30000000 uImage,稍等,即可成功下载uImage到内存中了
再输入nand erase 0x50000 0x200000删除掉kernel空间原有的数据。
再输入nand write 0x30000000 0x50000 0x200000,将内存中的kernel烧入nand flash。
输入tftp 30000000 rat_root,将根文件系统镜象下载到内存中,
再输入nand erase 0x250000 0x3dac000将root空间内原有数据删除。
再输入nand write.yaffs 0x30000000 0x250000 0x101f730,其中0x101f730是root镜象的size,
重启开发板就可以正常引导到新版的内核中了
mini2440驱动分析:http://blog.chinaunix.net/u2/69999/article_116001.html
U-BOOT环境变量实现 :http://blog.chinaunix.net/u2/70445/showart_1078839.html
u-boot的Makefile分析 :http://blog.chinaunix.net/u2/70445/showart_1084572.html
u-boot-2009.03 for mini2440 :
http://blog.chinaunix.net/u1/34474/showart_1953098.html
http://blog.csdn.net/tekkamanitachi/archive/2009/06/04/4243505.aspx
移植u-boot-2009.03到友善之臂mini2440开发板step1.2.3:
构建基本的嵌入式Linux根文件系统:
http://blog.chinaunix.net/u1/34474/showart_485837.html
:( 下载)