嵌入式培训机构四个月实训课程笔记(完整版)-Linux ARM平台编程第一天-嵌入式系统概述(物联技术666)

发布时间:2024年01月23日

链接: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目录下

??? 生成不带GUI的根文件系统

? #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/

文章来源:https://blog.csdn.net/vx349014857/article/details/135774853
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。