当前课程知识点:嵌入式系统设计 > 第六章:嵌入式系统实验 > 实验一:基于ARM的嵌入式Linux开发环境建立 > Video
本实验目的
1、掌握Linux系统下交叉编译器的安装和配置
2、掌握在主机上启动实验所需系统服务的方法
3、掌握搭建嵌入式Linux开发环境的基本流程
4、掌握u-boot命令并自行设置启动参数
实验用到的设备与工具
包括
1、硬件:ARM嵌入式开发平台,以及相应的PC机
这就是我们用到的ARM实验箱
这是实验箱的内部
2、软件:PC机上基于虚拟机的Linux操作系统
以及串口通讯程序
ARM LINUX编译环境
实验原理
1、交叉编译器
2、NFS服务
3、TFTP服务
4、Bootloader
这四部分
实际上是有一定的层次关系的
最下面是硬件
在硬件通过Bootloader引导之后
再由操作系统来进行管理
在操作系统体现具体的操作
就是文件系统
比如说各种命令的运行
在文件系统之上
还有交叉编译器
用来编译内核及应用程序
在本实验
我们要熟悉Bootloader
实际上是u-boot的使用
TFTP服务的配置
NFS服务的配置与启动
以及交叉编译器的安装
实验步骤
1、安装交叉编译器ARM-LINUX-GCC
2、准备根文件系统
3、为了下载文件系统
需要配置和启动NFS服务
4、配置和编译内核
为了下载内核到开发板上
需要配置和启动tftp服务
6、为了监控开发板上程序的运行
需要配置minicom串口程序
来监测开发板
7、进入u-boot设置相应的启动参数
8、启动开发板
如果显示出正常的启动信息
就说明
我们的开发环境建立完毕
我们来看一下具体的实验操作
首先
我们来安装交叉编译器
在根目录下面
我们看得到
由arm-Linux-gcc这个交叉编译器的详细信息
如果要安装它
实际上
我们只需要解压就行了
这就是解压过程
解压完毕之后
我们要进行配置
让对应的编译命令能够直接找到
到etc下面
打开profile这个文件
看到这样一行
就是让我们直接能够使用arm-gcc的编译器
修改完之后
退出
重新录入配置文件
然后看配置文件是否生效
当看到这个路径的时候
就说明
我们交叉编译器已经安装好了
下面一步
准备根文件系统
我们首先
在根目录下
创建arm这个路径
然后
在arm中
有一个tootfs.tar.gz
接下来
将该根文件目录展开
展开之后
会生成一个rootfs的文件夹
这个文件夹下面
就是我们用到的文件系统
为了让文件系统能够下载到开发板
需要修改etc下的export这个文件
这个文件需要添加arm/rootfs
也就是说
要将我们刚才的根文件系统的目录输出
让开发板能够挂载
看见这样一行以后
如果我们启动对应的NFS
那么
这个文件夹就能够被开发板所识别
在这个根文件系统中
我们还需要创建rootfs/dev
先进入这个路径下面来
下一步为了通过NFS使用根文件系统
需要关闭防火墙
我们加入这样一个命令
进入这样一个设置
下一步启动NFS服务器
敲入这样的命令
此时NFS服务启动
在开发板就可以使用这个根文件
实验的第5步
创建tftp服务的目录
创建好了之后
就有这样一个路径
这个路径就是用于放置我们的内核
然后通过tftp服务
下载到开发板上运行
当创建好路径之后
需要启动tftp服务
敲入setup命令
选择系统服务
通过空格
选中tftp服务
接下来
编译开发板所需要的内核系统
首先下载一个内核源文件
比如说Linux 2.6.15
展开之后
就会产生Linux 2.6.15的文件夹
进入该文件夹
进行配置
这就是配置界面
配置完毕之后
使用make命令进行编译
此时
会生成压缩的内核镜像
放置到tftp的路径下面
开发板通过tftp连接到开发机的时候
就会下载这个内核
当我们完成nfs和tftp的配置之后
就可以让我们的内核和文件系统下载到开发板进行运行
为了监测开发板上的运行
我们需要一个串口终端
来和开发板连接上
在Linux下的串口终端就是minicom
大家可以看一下启动minicom
需要配置一定的参数
下面我们来看一下
如果配置启动参数
首先
启动开发板之后
在这进入运行界面
那么这个时候
可以用这个命令看一下当前的配置
当前的配置可以看得到
一些典型的参数
比如说开发板的IP地址
它要访问服务器的IP地址
还有启动参数
这个启动参数是非常重要的
这里实际上是告诉了
我们的文件系统是从rootfs这个路径得来的
要访问的是192.168.0.1这个服务器
也就是我们的PC机/开发机
然后
它的内核是通过tftp下载下来的
然后再展开运行
只有这些参数都配置好了
我们启动的时候
开发板才能通过网络的tftp服务器下载内核运行
通过nfs服务共享文件系统
使用
当成功配置之后
这个完整的启动过程
就是
先通过tftp下载内核
下载完之后就展开
展开启动
然后运行
挂载文件系统
文件系统运行之后
就给出欢迎信息
最后整个启动完毕
此时
看到的就是开发板上的内容
实验完之后
有以下思考题
1、如何验证交叉编译器已安装成功?
2、如果改变根文件系统的目录,该如何设置使得ARM开发板可以成功挂载?
3、怎么在u-boot命令行下修改ARM开发板的IP地址?
-1.1 嵌入式系统概念
--Video
-第一章:嵌入式系统基础--1.1 嵌入式系统概念
-1.2 嵌入式系统组成
--Video
-第一章:嵌入式系统基础--1.2 嵌入式系统组成
-2.1 嵌入式处理器发展历史
--Video
-第二章:嵌入式处理器--2.1 嵌入式处理器发展历史
-2.2 三星S3C2440 微处理器
--Video
-第二章:嵌入式处理器--2.2 三星S3C2440 微处理器
-3.1 嵌入式操作系统概述
--Video
-第三章:嵌入式操作系统--3.1 嵌入式操作系统概述
-3.2 嵌入式Linux 操作系统
--Video
-第三章:嵌入式操作系统--3.2 嵌入式Linux 操作系统
-3.3 Linux 操作系统实时性改造
--Video
-第三章:嵌入式操作系统--3.3 Linux 操作系统实时性改造
-4.1 基于Linux的开发流程
--Video
-第四章:嵌入式软件开发平台--4.1 基于Linux的开发流程
-4.2 GCC 编译器
--Video
-第四章:嵌入式软件开发平台--4.2 GCC 编译器
-4.3 GDB 调试器
--Video
-第四章:嵌入式软件开发平台--4.3 GDB 调试器
-5.1 Linux 设备驱动技术
--Video
-第五章:嵌入式Linux驱动开发--5.1 Linux 设备驱动技术
-5.2 Linux 设备驱动程序
--Video
-第五章:嵌入式Linux驱动开发--5.2 Linux 设备驱动程序
-实验一:基于ARM的嵌入式Linux开发环境建立
--Video
-第六章:嵌入式系统实验--实验一:基于ARM的嵌入式Linux开发环境建立
-实验二:基于ARM的模块方式驱动程序实验
--Video
-第六章:嵌入式系统实验--实验二:基于ARM的模块方式驱动程序实验