TQ2440使用手册
Posted guqinglei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TQ2440使用手册相关的知识,希望对你有一定的参考价值。
TQ2440使用手册
版本次 | 修改内容 | 修改人员 |
---|---|---|
V1 | 新建 | 刘倪 |
一:开发环境的配置
见嵌入式开发环境的构建
二:uboot的编译与移植
2.1 配置uboot
参看u-boot-2014.04移植手册(TQ2440)
2.2 配置uboot驱动
参看第二部分内容以及
2.3编译uboot
2.3.1 uboot文件说明
? 为了节省时间,直接使用了国嵌提供的uboot_tq2440,并且尝试了网上提供的文件。分别为:
- uboot_tq2440:国嵌提供,编译OK,使用查看U-boot使用手册;
- jz2440:里面有u-boot-1.1.6与u-boot-1.1.6_100ask24x0;分别为韦山东提供的文件与补丁,打补丁方式为,进入u-boot-1.1.6根目录,运行patch p1 > ../u-boot-1.1.6_100ask24x0.patch,uboot使用为 make 100ask24x0_config,但是make时存在问题;
- u-boot-1.1.6_20100601为csdn中的文件使用为make EmbedSky_config,同样make有问题。
2.3.2 编译uboot_tq2440
- 解压,进入uboot_tq2440目录
- 清理编译文件和配置文件,make clean(清理编译文件),make distclean(清理配置文件)。该步没有做后编译会出问题
- 配置uboot. make TQ2440_config
- 编译uboot. make
2.3.4 uboot使用
- 在norflash模式下,把u-boot.bin(该文件就是在uboot_tq2440中)下载到开发板nandflash
- 使用sudo dnw u-boot.bin
4.在nandflash下,学习uboot的简单命令
三 内核的编译与移植
3.1 x86平台内核配置与移植
3.1.1 清理配置文件
make distclean
3.1.2 配置linux内核
配置方式:
make config配置——文本交互;
make menuconfig配置——界面交互。
3.1.3 编译内核代码
make zImage V=1
make bzImage V=1
编译好的内核位于arch/
3.1.4 编译内核模块
? 将编译好的内核模块,从内核源代码目录复制至/lib/modules下**,为打包做好准备
3.1.5 编译根文件系统,制作init ramdisk
mkinitrd initrd-$version $version
3.1.6 安装内核与文件系统
cp arch/x86/boot/bzImage /boot/vmlinuz-$version
cp initrd-$version /boot/
修改/etc/grub.conf
3.2.RAM平台内核配置与移植
3.2.1 清理配置文件
make distclean
3.2.2 进行配置
make config配置——文本交互;
make menuconfig配置——界面交互。
这里两种方式都是为了生成.config配置文件。这里为了方便,直接将配置好的文件config-file拷贝到linux内核代码目录中,并改为.config;在执行
make menuconfig ARCH=arm
注意:如果不是通过命令行复制.config,最好重新打开终端。同时注意要将.config中的CONFIG_INITRAMFS_SOURCE改为空或者为自己开发板建立根目录地方(/home/guqinglei/Writing_code/TQ2440/rootfs)。还要注意把 Device Drivers 选项下的看门狗(Watchdog Timer Support)关掉,否则开发板进入文件系统之后,过一段时间又自动重新启动。
3.2.3 编译RAM内核
make uImage ARCH=arm CROSS_COMPILE=arm-linux-
生成的文件在arch/arm/boot/uImage
- zImage和uImage的区别
3.2.4 编译内核模块
见下一节内容
3.2.5 安装根文件系统
见下一节内容
3.3.安装下载内核
- 将来文件从arch/arm/boot/uImage拷贝到tftp挂载目("/home/guqinglei/Wring_code/TQ2440/tftpboot")
- 下载内核:
tftp 0x31000000 uImage
- 测试内核启动:
bootm ox31000000
- 启动内核
- 交叉开发时,开机自动通过tftp下载文件:
#setenv bootcmd tftp 0x31000000 uImage \; bootm 0x31000000
#saveenv
- 开机自动从nand flash中读取内核:
#nand write 0x31000000 400000 500000(内核下载在0x31000000后)
#setenv bootcmd nand read 0x31000000 400000 500000 \; bootm 0x31000000
#saveenv
四.文件系统的编译与移植
4.1 根文件系统的制作
4.1.1 建立根文件系统目录
#mkdir rootfs
#cd rootfs
#mkdir bin dev etc lib proc sbin sys usr mnt tmp var
#mkdir usr/bin usr/lib usr/sbin lib/modules
4.1.2 建立根文件系统目录
#cd rootfs/dev
#mknod -m 666 console c 5 1
#mknod -m 666 null c 1 3
4.1.3 加入配置文件
#tar etc.tar.gz
#mv etc/* rootfs文件夹 -rf
4.1.4 添加内核模块——安装常用的驱动模块
#cd linux源文件目录
#make modules ARCH=arm CROSS_COMPILE=arm-linux-
#make modules_install ARCH=arm INSTALL_MOD_PATH=根目录所在文件夹(/home/guqinglei/Writing_code/TQ2440/rootfs)
通过/home/guqinglei/Writing_code/TQ2440/rootfs/lib/modules/2.6.30.4-EmbedSky/kernel/drivers
可以查看有没有安装驱动可以确定是否安装成功。
4.1.5 编译/安装busybox——安装系统执行命令
配置busybox
cd busybox-1.13.3/ make clean make distclean make menuconfig
- Busybox Settings ->build Options->选中 “Build busybox as a static binary”,->将ross Compiler prefix (静态链接)设置为arm-linux-
- Installation Options->选中 “Don‘t use /usr”(选中该项可以避免busybox 被安装到宿主系统的/usr目录下,破坏宿主系统) ->将Busybox Installation Prefix设为
/home/guqinglei/Writing_code/TQ2440/ rootfs
(表明编译后的busybox的安装位置)
编译、安装busybox
make make install
通过查看/home/guqinglei/Writing_code/TQ2440/rootfs/bin是否存在内核常用命令,可以判断该步是否成功
2.挂载文件系统
4.2.1 创建Initramfs的软链接
#cd /home/guqinglei/Writing_code/TQ2440/rootfs
#ln –s ./bin/busybox init
或者:
#cd /home/guqinglei/Writing_code/TQ2440/rootfs/bin
#ln –s busybox ../init
4.2.2 文件系统
使用Initramfs文件系统
- 编译内核
#cd 进入linux源代码目录 #make clean #make menuconfig
进入general setup->Initial RAM filessystem and RAM disk...填入rtoof路径(/home/guqinglei/Writing_code/TQ2440/rootfs)
#make uImage ARCH=arm CROSS_COMPILE=arm-linux-
- 设置uboot环境变量
#setenv bootargs noinitrd console=ttySAC0,115200 #saveenv
备注:不知道为什么还是进不去文件系统
使用NFS文件系统
- 编译内核
#cd 进入linux源代码目录 #make clean #编译内核 #make menuconfig
进入general setup->取消Initial RAM filessystem and RAM disk...
返回主界面,进入file systems->选择network file systems->选择root file systems on NFS#make uImage ARCH=arm CROSS_COMPILE=arm-linux-
- 设置uboot环境变量
#setenv bootargs noinitrd console=ttySAC0,115200 init=/init root=/dev/nfs rw nfsroot=192.168.0.119:/home/guqinglei/Writing_code/TQ2440/rootfs,proto=tcp,nfsvers=3 ip=192.168.0.110:192.168.0.119:192.168.0.1:255.255.255.0::eth0:off #saveenv
- 将uImage拷贝到tftp挂载目录,下载内核。
?
以上是关于TQ2440使用手册的主要内容,如果未能解决你的问题,请参考以下文章
移植 uboot2012.04.01 到tq2440--建立自己的开发板
我是天嵌s3c2440的板子,现在Linux移植,一直按厂家手册做的,可是make menuconfig的时候总是出现如下错误