嵌入式

概述

嵌入式操作系统(EOS)

嵌入式系统主要由嵌入式硬件平台、相关支撑运满满、嵌入式操作系统、支撑软件和应用软件组成。其中,嵌入性专用性和**计算机系统
**是嵌入式系统的三个核心要素。典型的嵌入式系统具有以下特点:

  • 系统专用性强
  • 系统实时性强
  • 软硬件依赖性强
  • 处理器专用
  • 多种技术紧密结合
  • 系统透明性
  • 系统资源受限
  1. 嵌入式操作系统特点:微型化、代码质量高、专业化、实时性强、可裁减、可配置、可定制、可靠性、易移植
  2. 针对不同的硬件平台,操作系统通常建立在一个硬件抽象层(HAL,与硬件相关,与操作系统相关,也称
    BSP(板级支撑包))上,该层位于底层硬件和内核之间,为内核提供各种方便移植的宏定义接口,在不同的平台间移植时,只需要修改宏定义即可
  3. 宿主机和目标机之间需要建立逻辑连接和物理线路的连接
  4. 在宿主机上必须采用交叉编译器来生成目标机的可执行代码

硬件抽象层

硬件抽象层(Hardware Abstraction Layer,简称 HAL)是嵌入式操作系统中的一种软件结构,它为上层应用程序和硬件之间提供了一个抽象接口。通过
HAL,操作系统和应用程序可以不直接依赖硬件的具体实现,而是通过标准接口与硬件进行交互。简而言之,HAL 使得硬件操作和具体的硬件平台无关,让应用层代码可以
在不同硬件平台之间移植,而不需要修改应用代码。

  1. 硬件抽象层将操作系统和硬件平台隔开
  2. 硬件抽象层使软硬件的设计与调试可以并行
  3. 硬件抽象层与硬件密切相关,可对操作系统隐藏硬件的多样性
作用 描述
硬件抽象 为上层应用和操作系统提供硬件无关接口,屏蔽具体硬件的差异。
硬件移植性 使得操作系统和应用程序能够在不同硬件平台上运行,提高了系统的移植性。
简化开发 降低硬件开发的复杂性,开发者只需关注 HAL 提供的接口,而不必深入理解硬件细节。
统一接口 提供统一的硬件访问接口,不同硬件可以实现相同的接口,从而简化了多硬件平台的支持。
硬件资源管理 管理硬件资源,如中断、时钟、存储器、外设接口等,使操作系统能统一管理这些资源。

嵌入式系统开发设计 - 交叉开发环境

交叉开发环境

嵌入式系统开发设计 - 低功耗设计

基于硬件的低功耗设计

  • 板级电路低功耗设计
  • 选择低功耗处理器
  • 总线的低功耗设计
  • 接口驱动电路的设计
  • 分区分时供电技术

基于软件的低功耗设计

  • 编辑优化技术:指令开销
  • 软件与硬件的协同设计:硬件功能交由软件完成,减少硬件规模,从而降低电路功耗
  • 算法优化:低时间复杂度

实时操作系统(RTOS)

常见的嵌入式 RTOS

实时性能指标

  1. 任务切换时间
  2. 中断处理相关的时间指标
    • 中断延迟时间
    • 中断响应时间
  3. 系统响应时间:对用户的输入和请求做出反应的时间
  4. 信号量混洗时间:指从一个任务释放信号量到另一个等待该信号量的任务被激活的时间延迟

多任务调度算法

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

优先级调度算法

分配一个相对固定的优先顺序,然后调度程序根据优先级的高低排序,按时间顺序进行高优先级任务优先调度(非抢占式)

抢占式优先级调度算法

在优先级调度算法基础上,允许高优先级任务抢占低优先级任务而运行

时间轮转调度算法

调度程序会依次调度每个任务运行一个小的时间片,然后再调度另一个任务,每个任务运行完一个时间片,无论是否结束都会释放 CPU
让下一个任务运行(纯粹的时间轮转调度无法满足实时系统的要求,取而代之的是基于优先级的抢占式时间轮转调度)

最晚截止期调度算法

调度程序按每个任务的最接近其截止期末端的时间进行调度

最早截止期调度算法

调度程序按每个任务的截止期时间,选择最早到截止期头端时间的任务进行调度

微内核操作系统

微内核操作系统

单体内核 vs 微内核

单体内核 vs 微内核

微处理器

用途分类

嵌入式微控制器 MCU

  • 字长宽度为16位及以下
  • 典型代表单片机,其片上外设资源比较丰富,适合于控制。
  • 和嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高,其片上外设资源一般较丰富,适合于控制,是嵌入式系统工业的主流

嵌入式微处理器 MPU

  • 字长宽度为32位及以上,具有较高性能
  • 保留和嵌入式应用紧密相关的功能硬件,去除其他的冗余部分功能,以最低的功耗和资源实现嵌入式应用的特殊要求
  • 与工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点

嵌入式数字信号处理器 DSP

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

嵌入式片上系统 SOC

  • 实现了软硬件无缝结合,直接在处理器内嵌入操作系统的代码模块
  • 一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容

多核处理器

多核指多个微处理器内核,是将两个或更多的微处理器封装在一起,集成在一个电路中。多核处理器是单枚芯片。
多核与多CPU相比,很好的降低了计算机系统的功耗和体积
在多核技术中,由操作系统软件进行调度,多进程,多线程并发都可以

实现方式

2个或多个内核工作协调实现方式

  • 对称多处理技术 SMP:将2颗完全一样的处理器封装在一个芯片内,达到双倍或接近双倍的处理性能,节省运算资源
  • 非对称处理技术 AMP:2个处理内核彼此不同,各自处理和执行特定的功能,在软件的协调下分担不同的计算任务

多核 CPU 调度

多核 CPU 环境下进程的调度算法一般有全局队列调度局部队列调度

  • 全局队列调度:操作系统维护一个全局的任务等待队列,当系统中有一个 CPU 空闲时,操作系统就从全局任务等待队列中选取就绪任务开始执行,CPU 核心利用率高
  • 局部队列调度操作系统为每个 CPU 内核维护一个局部的任务等待队列,当系统中有一个 CPU 内核空闲时,就从该核心的任务等待队列中选取适当的任务执行,优点是无需在多个 CPU 之间切换
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 222,464评论 6 517
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 95,033评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 169,078评论 0 362
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,979评论 1 299
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 69,001评论 6 398
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,584评论 1 312
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 41,085评论 3 422
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 40,023评论 0 277
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,555评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,626评论 3 342
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,769评论 1 353
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,439评论 5 351
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,115评论 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,601评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,702评论 1 274
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 49,191评论 3 378
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,781评论 2 361

推荐阅读更多精彩内容