嵌入式系统
1. 嵌入式数据库
基于内存的数据库MMDB:是实时系统和数据库系统的有机结合。它是支持实时事务的最佳技术,其本质特征是以其“主拷贝”或“工作版本”常驻内存,即活动事务只与实时内存数据库的内存拷贝打交道。
基于文件的数据库FDB:是以文件方式存储数据数据库数据,即数据按照一定格式存储在磁盘中。使用时由应用程序通过相应的驱动程序甚至直接对数据文件进行读写。这种数据库的访问方式是被动的,只要了解其文件格式,任何程序都可以直接读取,因此它的安全性很低。虽然文件数据库存在诸多弊端,但是,可以满足嵌入式系统在空间、时间等方面的特殊要求。
基于网络的数据库NDB:是基于手机4G/5G的移动通信基础之上的数据库系统,在逻辑上可以把嵌入式设备看作远程服务器的一个客户端。它无需解析SQL语句;支持更多的SQL操作;客户端小、无须支持可裁剪性;有利于代码重用。
2. 嵌入式操作系统
HarmonyOS系统架构整体上遵从分层设计,从下向上分为内核层、系统服务层、框架层和应用层。
HarmonyOS系统功能按照“系统->子系统->功能/模块”逐步逐级展开,在多设备部署场景下,支持根据实际需求裁剪或增加子系统或功能/模块。
内核层:鸿蒙系统分为内核子系统和驱动子系统。在内核子系统中鸿蒙系统采用多内核设计,支持针对不同资源受限设备选用合适的OS内核;鸿蒙系统驱动框架是鸿蒙系统硬件生态开放的基础,它提供统一外设访问能力和驱动开发、管理框架。
系统服务层:系统服务层是鸿蒙系统的核心能力集合,通过框架层对应用程序提供服务。包含了系统基本能力子系统集、基础软件服务子系统集、增强软件服务子系统集、硬件服务子系统四个部分。
应用框架层:框架层为鸿蒙系统应用程序提供Java/C/C++/JS等多语言用户程序框架和Ability框架,及各种软硬件服务对外开放的多语言框架API,也为搭载鸿蒙系统的电子设备提供C/C++/JS等多语言框架API。
应用层:应用层包括系统应用和第三方非系统应用,鸿蒙系统应用由一个或多个FA或PA组成。
3. 总线
关于总线的特点,总结如下:
串行总线适宜长距离传输数据。 同时串行总线有半双工、全双工之分,全双工是一条线发一条线收。
串行总线传输的波特率在使用中可以改变。
常见串行总线包括: RS232 、SPI、I2C、USB、CAN、IEEE 1394等。
总线上多个设备只能分时向总线发送数据,但可同时从总线接收数据。
4. 混成系统
混成系统:一般由离散分离组件和连续组件并行或串行组成,组件之间的行为由计算模型进行控制。
5. 实时操作系统
实时系统的正确性依赖于运行结果的逻辑正确性和运行结果产生的时间正确性,即实时系统必须在规定的时间范围内正确地响应外部物理过程的变化。
实时多任务操作系统是根据操作系统的工作特性而言的。实时是指物理进程的真实时间。实时操作系统是指具有实时性,能支持实时控制系统工作的操作系统。首要任务是调度一切可利用的资源来完成实时控制任务,其次才着眼于提高计算机系统的使用效率,重要特点是要满足对时间的限制和要求。
一个实时操作系统可以在不破坏规定的时间限制的情况下完成所有任务的执行。任务执行的时间可以根据系统的软硬件的信息而进行确定性的预测。也就是说,如果硬件可以做这件工作,那么实时操作系统的软件将可以确定性地做这件工作。
实时操作系统可根据实际应用环境的要求对内核进行裁剪和重新配置,根据不同的应用,其组成有所不同。
6. 嵌入式硬件
MPU采用增强型通用微处理器。由于嵌入式系统通常应用于环境比较恶劣的环境中,因而MPU在工作温度、电磁兼容性以及可靠性等方面的要求较通用的标准的微处理器高。但是,MPU 在功能方面与标准的微处理器基本上是一样的。A是错的,
MCU又称单片微型计算机(Single Chip Microcomputer)或者单片机,是指随着大规模集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时计数器和多种I/O接口集成在一片芯片上,形成芯片级的计算机,为不同的应用场合做不同的组合控制。B是对的。
DSP是一种独特的微处理器,是以数字信号来处理大量信息的器件。其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,它的强大数据处理能力和高运行速度,是最值得称道的两大特色。C也是对的。
SOC称为系统级芯片,也有称片上系统,意指它是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容,D也是对的。
7. 嵌入式系统初始化过程
嵌入式系统初始化过程可以分为3个主要环节,按照自底向上、从硬件到软件的次序依次为:片级初始化、板级初始化、系统级初始化。
片级初始化:完成嵌入式微处理器的初始化,包括设置嵌入式微处理器的核心寄存器和控制寄存器、嵌入式微处理器核心工作模式、嵌入式微处理器的局部总线模式等。片级初始化把嵌入式微处理器从上电时的默认状态逐步设置成系统所要求的工作状态,这是一个纯硬件的初始化过程。 板式初始化:完成嵌入式微处理器以外的其他硬件设备的初始化,另外,还需要设置某些软件的数据结构和参数,为随后的系统初始化和应用程序的运行建立硬件和软件环境。这是一个同时包含软硬件两部分在内的初始化过程。 系统初始化:以软件初始化为主,主要进行操作系统的初始化。BSP将对嵌入式微处理器的控制权转交给嵌入式操作系统,由操作系统完成余下的初始化操作,包含加载和初始化与硬件无关的设备驱动程序,建立系统内存区,加载并初始化其他系统软件模块,如网络系统、文件系统等。最后,操作系统创建应用程序环境,并将控制权交给应用程序的入口。
8. 嵌入式系统分类
从安全性要求看,嵌入式系统可分为:安全攸关系统、非安全攸关系统。
根据用途不同可将嵌入式系统划分为嵌入式实时系统和嵌入式非实时系统两种,而实时系统又可分为强实时(Hard Real-Time)系统和弱实时(Weak Real-Time)系统。
9. 嵌入式微处理器
冯·诺依曼结构:冯·诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。 特点:(1)一般用于PC处理器,如I3、I5、I7处理器 (2)指令与数据存储器合并在一起 (3)指令与数据都通过相同的数据总线传输 注:常规计算机属于冯·诺依曼结构
哈佛结构:哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。哈佛结构是一种并行体系结构,它的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。 特点:(1)一般用于嵌入式系统处理器 (2)指令与数据分开存储,可以并行读取,有较高数据的吞吐率 (3)有4条总线:指令和数据的数据总线与地址总线 注:DSP属于哈佛结构 哈佛结构能在一个机器周期内同时获取指令字与操作数,但做不到一个机器周期内多次访问存储器。
10. 嵌入式实时系统调度算法
最早截止期调度算法(EDF算法):根据任务的截止时间来确定其优先级,对于时间期限最近的任务,分配最高的优先级。
最低松弛度优先(LLF)算法:根据任务紧急(或松弛)的程度,来确定任务的优先级。任务的紧急程度愈高,为该任务所赋予的优先级就愈高,使之优先执行。
优先级调度算法:系统为每个任务分配一个相对固定的优先顺序。 抢占式优先级调度算法:根据任务的紧急程度确定该任务的优先级。大多数RTOS调度算法都是抢占方式(可剥夺方式)。
单调速率调度(Rate Monotonic Scheduling, RMS)算法:是一种静态优先级调度算法,是经典的周期性任务调度算法。RMS的基本思路是任务的优先级与它的周期表现为单调函数的关系,任务的周期越短,优先级越高;任务的周期越长,优先级越低。
11. 嵌入式系统开发设计
嵌入式软件的开发也与传统的软件开发方法存在比较大的差异,主要表现在以下方面:
嵌入式软件开发是在宿主机(PC机或工作站)上使用专门的嵌入式工具开发,生成二进制代码后,需要使用工具卸载到目标机或固化在目标机储存器上运行。
嵌入式软件开发时更强调软/硬件协同工作的效率和稳定性。
嵌入式软件开发的结果通常需要固化在目标系统的储存器或处理器内部储存器资源中。
嵌入式软件的开发一般需要专门的开发工具、目标系统和测试设备。
嵌入式软件对实时性的要求更高。
嵌入式软件对安全性和可靠性的要求较高。
嵌入式软件开发时要充分考虑代码的规模。
在安全攸关系统中的嵌入式软件,其开发还应满足某些领域对设计和代码的审定。
模块化设计即将一个较大的程序按功能划分成若干程序模块,每个模块实现特定的功能。
12. 微内核操作系统
在微内核操作系统中,内核是指精心设计的、能实现现代OS最基本的核心功能的部分,工作在核心态,而其他部分工作在用户态。在微内核中只保留了进程调度、存储管理和消息通讯等少数几个组成部分,传统操作系统内核中的一些组成部分放到内核之外来实现。如传统操作系统中的文件管理系统、进程管理、设备管理、虚拟内存和网络等内核功能都放在内核外作为一个独立的子系统来实现。
13. 多核操作系统设计
多核操作系统的设计方法与单核相比存在很大差异,除了考虑单核基本功能设计以外,还应突破与多核相关技术。比如:核结构、Cache设计、核间通信、任务调度、中断处理、同步互斥等方面。
存储器墙设计:存储器墙设计是多核硬件结构中必须解决的空间隔离技术,不属于操作系统设计范畴。
总体设计:多核的总体设计主要考虑系统架构设计,是一种软硬件的整体考虑,虽然要提出对软件的需求,但并不是多核操作系统最需要突破的技术。
最后更新于
这有帮助吗?