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

链接: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/

你可能感兴趣的:(嵌入式培训课程笔记,笔记,linux,arm开发)