
1.1 嵌入式系统简介与开发环境
1.1.1 嵌入式系统简介与应用
1.嵌入式系统的定义
根据IEEE(电气和电子工程师协会)的定义,嵌入式系统是“控制、监视、辅助机器和设备运行的装置(Devices used to control, monitor, or assist the operation of equipment, machinery or plants)”。从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。目前国内普遍被认同的嵌入式系统的定义是:以应用为中心,以计算机技术为基础,软件硬件可裁剪,对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。嵌入式系统主要由嵌入式处理器、嵌入式操作系统、外围硬件设备和用户的应用程序组成。嵌入式系统与个人计算机系统不同,嵌入式系统通常执行的是特定要求的任务。由于嵌入式系统只针对一项特殊的任务,设计人员能够对它进行优化、减小尺寸、降低成本。
2.嵌入式系统的发展
第一个现代嵌入式系统是麻省理工学院仪器研究室的查尔斯·斯塔克·德雷珀开发的阿波罗导航计算机,在两次月球飞行中都使用了这种惯性导航系统。第一款大批量生产的嵌入式系统是1961年用于“民兵Ⅰ”导弹上的D-17自动导航控制计算机。1966年,“民兵Ⅱ”导弹开始生产,D-17被集成电路所替代,仅仅这个项目就将与非门集成电路模块的价格从每个1000美元降到每个3美元,使集成电路的商用成为可能。“民兵”导弹的嵌入式计算机有一个重要的设计特性:它能够在项目后期对制导算法重新编程以获得更高的导弹精度,并且能够使用计算机测试导弹,从而减少测试电缆和接头的重量。
到了20世纪80年代中期,外部系统的元器件被集成到处理器芯片中,这种结构的微处理器得到了更广泛的应用。到了20世纪80年代末期,集成化的微处理器使得嵌入式系统的应用扩展到诸多领域,对多用途、低成本的微控制器进行编程,整合各种不同功能的组件。嵌入式系统很少有额外的元器件,大部分设计工作是软件部分,因此,不管是建立原型还是测试新功能,相对硬件来说都要容易很多,并且设计和建造一个新的外设电路不需要修改嵌入式处理器。如图1-1所示为嵌入式系统的基本组成。

图1-1 嵌入式系统的基本组成
3.嵌入式系统的特点
嵌入式系统并不是一个新生的事物,从20世纪80年代起,国际上就有一些组织、公司,开始进行商用嵌入式系统的研发,因此也涌现了一些著名的嵌入式操作系统。它们通常被设计得非常紧凑,抛弃了不需要的功能。Linux开放源码、内核小、功能强大、运行稳定、易于定制裁剪,支持多种CPU,遵循国际标准,全面支持网络,可以方便地获得众多第三方软硬件厂商的支持,因此很多嵌入式系统都会选择Linux操作系统。嵌入式系统的特点如下。
● 面向特定应用。
● 技术密集、资金密集、高度分散、不断创新的集成系统。
● 硬件和软件都必须高效率地设计,量体裁衣、去除冗余。
● 嵌入式系统的工业基础是以应用为中心的“芯片”设计和面向应用的软件产品开发。
要想学习嵌入式Linux系统技术,就必须有一块开发板。其中树莓派开发板的手册和资源做得较好,比较适合初学者学习。
4.嵌入式Linux系统的实际应用
嵌入式Linux系统的应用领域非常广泛,主要应用于信息家电、远程通信、医疗电子、交通运输、工业控制、航空航天领域等,具体应用如表1-1所示。
表1-1 嵌入式Linux系统的主要应用领域

1.1.2 虚拟机软件VM VirtualBox的安装

1.1.2 虚拟机软件VM VirtualBox的安装
VM VirtualBox是开源的虚拟机平台软件,目前VirtualBox支持的操作系统包括Debian、Fedora、Linux、Mac OS X(Intel)、Mandriva、OpenSolaris、PC Linux OS、Red Hat、SUSE Linux、Solaris 10、Ubuntu、Windows等。进入VirtualBox的项目主页下载6.1.32的版本,下面就一步一步地安装VirtualBox虚拟机平台软件。
1)双击VirtualBox-6.1.32-149290-Win.exe安装文件,直接单击“运行”按钮,进入如图1-2所示的安装提示界面。

图1-2 VirtualBox安装提示界面
2)单击“下一步”按钮继续安装,进入如图1-3所示的选择安装路径界面。

图1-3 选择安装路径界面
3)选择安装路径后,单击“下一步”按钮,进入如图1-4所示的默认创建图标和快捷方式界面。
4)单击“下一步”按钮,出现如图1-5所示的网络中断提示界面。
5)单击“是”按钮,出现如图1-6所示的准备安装提示界面。

图1-4 创建图标和快捷方式界面

图1-5 网络中断提示界面

图1-6 准备安装提示界面
6)单击“安装”按钮,出现如图1-7所示的安装进度界面。

图1-7 安装进度界面
7)安装过程中会出现如图1-8所示的相容性提示界面。

图1-8 相容性提示界面
8)单击“仍然继续”按钮,出现如图1-9所示的安装完成界面。单击“完成”按钮后,出现“重新启动系统”的提示,如图1-10所示。

图1-9 安装完成界面
9)重启系统后,桌面出现如图1-11所示的VirtualBox软件图标,至此,VirtualBox虚拟机平台软件安装完毕。

图1-10 “重新启动系统”的要求

图1-11 VirtualBox软件图标
1.1.3 在VM VirtualBox上安装Ubuntu开发环境

1.1.3 在VM VirtualBox上安装Ubuntu开发环境
本节讲解在VirtualBox上安装Ubuntu开发环境。
(1)新建虚拟机
1)双击VirtualBox软件图标,启动此软件。选择菜单“控制”→“新建”命令(如图1-12所示)。
2)出现图1-13所示的新建虚拟机向导。

图1-12 “新建”命令

图1-13 新建虚拟机向导
3)单击“下一步”按钮,出现如图1-14所示的Ubuntu设置界面。在“名称”文本框中输入虚拟机名称“ubuntu20.04”,在“文件夹”栏中选择保存虚拟机的目录。
4)单击“下一步”按钮,磁盘剩余空间要有50GB以上。出现如图1-15所示的内存设置界面,设置虚拟机内存为4096MB。
5)单击“下一步”按钮,在如图1-16所示的界面中,选择“现在创建虚拟硬盘”选项,单击“创建”按钮,来创建虚拟硬盘。

图1-14 Ubuntu设置界面

图1-15 内存设置界面
6)在如图1-17所示的界面中,选择虚拟硬盘文件类型为“VDI”后,单击“下一步”按钮。

图1-16 虚拟硬盘设置界面

图1-17 虚拟硬盘文件类型设置界面
7)在如图1-18所示的界面中,选择虚拟硬盘为“动态分配”,再单击“下一步”按钮。
8)在如图1-19所示的虚拟硬盘路径和大小的设置界面中,选择硬盘大小为50GB,单击“创建”按钮,即完成虚拟机上Ubuntu的初始设置。
(2)安装Ubuntu系统
1)在VirtualBox中选择菜单“控制”→“设置”命令,出现“ubuntu20.04-设置”对话框,如图1-20所示。选择“存储”选项,在“控制器:IDE”下单击“没有盘片”,在最右边单击光盘图标,加载Ubuntu 20.04的镜像文件,如图1-21所示。

图1-18 虚拟硬盘动态分配设置界面

图1-19 虚拟硬盘路径和大小设置界面

图1-20 “ubuntu20.04-设置”对话框

图1-21 选择Ubuntu的镜像文件
2)单击“打开”按钮,通过菜单选择“控制”→“启动”命令,显示如图1-22所示的启动Ubuntu虚拟机界面。

图1-22 启动Ubuntu虚拟机界面
3)出现如图1-23所示的选择语言界面,选择“中文(简体)”后,单击“安装Ubuntu”按钮。

图1-23 选择语言界面
4)在如图1-24所示的键盘布局界面中,选择“Chinese”选项,然后单击“继续”按钮。

图1-24 键盘布局界面
5)进入如图1-25所示的对话框,选择“正常安装”单选按钮后单击“继续”按钮。

图1-25 正常安装Ubuntu界面
6)进入如图1-26所示的磁盘分配界面,选择“清除整个磁盘并安装Ubuntu”单选按钮后,再单击“现在安装”按钮。

图1-26 磁盘分配界面
7)出现如图1-27所示的账户创建界面,为了教学方便,这里将账号和密码都设置为xmcu,单击“继续”按钮。

图1-27 账户创建界面
8)显示如图1-28所示的安装进度界面,安装完毕,出现如图1-29所示的安装完成界面,单击“现在重启”按钮,就可以进入Ubuntu 20.04系统了。

图1-28 安装进度界面

图1-29 安装完成界面
1.1.4 增强工具包的安装

1.1.4 增强工具包的安装
一般安装完VirtualBox平台软件后,还要安装扩展增强包,提供USB 2.0、USB 3.0、文件共享等功能。安装步骤如下。
1)在VirtualBox启动界面中,选择顶部的“管理”→“全局设定”→“扩展”命令,弹出“扩展”对话框,如图1-30a所示,单击右边的加号添加扩展包,选择随书配套的扩展包,如图1-30b所示。

图1-30 扩展包添加
a)“扩展”对话框 b)选择扩展包
2)出现如图1-31的提示,单击“安装”按钮。
3)出现VirtualBox许可,如图1-32a所示,单击“我同意”按钮,在弹出的扩展包提示框中单击“确定”按钮,如图1-32b所示。
4)配置完成后,进入Ubuntu系统,安装增强工具包,选择“设备”→“安装增强功能”命令,如图1-33所示。

图1-31 扩展包安装提示界面

图1-32 VirtualBox扩展包安装
a)VirtualBox许可 b)扩展包提示框
5)出现如图1-34所示的提示界面,单击“运行”按钮。

图1-33 VirtualBox安装增强功能

图1-34 VirtualBox增强包安装提示界面
6)出现如图1-35所示的VirtualBox增强包安装认证界面,输入密码后,开始安装增强包,如图1-36所示。按〈Enter〉键关闭这个界面后,重启虚拟机完成增强包的安装。

图1-35 VirtualBox增强包安装认证界面

图1-36 Ubuntu安装增强包界面
7)选择“设备”→“共享文件夹”→“共享文件夹”命令,设置共享目录,如图1-37所示,则将Windows系统的共享目录“F:\share”固定挂接在Ubuntu Linux系统下。

图1-37 共享文件夹的设置界面
8)在Ubuntu系统下,检查一下“/etc/group”文件中是否将创建的用户xmcu列入vboxsf用户组中,如图1-38所示,命令为vboxsf:x:998:xmcu。

图1-38 用户xmcu被列入vboxsf用户组
这样每次启动Ubuntu虚拟机时,就会自动将Windows系统的共享目录“F:\share”挂接在Ubuntu系统的“/media/sf_share”目录下,可以使用df -h命令查询共享目录是否设置成功,如图1-39所示。

图1-39 将Windows系统的“F:\share”挂接到Ubuntu系统的“/media/sf_share”目录