链接:https://pan.baidu.com/s/1-u7GvgM0TLuiy9z7LYQ80Q?pwd=1688
提取码:1688
上午:嵌入式系统概述
下午:嵌入式系统的搭建
教学内容:
1、什么是嵌入式系统
以应用为中心,以计算机为基础,软硬件可裁剪,适用需求,对性能、要求、成本、体积、功耗等有严格要求。
2、制作boot\kernel\yaffs三个文件的流程:
一、安装交叉编译器
# cd /home/linux_platform2.6.34/
安装以下交叉编译工具:
2.95.3: 用于编译vivi
4.3.2: 用于编译u-boot
#mkdir –p /usr/local/arm
#tar zxvf arm-linux-gcc-2.95.3.tar.gz –C /usr/local/arm
#tar zxvf arm-linux-gcc-4.3.2.tar.gz –C /usr/local/arm
其中4.3.2需要假加入环境变量(此项工作前面应该已经做过)
#vi ~/.bashrc //对当前所有的起作用
#export PATH=/usr/local/arm/4.3.2/bin:$PATH
二、配置编译bootloader-------vivi
#tar jxvf vivi-unsp.tar.bz2
#cd vivi-unsp
#make distclean //清除所有中间信息
#cp unsp2440.config .config //裁剪过程
#make menuconfig
注意:如果显示没有ncurses图库,自己安装ncurses.
进入输入:./configure ; make; make install ;
由于采用的是配置好的脚本,因此不用做任何修改,直接保存退出即可
#make
在当前路径下会生成 vivi 的二进制文件。
#cp vivi /home/linux_platform/image/my_vivi
将生成的vivi镜像拷贝到image目录下,并改名为my_vivi
三、配置编译u-boot
#tar jxvf u-boot_unsp.tar.bz2
#cd u-boot_unsp
#make distclean
#make unsp2440_config //makefile中的标号 unsp2440_config
#make
在当前目录下会生成一个u-boot.bin的文件
将生成的u-boot镜像拷贝到image目录下,并改名为my_u-boot.bin,
cp u-boot.bin /home/linux_platform/image/my_u-boot.bin
将tools目录下生成的mkimage文件拷贝到/bin目录中,后面用于制作u-boot所需格式的内核
#cp u-boot_unsp/tools/mkimage /bin
四、配置编译内核
#tar jxvf linux-unsp-2.6.34.tar.bz2
#cd linux-2.6.34
#make distclean
#cp unsp_config .config
#make menuconfig
跟vivi类似,由于采用的是配置好的脚本,因此不用做任何修改,直接保存退出即可。
#make zImage
在/arch/arm/boot下会生成zImage文件
在此目录下执行以下命令:
#mkimage -n 'linux-2.6.34' -A arm -O linux -T kernel -C none -a 0x30008000 -e 0x30008000 -d zImage uImage
会在当前路径下生成uImage这个文件
#cp /arch/arm/boot/zImage /home/linux_platform/image/my_zImage
#cp /arch/arm/boot/uImage /home/linux_platform/image/my_uImage
将生成的zImage镜像拷贝到image下,并改名为my_zImage (vivi启动所需的内核)
将生成的uImage镜像拷贝到image下,并改名为my_uImage (u-boot启动所需的内核)
五、根文件系统的制作(cramfs、yaffs)
cramfs格式的文件
cramfs格式的根文件系统为只读文件系统,大小压缩了一倍。cramfs是可逆的文件系统,即我们可以将其压成镜像,也可以将其从镜像中解压出来。
#tar zxvf cramfs-1.1.tar.gz //编译cramfs根文件系统制作工具
#cd cramfs-1.1
#make
会在当前路径下编译得到两个工具:mkcramfs cramfsck
#cp mkcramfs cramfsck /bin //将两个工具拷贝到根目录的/bin下
其中mkcramfs用来生成cramfs格式的根文件系统
cramfsck用来将已生成的根文件系统释放为文件夹
2)yaffs格式的文件
yaffs格式的根文件系统是可读可写的文件系统,没有经过压缩,是不可逆的。
#tar zxvf yaffs2.tar.gz
#cd yaffs2/utils
#make //会产生mkyaffsimage
#cp mkyaffsimage /bin //将生成的工具拷贝到bin目录下
#tar jxvf rootfs_noGUI_34.tar.gz2 //解压不带QT库及开源工程的根文件系统
# mkcramfs rootfs_noGUI_34/ rootfs_noGUI.cramfs
//将刚才解压出来的根文件系统制作成cramfs格式的镜像
#mkyaffsimage rootfs_noGUI_34/ rootfs_noGUI.yaffs
#cp rootfs_noGUI.cramfs /home/linux_platform/image/
#cp rootfs_noGUI.yaffs /home/linux_platform/image/
六、生成带GUI的根文件系统
#tar jxvf rootfs_GUI_34.tar.bz2
# mkcramfs rootfs_34/ rootfs_GUI.cramfs
//制作带GUI界面的根文件系统
#mkyaffsimage rootfs_34/ rootfs_GUI.yaffs
#cp rootfs_GUI.cramfs /home/linux_platform/image/
#cp rootfs_GUI.yaffs /home/linux_platform/image/