架 软考架构师知识库 系统架构设计师 · 课件全文检索
已就绪 127 份课件 1966 页

嵌入式知识体系

第六章-嵌入式技术应用 · 49 页 · 11416 字 录播 讲义

嵌入式知识体系

项目 内容
来源 录播
章节 第六章-嵌入式技术应用
标签 讲义
页数 49
总字数 11416
原始课件 基础录播课/第六章-嵌入式技术应用/1-5 嵌入式知识体系.pdf

本文由课件自动整理,页内文字按原始讲义阅读顺序还原;[图] 表示该位置存在图示,

图示内容请对照原始课件查看。


目录


第 1 页 · N E W P L A

N

软考系统架构师

嵌入式知识体系

第 2 页 · 01

考点介绍

第 3 页 · 历年出题和本章知识点

硬件

1.嵌入式微处理器体系结构

2.微处理器分类

3.多核处理器

•

本章偶尔会考到,一般占3~5分,

比计算机部分出题概率大一些

•

选择或者案例都有可能会考,但

软件

是大部分会超纲,教材上没有

1.嵌入式系统

•

本章特点是知识点过于庞杂,比

2.嵌入式操作系统

较考验知识储备

•

重点通过讲真题来覆盖

3.嵌入式软件

第 4 页 · 02

嵌入式微处理器体系结构

第 5 页 · 嵌入式微处理体系结构

冯诺依曼体系结构:

1.

传统计算机采用冯·诺依曼(Von Neumann)结构,也称普林斯顿结构。

2.

程序和数据共用一个存储空间。程序指令和数据放在同一个存储器的不同地址上。

3.

单一的地址及数据总线,程序指令和数据的宽度相同。

4.

串行执行,处理器执行指令时,先从储存器中取出指令解码,再取操作数执行运算,在传

输上会出现瓶颈。

[图]

第 6 页 · 嵌入式微处理体系结构

哈弗体系结构:

1.

程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存

储器,每个存储器独立编址、独立访问。

2.

独立的地址及数据总线,两个存储器对应两套独立的地址总线和数据总线。

3.

并行执行,提高速度。

[图]

第 7 页 · 嵌入式微处理体系结构

两种架构的区别:

在冯诺依曼架构中,指令和数据共享同一个存储器,CPU只能执行一条指令,因为它需要等待指

令和数据都被读取到CPU中。而在哈佛架构中,指令和数据存储在不同的内存中,CPU可以同时

访问指令和数据内存,因此可以同时执行多条指令。所以,可以这样理解,冯诺依曼架构是单车道,

而哈佛架构是多车道。

冯诺依曼架构的好处,就是简单、易于实现和设计。哈佛架构的好处,可以使用不同的技术来优化

性能。

冯·诺依曼架构适用于大多数通用计算机,因为它能够灵活地处理各种不同的计算任务,同时还可

以使用缓存等技术来优化性能。而哈佛架构则适用于一些特定的应用领域,例如需要高效地处理大

量数据的嵌入式系统,或数字信号处理器等领域。

第 8 页 · 03

微处理器分类

第 9 页 · 微处理器分类

•

根据微处理器的字长宽度(同时能够处理数据的字长),可分为4位、8位、16位、32位和64

位。

•

16位及以下的称为嵌入式微控制器。

•

32位及以上的称为嵌入式微处理器。

•

如果按系统集成度划分,可分为两类:

•

一种是微处理器内部仅包含单纯的中央处理器单元,称为一般用途型微处理器:

•

一种则是将CPU、ROM、RAM及I/O等部件集成到同一个芯片上,称为单芯片微控制器

(Single Chip Microcontroller)。

第 10 页 · 微处理器分类

提示:本页以图示为主,下列文本为图中标注文字。

如果根据用途,微处理器分为以下四类:

[图]

第 11 页 · 微处理器分类

嵌入式微控制器MCU(Micro Control Unit):(CPU+片内内存+片内外设)

1.

典型代表是单片机,将计算机的CPU、RAM、ROM、定时/计数器和多种I/O接口集成在一片芯片上,

形成芯片级的计算机,为不同的应用场合做不同组合控制。

2.

特点是单片化,体积大大减小,从而使功耗和成本下降,其片上外设资源一般较丰富,适合于控制,

是嵌入式系统工业的主流。

[图]

遥控器、汽车音响、车载电脑、空调、微波炉、

油烟机、电磁炉、电饭煲、电风扇、计算器、智

能充电器、POS机、收银机、显示器、打印机、

扫描仪、无人机、电控门、考勤机等等等

第 12 页 · 微处理器分类

嵌入式微处理器MPU(Micro Processor Unit):(CPU)

•

由通用计算机中的CPU演变而来。它的特征是具有32位以上的处理器,具有较高的性能,当然其价格也相应较

高。但与计算机处理器不同的是,在实际嵌入式应用中,只保留和嵌入式应用紧密相关的功能硬件,去除其他

的冗余功能部分,这样就以最低的功耗和资源实现嵌入式应用的特殊要求。

•

与工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点。目前常见的有ARM、

MIPS、POWER PC等

•

应用场景:适用于需要高性能计算和复杂算法处理的系统。不过需要外挂大容量的存储器(如DDR和FLASH)

来支持运行复杂操作系统和大型程序。

[图]

嵌入式系统大多使用微控制器,原因在于:

节约成本和节省功耗:在实现相同功能的前提下,将大量的芯片集

成在一块芯片内的制造和使用成本,以及功耗都更低。

简化硬件设计:由于微控制器内集成了大量的外设,使得嵌入式系

统的硬件设计得到了极大的简化

第 13 页 · 微处理器分类

嵌入式数字信号处理器DSP(Digital Signal Processing/Processor):

•

是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,具有很高的编译效率和指

令的执行速度。

•

采用哈弗结构,流水线处理,其处理速度比最快的CPU还快10—50倍,它的强大数据处理能力和高运行速度,

是最值得称道的两大特色。

•

在数字滤波、FFT、光谱分析等各种仪器上,DSP获得了大规模的应用。

[图]

•

通信领域:DSP广泛应用于调制解调、信道编解码、信道均衡、自适应滤

波等方面。例如,GSM、CDMA、LTE等通信系统都使用DSP技术。

[图]

•

音频领域:DSP应用于音频编解码、声音增强、降噪、回声抑制、语音识

别等方面。例如,现代音频系统、手机、耳机等都使用DSP技术。

•

图像处理领域:DSP应用于图像压缩、图像滤波、图像增强、边缘检测、

图像分割等方面。例如,数字相机、手机摄像头、安防监控、医疗图像等

都使用DSP技术。

•

雷达和信号处理领域:DSP应用于雷达信号处理、目标跟踪、信号分析、

故障检测等方面。例如,航空、军事、汽车、火车等领域都使用DSP技术。

•

控制领域:DSP应用于控制系统、机器人、航天飞行器、汽车控制等方面。

例如,自适应控制、PID控制、预测控制等都使用DSP技术。

•

生物医学领域:DSP应用于心电信号处理、医学影像处理、脑电信号处理、

医学数据分析等方面。例如,心电图机、脑电图机、CT、MRI等医疗设备

都使用DSP技术。

第 14 页 · 微处理器分类

嵌入式片上系统SoC(System-on-a-Chip):

•

在同一个芯片上集成了控制部件(微处理、存储器)和执行部件(I/O接口、微型开关、微机械),能够自成体系、独立工

作的芯片,是追求产品系统最大包容的集成器件。

•

SoC最大的特点是成功实现了软硬件无缝结合,直接在处理器芯片内嵌入操作系统的代码模块。是一个有专用目标的

集成电路,其中包含完整系统并有嵌入软件的全部内容。(集成了软件系统)

•

SoC采用了片内可再编程技术,可使片上系统内硬件的功能可以像软件一样通过编程来配置,从而可以实时地进行灵

活而方便的修改和开发。

[图]

•

高端SoC芯片主要集中于手机、平板电脑、

服务器市场等

•

次高端SoC芯片多应用于安防、智能音频、

物联网等领域

•

专用型SoC芯片多应用于TWS耳机和智能手

表等。

第 15 页 · 考试真题

嵌入式处理器是嵌入式系统的核心部件,一般可分为嵌入式微处理器(MPU)、微控制器(MCU)、

数字信号处理器(DSP)和片上系统(SOC)。以下叙述中,错误的是()。

A.MPU在安全性和可靠性等方面进行增强,适用于运算量较大的智能系统

B.MCU典型代表是单片机,体积小从而使功耗和成本下降

C.DSP处理器对系统结构和指令进行了特殊设计,适合数字信号处理

D.SOC是一个有专用目标的集成电路,其中包括完整系统并有嵌入式软件的全部内容

答案:A

试题解析:大量运算是DSP处理器的特点。

第 16 页 · 04

多核处理器

第 17 页 · 多核处理器

•

多核指多个微处理器内核,是将两个或更多的微处理器封装在一起,集成在一个

电路中。多核处理器是单枚芯片,能直接插入单一的处理器插槽中。

•

多核与多CPU相比,很好的降低了计算机系统的功耗和体积。

•

在多核技术中,由操作系统软件进行调度,多进程,多线程并发都可以。

第 18 页 · 多核处理器

多核处理器有三种运行模式:

非对称多处理

2个处理内核彼此不同,各自处理和执行特定的功能,在软件的协调下

分担不同的计算任务。

A M P

对称多处理

将2颗完全一样的处理器封装在一个芯片内,达到双倍或接近双倍的处

理性能,节省运算资源。

S M P

混合多处理

与SMP类似,但可以指定将某个任务仅在某个指定内核上执行。

B M P

每一个模式适合于解决某方面的特定问题,而且对操作系统的要求也各不相

同,采用哪种模式,需要考虑硬件的差异情况。

第 19 页 · 多核处理器

[图]

[图]

多核CPU的调度算法一般有全局队列调度和局部队列调度两种(当有多个任务运行时,如何进行CPU的分配)

•

全局队列调度是指操作系统维护一个全局的任务等待队列,当系统中有一个CPU空闲时,操作系统就从全局任务等

待队列中选取就绪任务开始执行,CPU核心利用率高。

•

局部队列调度是操作系统为每个CPU内核维护一个局部的任务等待队列,当系统中有一个CPU内核空闲时,就从该

核心的任务等待队列中选取适当的任务执行,优点是无需在多个CPU之间切换。

第 20 页 · 考试真题

以下关于多核处理器的说法中,不正确的是()。

A.采用多核处理器可以降低计算机系统的功耗和体积

B. SMP、BMP和AMP是多核处理器系统通常采用的三种结构,采用哪种结构与应用场景相关,而无须

考虑硬件的组成差异

C.在多核处理器中,计算机可以同时执行多个进程,而操作系统中的多个线程也可以并行执行

D.多核处理器是将两个或更多的独立处理器封装在一起,集成在一个电路中

答案:B

第 21 页 · 考试真题

多核CPU环境下进程的调度算法一般有全局队列调度和局部队列调度两种。( )属于全局

队列调度的特征。

A.操作系统为每个CPU维护一个任务等待队列

B.操作系统维护一个任务等待队列

C.任务基本上无需在多个CPU核心间切换,有利于提高Cache命中率

D.当系统中有一个CPU核心空闲时,操作系统使从该核心的任务等待队列中选取适当的

任务执行

答案:B

试题解析:全局队列即操作系统只维护一个队列。

第 22 页 · 05

嵌入式系统

第 23 页 · 嵌入式系统

•

嵌入式系统的组成:一般嵌入式系统由嵌入式处理器、相关支撑硬件、嵌入式操作系统、

支撑软件以及应用软件组成。

①

嵌入式处理器。由于嵌入式系统一般是在恶劣的环境条件下工作,与一般处理器相比,嵌入式处

理器应可抵抗恶劣环境的影响,比如高温、寒冷、电磁、加速度等环境因素。为适应恶劣环境,

嵌入式处理器芯片除满足低功耗、体积小等需求外,根据不同环境需求,其工艺可分为民用、工

业和军用等三个档次。

②

相关支撑硬件。是指除嵌入式处理器以外的构成系统的其他硬件,包括存储器、定时器、总线、

I0接口以及相关专用硬件。

③

嵌入式操作系统。是指运行在嵌入式系统中的基础软件,主要用于管理计算机资源和应用软件。

与通用操作系统不同,嵌入式操作系统应具备实时性、可剪裁性和安全性等特征。

④

支撑软件。是指为应用软件开发与运行提供公共服务、软件开发、调试能力的软件,支撑软件的

公共服务通常运行在操作系统之上,以库的方式被应用软件所引用。

⑤

应用软件。应用软件是指为完成嵌入式系统的某一特定目标所开发的软件。

第 24 页 · 嵌入式系统

嵌入式系统应具备以下特性:

(1)专用性强。嵌入式系统面向特定应用需求,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌

入式系统的小型化。

(2)技术融合。嵌入式系统将先进的计算机技术、通信技术、半导体技术和电子技术与各个行业的具体应用相结合,是一

个技术密集、资金密集、高度分散、不断创新的知识集成系统。

(3)软硬一体软件为主。软件是嵌入式系统的主体,有IP核。嵌入式系统的硬件和软件都可以高效地设计,量体裁衣,去

除冗余,可以在同样的硅片面积上实现更高的性能。

(4)比通用计算机资源少。由于嵌入式系统通常只完成少数几个任务。设计时考虑到其经济性,不能使用通用CPU,这就

意味着管理的资源少,成本低,结构更简单。

(5)程序代码固化在非易失存储器中。为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或

单片机本身中,而不是存在磁盘中。

(6)需专门开发工具和环境。嵌入式系统本身不具备开发能力,即使设计完成以后,用户通常也不能对其中的程序功能进

行修改,必须有一套开发工具和环境才能进行开发。

(7)体积小、价格低、工艺先进、性能价格比高、系统配置要求低、实时性强。

(8)对安全性和可靠性的要求高。

第 25 页 · 嵌入式系统

嵌入式系统分为硬件层、抽象层、操作系统层、中间件层和应用层等5层。

① 硬件层。硬件层主要是为嵌入式系统提供运行支撑的硬件环境,其核心是微处理器、

存储器(ROM、SDRAM、Flash等)、I/O接口和通用设备以及总线、电源、时钟

等。

② 抽象层。在硬件层和软件层之间为抽象层,主要实现对硬件层的硬件进行抽象,为

上层应用(操作系统)提供虚拟的硬件资源。

③ 操作系统层。操作系统层主要由嵌入式操作系统、文件系统、图形用户接口、网络

系统和通用组件等可配置模块组成。

④ 中间件层。中间件层一般位于操作系统之上,管理计算机资源和网络通信,中间件

层是连接两个独立应用的桥梁。

⑤ 应用层。应用层是指嵌入式系统的具体应用,主要包括不同的应用软件。

第 26 页 · 嵌入式系统

板级支持包(BSP, board support package):

•

是介于主板硬件和操作系统中驱动层程序之间的一层,隶属于设备驱动层,一般认为它属于操作系统一部分,主要是实

现对操作系统的支持,为上层的驱动程序提供访问硬件设备寄存器的函数包,使之能够更好的运行于硬件主板。

•

主要目的是为了屏蔽底层硬件的多样性。

具体功能包括:

1.

单板硬件初始化,主要是CPU的初始化,为整个软件系统提供底层硬件支持

2.

为操作系统提供设备驱动程序和系统中断服务程序

3.

定制操作系统的功能,为软件系统提供一个实时多任务的运行环境

4.

初始化操作系统,为操作系统的正常运行做好准备。

主要具有以下两个特点:

① 硬件相关性,因为嵌入式实时系统的硬件环境具有应用相关性,而作为上层软件与硬件平台之间的接口,BSP需为操作

系统提供操作和控制具体硬件的方法。

② 操作系统相关性,不同的操作系统具有各自的软件层次结构,因此不同操作系统具有特定的硬件接口形式。

第 27 页 · 嵌入式系统

一般来说,BSP主要包括两个方面的内容:引导加载程序BootLoader和设备驱动程序。

BootLoader是嵌入式系统加电后运行的第一段软件代码,是在操作系统内核运行之前运行的一小段程序,通过这段程序,

可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境设置到一个合适的状态,以便为最终调用操作系

统内核做好准备。一般包括以下功能:

1.

片级初始化:主要完成微处理器的初始化,包括设置微处理器的核心寄存器和控制寄存器、微处理器的核心工作模

式及其局部总线模式等。片级初始化把微处理器从上电时的默认状态逐步设置成系统所要求的工作状态。这是一个

纯硬件的初始化过程。

2.

板级初始化:通过正确地设置各种寄存器的内容来完成微处理器以外的其他硬件设备的初始化。例如,初始化LED

显示设备、初始化定时器、设置中断控制寄存器、初始化串口通信、初始化内存控制器、建立内存空间的地址映射

等。在此过程中,除了要设置各种硬件寄存器以外,还要设置某些软件的数据结构和参数。因此,这是一个同时包

含有软件和硬件在内的初始化过程。

3.

加载内核(系统级初始化):将操作系统和应用程序的映像从Flash存储器复制到系统的内存当中,然后跳转到系

统内核的第一条指令处继续执行。

第 28 页 · 嵌入式系统

•

在一个嵌入式系统当中,操作系统是可能有也可能无的。但无论如何,设备驱动程序是必不可

少的。所谓的设备驱动程序,就是一组库函数,用来对硬件进行初始化和管理,并向上层软件

提供良好的访问接口。

•

对于不同的硬件设备来说,它们的功能是不一样的,所以它们的设备驱动程序也是不一样的。

但是一般来说,大多数的设备驱动程序都会具备以下的一些基本功能。

•

硬件启动:在开机上电或系统重启的时候,对硬件进行初始化。

•

硬件关闭:将硬件设置为关机状态。

•

硬件停用:暂停使用这个硬件。

•

硬件启用:重新启用这个硬件。

•

读操作:从硬件中读取数据。

•

写操作:往硬件中写入数据。

第 29 页 · 考试真题

以下关于嵌入式系统硬件抽象层的叙述,错误的是()。

A.硬件抽象层与硬件密切相关,可对操作系统隐藏硬件的多样性

B.硬件抽象层将操作系统与硬件平台隔开

C.硬件抽象层使软硬件的设计与调试可以并行

D.硬件抽象层应包括设备驱动程序和任务调度

答案:D

试题分析:硬件抽象层是位于操作系统内核与硬件电路之间的接口层,其目的在于将硬件抽象化。它

隐藏了特定平台的硬件接口细节,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台

上进行移植。在基于硬件抽象层的开发中,软硬件的设计和调试具有无关性,并可完全地并行进行。硬

件的错误不会影响到系统软件的调试,同样软件设计的错误也不会影响硬件。

第 30 页 · 06

嵌入式操作系统

第 31 页 · 嵌入式操作系统

•

嵌入式操作系统EOS负责嵌入式系统的全部软、硬件资源的分配、任务调度、控制、协调并发活动。

•

与通用操作系统相比, EOS主要有以下特点:

(1)微型化。 EOS的运行平台不是通用计算机,而是嵌入式系统。这类系统一般没有大容量的内存,几乎没有外存,因

此, EOS必须做得小巧,以占用尽量少的系统资源。

(2)代码质量高。 在大多数嵌入式应用中,存储空间依然是宝贵的资源,这就要求程序代码的质量要高,代码要尽量精简。

(3)专业化。 嵌入式系统的硬件平台多种多样,处理器的更新速度快,每种处理器都是针对不同的应用领域而专门设计

的。因此, EOS要有很好适应性和移植性,还要支持多种开发平台。

(4)实时性强。 嵌入式系统广泛应用于过程控制、数据采集、通信、多媒体信息处理等要求实时响应的场合,因此,实时

性成为EOS的又一特点。

(5)可裁减和可配置。 应用的多样性要求EOS具有较强的适应能力,能够根据应用的特点和具体要求进行灵活配置和合

理裁减,以适应微型化和专业化的要求。

第 32 页 · 嵌入式实时操作系统

嵌入式实时系统RTOS:

•

是一种完全嵌入受控器件内部,为特定应用而设计的专用计算机系统。

•

当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内

来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的嵌入式操作系统。

在嵌入式实时系统中,要求系统在投入运行前即具有确定性和可预测性。

•

可预测性是指系统在运行之前,其功能、响应特性和执行结果是可预测的;

•

确定性是指系统在给定的初始状态和输入条件下,在确定的时间内给出确定的结果。

工业控制、军事设备、航空航天等领域对系统的响应时间有苛刻的要求,这就需要使用实时系统。能提供及

时响应与高可靠性是主要特点。具体可以分为:

•

硬实时操作系统--在规定时间内必须完成操作。

•

软实时操作系统--按照任务优先级完成即可。

第 33 页 · 嵌入式实时操作系统

实时操作系统的特征:

①

高精度计时系统

计时精度是影响实时性的一个重要因素。在实时应用系统中,经常需要精确确定实时地操作某个设备或执行某个任

务,或精确的计算一个时间函数。这些不仅依赖于一些硬件提供的时钟精度,也依赖于实时操作系统实现的高精度

计时功能。

②

多级中断机制

一个实时应用系统通常需要处理多种外部信息或事件,但处理的紧迫程度有轻重缓急之分。有的必须立即作出反应,

有的则可以延后处理。因此,需要建立多级中断嵌套处理机制,以确保对紧迫程度较高的实时事件进行及时响应和

处理。

③

实时调度机制

实时操作系统不仅要及时响应实时事件中断,同时也要及时调度运行实时任务。但是,处理机调度并不能随心所欲

的进行,因为涉及到两个进程之间的切换,只能在确保“安全切换”的时间点上进行,实时调度机制包括两个方面,

一是在调度策略和算法上保证优先调度实时任务;二是建立更多“安全切换”时间点,保证及时调度实时任务。

第 34 页 · 考试真题

以下关于RTOS(实时操作系统)的叙述中,不正确的是()。

A.RTOS不能针对硬件变化进行结构与功能上的配置及裁剪

B.RTOS可以根据应用环境的要求对内核进行裁剪和重配

C.RTOS的首要任务是调度一切可利用的资源来完成实时控制任务

D.RTOS实质上就是一个计算机资源管理程序,需要及时响应实时事件和中断

答案:A

以下描述中,()不是嵌入式操作系统的特点。

A.面向应用,可以进行裁剪和移植

B.用于特定领域,不需要支持多任务

C.可靠性高,无需人工干预独立运行,并处理各类事件和故障

D.要求编码体积小,能够在嵌入式系统的有效存储空间内运行

答案:B

第 35 页 · 考试真题

以下以下关于实时操作系统(RTOS)任务调度器的叙述中,正确的是()。

A.任务之间的公平性是最重要的调度目标

B.大多数RTOS调度算法都是抢占方式(可剥夺方式)

C. RTOS调度器都采用了基于时间片轮转的调度算法

D.大多数RTOS调度算法只采用一种静态优先级调度算法

答案:B

试题分析:任务是RTOS中最重要的操作对象,每个任务在RTOS的调度下由CPU分

时执行。任务的调度目前主要有时间分片式、轮流查询式和优先抢占式三种,不同的

RTOS可能支持其中一种或几种,其中优先抢占式对实时性的支持最好。

在非实时系统中,调度的主要目的是缩短系统平均响应时间,提高系统资源的利用率,

或优化某一项指标;而实时系统中调度的目的则是要尽可能地保证每个任务满足他

们的时间约束,及时对外部请求做出响应。

第 36 页 · 考试真题

实时操作系统主要用于有实时要求的过程控制等领域。因此,在实时操作系统中,对

于来自外部的事件必须在()。

A.

一个时间片内进行处理

B.

一个周转时间内进行处理

C.一个机器周期内进行处理

D.被控对象允许的时间范围内进行处理

答案:D

第 37 页 · 07

嵌入式软件

第 38 页 · 嵌入式软件

嵌入式软件是指应用在嵌入式计算机系统当中的各种软件。

嵌入式软件按照功能分类:

•

系统软件:控制和管理嵌入式系统资源,为嵌入式应用提供支持的各种软件,如设备驱动程序、嵌入式

操作系统、嵌入式中间件等。

•

应用软件:嵌入式系统中的上层软件,定义了嵌入式设备的主要功能和用途,并负责与用户交互,一般

面向特定的应用领域,如飞行控制软件、手机软件、地图等。

•

支撑软件:辅助软件开发的工具软件,如系统分析设计工具、在线仿真工具、交叉编译器等。

第 39 页 · 嵌入式软件设计

•嵌入式软件要进行低功耗设计,主要技术有:编译优化技术、软硬件协同设计、算法优化。

•嵌入式系统软件的特点:规模较小、开发难度大、实时性和可靠性要求高、要求固化存储

[图]

第 40 页 · 嵌入式软件开发

嵌入式软件的开发可以分为几个阶段:编码、交叉编译、交叉调试。

•

编辑器:用于编写嵌入式源代码程序,从理论上来说,任何一个文本编辑器都可以用来编写源代码。各种集

成开发环境会提供功能强大的编辑器,如VS系列、eclipse、keil、CSS等。常见的独立编辑器:UE、

Source Insight、vim等。

•

编译器gcc:编译阶段的工作是用交叉编译工具处理源代码,生成可执行的目标文件。在嵌入式系统中,由

于宿主机和目标机系统不一样,需要使用交叉编译,GNU C/C++(gcc)是目前常用的一种交叉编译器,支

持非常多的宿主机/目标机组合。

•

调试器gdb:在开发嵌入式软件时,交叉调试是必不可少的一步。gdb是GNU开源组织发布的一个强大的程

序调试工具。

•

嵌入式软件调试特点:调试器运行在宿主机上,被调试程序运行在目标机上。调试器通过某种通信方式

与目标机建立联系,如串口、并口、网络、JTAG等。在目标机上一般有调试器的某种代理,能配合调

试器一起完成对目标机上运行程序的调试,可以是软件或支持调试的硬件。

第 41 页 · 嵌入式软件开发

•

交叉编译:

•

嵌入式软件开发所采用的编译为交叉编译。所谓交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。

编译的最主要的工作就在将程序转化成运行该程序的CPU所能识别的机器代码,由于不同的体系结构有不同的指

令系统。因此,不同的CPU需要有相应的编译器,而交叉编译就如同翻译一样,把相同的程序代码翻译成不同

CPU的对应可执行二进制文件。

•

嵌入式系统的开发需要借助宿主机(通用计算机)来编译出目标机的可执行代码。

•

交叉调试:

•

嵌入式软件经过编译和链接后即进入调试阶段,调试是软件开发过程中必不可少的一个环节,嵌入式软件开发过

程中的交叉调试与通用软件开发过程中的调试方式有很大的差别。

•

在嵌入式软件开发中,调试时采用的是在宿主机和目标机之间进行的交叉调试,调试器仍然运行在宿主机的通用

操作系统之上,但被调试的进程却是运行在基于特定硬件平台的嵌入式操作系统中,调试器和被调试进程通过串

口或者网络进行通信,调试器可以控制、访问被调试进程,读取被调试进程的当前状态,并能够改变被调试进程

的运行状态。

第 42 页 · 嵌入式数据库系统

按照数据库存储位置的不同而进行分类是目前广泛采用的分类方法,它可以划

分为三类:

•基于内存方式(Main Memory Database System,MMDB)

•基于文件方式(File Database,FDB)

•基于网络方式(Netware Database,NDB)

第 43 页 · 嵌入式数据库系统

提示:本页以图示为主,下列文本为图中标注文字。

[图]

第 44 页 · 嵌入式数据库系统

1.使用环境的特点:

(1)设备随时移动性。嵌入式数据库主要用在移动信息设备上,设备的位置经常随使用者一

起移动。

(2)网络频繁断接。移动设备或移动终端在使用的过程中,位置经常发生变化,同时也受到

使用方式、电源、无线通信和网络条件等因素的影响。所以,一般并不持续保持网络连接,而

是经常主动或被动地间歇性断接和连接。

(3)网络条件多样化。由于移动信息设备位置的经常变化,导致它们与数据库服务器在不同

的时间可能通过不同的网络系统连接,这些网络在带宽、通信代价、网络延迟和Qos等方面可

能有所差异。

(4)通信能力不对称。由于受到移动设备资源的限制,移动设备与服务器之间的网络通信能

力是非对称的。移动设备的发送能力都非常有限,使得数据库服务器到移动设备的下行通信带

宽和移动设备到数据库服务器之间的上行带宽相差很大。

第 45 页 · 嵌入式数据库系统

2.系统组成

•

一个完整的EDBMS由若干子系统组成,包括主数据库、同步服务器、嵌入式数据库和连接网

络等几个子系统:

•

嵌入式移动数据库在实际应用中必须解决好数据的一致性(复制性)、高效的事务处理和数

据的安全性等关键问题。

[图]

第 46 页 · 考试真题

以下关于嵌入式系统开发的叙述,正确的是()。

A.宿主机与目标机之间只需要建立逻辑连接

B.宿主机与目标机之间只能采用串口通信方式

C.在宿主机上必须采用交叉编译器来生成目标机的可执行代码

D.调试器与被调试程序必须安装在同一台机器上

答案:C

第 47 页 · 考试真题

嵌入式系统设计一般要考虑低功耗,软件设计也要考虑低功耗设计,软件低功耗设计一

般采用()。

A.结构优化、编译优化和代码优化

B.软硬件协同设计、开发过程优化和环境设计优化

C.轻量级操作系统、算法优化和仿真实验

D.编译优化技术、软硬件协同设计和算法优化

答案:D

试题分析:软件设计层面的功耗控制可以从以下几个方面展开:

①软硬件协同设计,即软件的设计要与硬件的匹配,考虑硬件因素。

②编译优化,采用低功耗优化的编译技术。

③减少系统的持续运行时间,可从算法角度进行优化。

④用“中断”代替“查询”。

⑤进行电源的有效管理。

第 48 页 · 考试真题

基于网络的数据库系统(Netware Database System,NDB)是基于4G/5G的移动通信之上,在逻辑上可以把嵌

入式设备看作远程服务器的一个客户端。以下有关NDB的叙述中,不正确的是()。

A. NDB主要由客户端、通信协议和远程服务器等三部分组成

B. NDB的客户端主要负责提供接口给嵌入式程序,通信协议负责规范客户端与远程服务器之间的通信,远

程服务器负责维护服务器上的数据库数据

C. NDB具有客户端小、无需支持可剪裁性、代码可重用等特点

D. NDB是以文件方式存储数据库数据。即数据按照一定格式储存在磁盘中,使用时由应用程序通过相应的

驱动程序甚至直接对数据文件进行读写

答案:D

第 49 页 · T H E E N D

功不唐捐,玉汝于成!

开

启

新

征

程