搜索
您的当前位置:首页正文

ARM嵌入式系统课程设计报告

来源:好走旅游网
湖南工业大学

课程设计

资料袋

电气与信息工程学院(系、部)2015-2016学年第1学期 课程名称嵌入式系统指导教师欧阳洪波职称讲师 学生姓名联想专业班级电子信息1203学号124017205XX 题目Linux操作系统开发环境的构建、移植与使用

成绩起止日期 2015年 12 月 14 日~ 2015年 12 月 27 日

目录清单

序号 1 2 3 4 5 6 材料名称 课程设计任务书 课程设计说明书 课程设计图纸 资料数量 备注 张 湖南工业大学

1

课程设计任务书

2015 —2016学年度 第 1学期

电气与信息工程学院(系、部)电子信息专业 1203 班级 课程名称:嵌入式系统课程设计

设计题目:Linux操作系统开发环境的构建、移植与使用

完成期限: 2015年12月14日~ 2015年12月27日共2周

内 容 及 任 务 在学习和初步掌握ARM嵌入式系统基础理论以及嵌入式系统设计与开发基本方法的基础上,进行Linux操作系统开发环境的构建、移植与使用等综合实践,具体任务如下: (1)Linux操作系统的安装及设置:包括VMware的安装,Linux操作系统的安装及设置;(2)Linux开发环境的构建及移植:包括:交叉编译器的安装,U-BOOT的配置与编译,Linux内核的配置与编译;Busybox等实用工具的安装;GUI工具包QT的安装等;(3)Linux基本操作命令的使用:各种Linux基本操作命令的使用。(4)Linux操作系统QT的使用:设计与调试一个温度转换参数处理的界面。 起止日期 17周周三上午 17周周三下午 17周周四上午 17周周四下午 17周周五上午 17周周五下午 17周周六上午 17周周六下午 其它时间 工作内容 课题的布置与讲解; (上午:08:00-11:45,5) Linux操作系统的安装及设置; (下午:14:00-17:45,5) Linux开发环境的构建及移植; (上午:08:00-11:45,5) Linux开发环境的构建及移植; (下午:14:00-17:45,5) Linux开发环境的构建及移植; (上午:08:00-11:45,5) Linux开发环境的构建及移植; (下午:14:00-17:45,5) Linux基本操作命令的使用;(上午:08:00-11:45,5) Linux操作系统QT的使用。(下午:14:00-17:45,5) 非统一安排上机调试,学生自行查找资料,自行进行实践,撰写报进 度 安 排 备注: 地点:电气205 主 要 参 考 资 料 [1] 谭会生.ARM嵌入式系统原理与应用开发[M].西安:西安电子科技大学出版社,2012 [2] 何文华,梁竞敏.Linux操作系统实验与实训. 北京:人民邮电出版社,2006. [3] 李蔚泽. Fedora Core 3 Linux安装与系统管理. 北京:中国铁道出版社,2006. [4] 朱居正,高冰.Red Hat Linux(Fedora Core 3)实用培训教程. 北京:清华大学出版社,2005. [5] 广州天嵌计算机科技有限公司的TQ2440+3.5开发板硬件及配套的软件,2010 指导教师(签字): 2015年12月 06日

系(教研室)主任(签字): 2015年12月06日

2

嵌入式系统课程

设 计 说 明 书

Linux操作系统开发环境的构建、移植与使用

起止日期:2015年 12 月 14 日~ 2015年 12 月 27 日共2周

学班学成

生姓名 级 号 绩

联想 电子信息1203 124017205XX

指导教师(签字)

电气与信息工程学院 2015年12月27日

3

目录

一、课程设计目的„„„„„„„„„„„„„„„„„„„„„„„„„„„„„5

二、课程设计要求„„„„„„„„„„„„„„„„„„„„„„„„„„„„„5

三、Linux 操作系统的安装及设置„„„„„„„„„„„„„„„„„„„„„„5

四、Linux 开发环境的构建及移植„„„„„„„„„„„„„„„„„„„„„„7

五、Linux 基本操作命令的使用„„„„„„„„„„„„„„„„„„„„„„14

六、课程设计收获和体会„„„„„„„„„„„„„„„„„„„„„„„„„16

4

一、课程设计目的

在学习和初步掌握ARM嵌入式系统的硬件结构与工作原理、ARM汇编程序设计语言、Linux操作系统等ARM嵌入式系统基础理论以及嵌入式系统设计与开发基本方法的基础上,进行Linux操作系统开发环境的构建、移植与使用等综合实践,为实际从事ARM+Linux嵌入式系统的设计与开发打下良好的基础。

二、课程设计要求

进行Linux操作系统开发环境的构建、移植与使用等综合实践,具体任务为:

(1)Linux操作系统的安装及设置:包括VMware的安装,Linux操作系统的安装及设置; (2)Linux开发环境的构建及移植:包括:交叉编译器的安装,U-BOOT的配置与编译,Linux内核的配置与编译;Busybox等实用工具的安装;GUI工具包QT的安装等;

(3)Linux基本操作命令的使用:各种Linux基本操作命令的使用。

(4)Linux操作系统QT的使用:设计与调试一个温度转换参数处理的界面。

三、Linux 操作系统的安装及设置

1.VMware 虚拟机的安装

VMware 软件有对Linux 系统和对Windows 系统的多种版本。用户可根据需要下载应用程序,但一定要与序列号对应,否则将不能使用该软件。VMware的安装步骤如下:

(1)创建安装文件夹。为了方便文件的管理,先自行创建一个文件夹,此文件夹用于虚拟机的安装。 (2)开始安装并设置。双击虚拟机的安装程序进行安装,并根据提示将安 装路径设置为所建的文件夹。

(3)输入授权序列号。根据安装提示,输入虚拟机安装的用户名、公司名和授权序列号,虚拟机的安装序列号一般是虚拟机软件自带,也可经注册获取。等待一段时间,虚拟机的安装完成之后,点击Finsh 按钮即可。

2.Linux 操作系统的安装

Linux 操作系统种类很多,常用的嵌入式Linux 系统包括RT-Linux、μCLinux、ARM-Linux、XLinux 等。在虚拟机下用的比较多的Linux操作系统有由Canonical公司开发的ubuntu系列和Fedora Project 社区开发Fedora系列系统。其中Fedora是一个知名的Linux发行版,是一款由全球社区爱好者构建的面向日常应用的快速、稳定、强大的操作系统。它允许任何人自由地使用、修改和重发布,无论现在还是将来。它由一个强大的社群开发,这个社群的成员以自己的不懈努力,提供并维护自由、开放源码的软件和开放的标准。Fedora是一个独立的操作系统,可运行的体系结构包括x86(即i386-i686), x86_64和PowerPC。考虑到Fedora 的优秀性能,本次嵌入式课程设计选择Fedora-10-i386为安装版本。

Fedora的安装步骤如下:

(1) 新建虚拟机。先打开虚拟机,从虚拟机中新建一个Virtual Machine Wizard;然后选择自定义

模式进行操作系统的安装。如图1所示

图1 Virtual Machine Wizard 安装模式的选择

5

(2)安装镜像的选择。当出现安装镜像选择的提示时,点击“Browes...”选择事先下载好的Linux 镜像路径,并加载至Virtual Machine Wizard 中。

(3)操作系统的选择。当出现操作系统选择对话框时,根据设计需要,选择的操作系统为Linux,Linux 的版本号选择Linux2.6.x kernel。

(4)设置登录用户名称和密码。

(5)存储容量的设定。当出现虚拟存储器容量设定对话框时,为了满足设计的运行需要,将系统的内存大小设置为1.5G。

(6)网络类型的选择。当出现网络类型选择对话框时,根据网络工作情况选择合适的网络工作方式。本次网络类型选择为桥网络链接。

(7)硬盘设定的选择。当出现磁盘设定选择对话框时,因本设计系统需要的硬盘比较大,故在安装前将硬盘大小设置为20GB 左右,选择单个文件存储虚拟磁盘。 (8)Fedora 基本设置完成,如图2所示。

图2 Fedora 基本设置完成

(9)进入安装界面,如图3所示。

图3 Fedora 安装界面

3.Linux 操作系统的设置

3.1 root 用户权限的设定

6

在操作系统安装完成后,需要对相关文档进行权限修改才能使用root 权限。具体修改方法为:首先通过终端进入root 权限,然后gedit 操作命令对系统文件gdm 进行修改。 进入root权限:[swh@host000c2930d809 ~]$ su root 输入密码:Password:

打开gdm文件:[root@host000c2930d809 swh]# gedit /etc/pam.d/gdm

将gdm 文本文档中的第二行屏蔽掉,也就是在对应的文本行前添加一个注释符#,具体操作如下图4所示:

图4对gdm 文件的修改

3.2 系统网络参数的修改

(1)为了使系统的网络能连接正常工作,可通过修改网络相关参数文档ifcfg-eth0进行设置。 用gedit命令打开ifcfg-eth0:[root@host000c2930d809 /]# gedit /etc/sysconfig/network-scripts/ifcfg-eth0

(2) 根据所安装的操作系统的PC的IP地址对网络相关参数进行设置,如图5所示。

图5系统默认ifcfg-eth0文件参数

四、Linux 开发环境的构建及移植

1.系统工具安装的准备

(1)工具包压缩文件的解压。由于系统所给的工具包是压缩文件,因此需将其解压后才能进行安装,具体操作为:将在/media/VMwareTools/ 目录下的VMwareTools-9.2.0-799703.tar.gz 安装包解压到opt 目录下,如下图6所示: 用tar 指令进行解压:

[root@host000c2930d809 /]# tar xvfz /media/VMware\\ Tools/VMwareTools-9.2.0-799703.tar.gz -C /opt/

7

图6解压系统工具包中的压缩文件至opt目录下

(2)输入命令运行安装程序。解压完成后要运行安装文件,需要先进入到解压后的文件夹目录下,才能根据相应的操作指令运行其中的安装程序,具体操作如下:进入vmware-tools-distrib目录:[root@host000c2930d809 /]# cd /opt/vmware-tools-distrib/,安装VMware-tools:[root@host000c2930d809 vmware-tools-distrib]# ./vmware-install.pl

(3)程序安装过程选项的设置。在安装程序的运行过程中,系统会给出一些相关设置选项,此时可根据系统所给的默认选择进行选择,如系统默认的选择为yes,那么只需输入yes即可。

(4)系统文件的共享设置。为了Windows系统和Linux系统之间的资源共享,以及方便后面各种软件的安装,在完成工具包的安装后,需要建立Windows系统和Linux系统之间的文件共享。

(5)共享文件目录的设置。为了实现文件共享,首先需要在PC机创建好Image和Linux 共享文件夹,Image 文件夹用来存放镜像文件,Linux 用来存放系统相关文件,然后将添加到系统共享文件夹中,具体操作如下图7所示:

图7共享文件添加

(6)共享文件夹的验证。共享文件添加完成后,需要通过操作系统中的终端使用ls 指令对系统是否达到文件共享进行检验。检验结果如图8所示即代表文件夹共享成功,如果没有成功,则需要重新启动操作系统。 进入共享目录:[root@host000c2930d809 /]# cd /mnt/hgfs/

8

用ls 指令查看共享文件夹:[root@host000c2930d809 hgfs]# ls

图8共享文件验证

2.交叉编译器的安装

(1)交叉编译器的安装程序的准备。由于交叉编译器的安装程序放在PC机中,因此需要从PC机中将交叉编译器的安装压缩文档拷贝到共享文件夹中;又因为安装程序为压缩文件,因此需要通过终端命令对编译器的压缩文件进行解压。

进入共享文件夹:[root@host000c2930d809 /]# cd /mnt/hgfs/Images/HGD/ 查看文件:[root@host000c2930d809 HGD]# ls

解压安装包:[root@host000c2930d809 HGD]# tar xvfj EABI-4.3.3_EmbedSky_20091210.tar.bz2 -C /opt/HGD/ (2)编译器的系统路径的修改。解压完成后,需要对编译器的相关系统文件进行修改使系统的关联路径能正确关联到交叉编译器,具体操作为:将编译器的系统路径pathmunge /opt/HGD/4.3.3/bin 加入到系统文件profile 中,修改完成后保存,如下图9所示:

图9编译器的系统文件的修改

用gedit 命令打开profile:[root@host000c2930d809 /]# gedit /etc/profile

(3)交叉编译器的安装验证。修改完系统文件后,可通过下图10所示的操作指令对交叉编译器是否安装成功进行验证。

验证交叉编译器是否正常:[root@host000c2930d809 HGD]# arm-linux-gcc –v

9

图10交叉编译器的安装检验

3.U-Boot的配置与编译

(1)U-Boot的安装准备。先将PC机中U-Boot 的压缩文档拷贝到共享文件夹中,因为安装程序为压缩文件,因此需要通过终端命令对编译器的压缩文件进行解压,具体操作如下。

解压u-boot压缩包:[root@host000c2930d809 HGD]# tar xvfj u-boot-1.1.6_20091031.tar.bz2 -C /

(2)由于U-Boot的Makefile的指定编译路径不一定与交叉编译器的一致,因此需要修改U-Boot的Makefile指定交叉编译器和编译路径,如图11所示。

进入U-Boot主目录:[root@host000c2930d809 ]# cd /opt/EmbedSky/u-boot-1.1.6/ 用gedit 命令打开Makefile 文件:[root@host000c2930d809 ]# gedit Makefile 将u-boot的Makefile文件中的交叉编译路径CROSS_COMPILE指定为

/opt/HGD/opt/EmbedSky/crosstools_3.4.5_softfloat/gcc-3.4.5-glibc-2.3.6/arm-linux/bin/arm-linux-

图11修改U-Boot 的Makefile

(3)U-Boot程序的编译。为了成功地生成镜像文件,需要在解压完成后通过make命令对U-Boot源程序进行编译。 编译天嵌自带配置文件:[root@host000c2930d809 u-boot-1.1.6]# make EmbedSky_config 编译U-Boot:[root@host000c2930d809 u-boot-1.1.6]# make

(4)U-Boot程序的镜像验证。编译完成后,打开相关文件,验证是否已生成镜像,如下图12所示。为了后面的操作系统移植做准备,需将所生成的镜像文件复制到PC共享文件夹中。

将生成的.bin镜像文件拷贝到共享目录下:[root@host000c2930d809 u-boot-1.1.6]# cp -f u-boot.bin /mnt/hgfs/Images/u-boot_HGD_1.1.6_20091031.bin

10

图12 U-Boot程序镜像文件检验

4.Linux内核的配置与编译

(1)Linux内核的准备。由于内核的安装程序存放在PC 机中,因此需要从PC机中将内核的压缩文档拷贝到共享文件夹中,然后进行解压,具体操作如下所示:

解压内核压缩包:[root@host000c2930d809 HGD]# tar xvfj linux-2.6.30.4_20091030.tar.bz2 -C /

修改交叉编译器为arm-linux-以及架构为arm:[root@host000c2930d809 linux-2.6.30.4]# gedit Makefile 修改系统时钟为:[root@host000c2930d809 linux-2.6.30.4]# gedit arch/arm/mach-s3c2440/mach-smdk2440.c (2)Linux内核的配置。解压完成后,先将相关文件复制到指定目录下,然后执行make menuconfig命令进入内核配置图形窗口。在配置图形窗口中打开配置目录后,按照设计需要对内核的系统类型以及硬件选项进行设置。对于需要选择的项按Y键即可,需取消的选项可按N 进行取消,最后配置保存,如图13所示。 进入菜单配置:[root@host000c2930d809 linux-2.6.30.4]# make menuconfig

图13内核配置菜单

(3) 配置后Linux内核的编译。在完成内核的配置后,便可以使用makezImage命令对内核进行编译

并生成镜像文件,如图14所示:

11

图14 Linux内核镜像的生成

(4)Linux内核编译后的验证。编译完成后,可通过ls指令来检验是否成功生成了镜像文件。并将生成的zImage.bin文件拷贝到共享目录下。

拷贝镜像文件:[root@host000c2930d809 linux-2.6.30.4]# cp -f zImage.bin /mnt/hgfs/Images

(5)开机Logo画面的设置。为了将系统开机画面设置成自己所需要的画面,可在生成镜像后,先将图片存放到共享文件夹中,通过makemodules指令修改系统的开机画面,然后对图片做相关的修改予以保存到操作系统中。 (6)开机Logo 修改后内核的编译。完成图片的编译后,即可重新对内核进行编译,并生成镜像文件。

(7)修改开机Logo 后内核的编译验证。在镜像生成后为了为后续的下载做准备,需要检验是否生成了镜像,并将生成的新镜像复制到共享文件夹,如图15所示。

图15检验是否生成了镜像文件

5.实用工具Busybox的安装

(1)Busybox安装程序的准备。先将Busybox 的压缩文档拷贝到共享文件夹中,然后通过终端命令对Busybox 的压缩文件进行解压。

解压BusyBox:[root@host000c2930d809 HGD]# tar xvfj busybox-1.13.0.tar.bz2 -C /opt/EmbedSky/

(2)启动Busybox的配置操作。在解压完成后,同内核编译一样,需要根据设计的需要通过make menuconfig命令对Busybox的相关性能进行设置,如图16所示。

12

进入busybox主目录:[root@host000c2809 HGD]# cd /opt/EmbedSky/opt/EmbedSky/busybox-1.13.0/ 执行menuconfig:[root@host000c2809 busybox-1.13.0]# make menuconfig

图16 BusyBox 配置

(3)Busybox配置后的编译。配置完成后,为了成功安装Busybox,需要通过make命令对Busybox 进行编译。 进入菜单配置窗口:[root@host000c2930d809 busybox-1.13.0]# make menuconfig 对BusyBox进行编译:[root@host000c2930d809 busybox-1.13.0]# make

(4)进行Busybox程序的安装。编译完成后,通过make install 命令对Busybox进行安装。 对BusyBox进行安装:[root@host000c2930d809 busybox-1.13.0]# make install (5)Busybox相关文档的修改。安装完成后,为了Busybox的正常运行,需对相

关文档进行修改。在opt/EmbedSky/目录下建立root_2.630.4_test目录,将_install 目录下的sbin,bin,linuxrc拷贝到root_2.630.4_test。

6.apps的安装过程

(1)apps安装程序的准备。先将PC机上的apps的压缩文档拷贝到共享文件夹中,然后进行解压,操作指令如下。 解压apps安装包:[root@host000c2930d809 /]# tar xvfj apps_20091208.tar.bz2 -C /opt/HGD

(2)apps程序的配置编译。解压完成后,为了apps的成功安装,需要先对相关文档进行修改,然后使用make命令对apps程序进行编译

进入apps主目录:[root@host000c2930d809 HGD]# cd /opt/HGD/apps/ 进入按钮模块软件:[root@host000c2930d809 apps]# cd Buttons/ 清除之前编译的文件:[root@host000c2930d809 Buttons]# make clean

指定编译器路径:[root@host000c2930d809 Buttons]# export PATH=/opt/HGD/opt/EmbedSky/4.3.3/bin:$PATH 编译模块软件:[root@host000c2930d809 Buttons]# make 将生成的可执行文件复制到跟文件系统的/sbin/目录下

(3)apps程序的安装与修改。编译完成后,便可以使用make install命令对apps程序进行安装,安装完成后,对相关文档进行修改即可。

7.GUI工具包QT的安装

安装QT-Designer和QT—Creantor两个软件,安装过程如下:

安装qt-designer:[root@host000c2930d809 /]# yum install qt 安装qt-devel:[root@host000c2930d809 /]# yum install qt-devel 安装qt-creator:[root@host000c2930d809 /]# yum install qt-creator

13

图17 qt-creator 启动界面

五、Linux 基本操作命令的使用

1.passwd命令

功能:用于设置用户密码 用法:passwd用户名

2.su命令

功能:su命令用于切换用户 用法:su【选项】【用户名】 选项及含义:

3.cp命令

功能:复制命令

用法:cp【选项】源文件或目录目标文件或目录 选项及选项含义:

14

4.mv命令

功能:移动或更名

用法:mv【选项】源文件或目录目标文件或目录 选项及选项含义:

5.rm命令

功能:用于删除文件或目录 用法:rm【选项】文件或目录 选项及选项含义:

6.pwd命令

功能:用于查看当前路径 用法:pwd

7.ls命令

功能:用于查看目录 用法:ls【选项】【目录或文件】 选项及选项含义:

8.tar命令

功能:用于打包与压缩

用法:tar【选项】目录或文件 选项及选项含义:

15

9.kill命令

功能:杀死进程

用法:kill【选项】进程号 选项及选项含义:

六、课程设计收获和体会

回顾起此次课程设计,至今我仍感慨颇多,从理论到实践,在整整两个星期的日子里,我学到很多很多的东西,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的内容。尽管过程中困难重重,但是在自己不懈努力和老师的帮助下,我们都能够一一得到解决。

回顾一下我们完成的主要任务有:Linux操作系统的安装及设置、Linux开发环境的构建及移植、Linux基本操作命令的使用、Linux操作系统QT的使用和移植。

平时我们学的都是理论知识,很少有实践的机会,而且这个课程设计是一个比较有针对性的训练。它要求的知识面非常广,也需要对嵌入式开发有一定的深度研究。平时看着老师演示感觉没什么难度,也挺容易懂,真正到自己去独立完成的时候,问题就来了。在遇到问题时,需要我们自己去分析问题,找到问题的根源,并努力尝试去解决问题。在这过程中,我确切感受到嵌入式在我们生活中的重要性。因为嵌入式开发的操作的步骤比较多,有时候错一步,后面就无法继续进行,因此在每个操作步骤上都要非常的认真细致去做,这样也让我在平时养成了认真细致的习惯,同时也学会了查阅书籍或上网查资料解决问题的方法。我相信这对于我们今后的工作那会有很大的帮助。

在设计的过程遇到了各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计,把以前所学过的知识重新温故,巩固了所学的知识为实际从事ARM+Linux嵌入式系统的设计与开发打下良好的基础。

最后感谢老师给我的帮助,同时也感谢学校,给了我们一个这么好的学习平台!

16

因篇幅问题不能全部显示,请点此查看更多更全内容

Top