type
slug
status
summary
icon
category
date
tags
password
notion image

1.1 什么是嵌入式系统?

嵌入式系统(Emebedded System)

  • 概念
任何含有一个计算机的设备都能被称为嵌入式系统,如消费电子产品、信号处理器等。
嵌入式系统是一种专用的计算机系统,以应用为中心,以计算机技术为基础,软硬件可配置,对成本、功耗、可靠性、体积、功能有严格的约束。
  • 应用场景
嵌入式计算机、无线传感器网络、航空电子设备、火星探测器、普适计算、交叉学科
notion image
  • 一些叽里呱啦:
这个设备是有一个仲裁电路来决定到底是主系统起作用还是备用系统起作用(当主系统瘫痪的时候,备用系统将获取主系统的所有信息并继续工作)
普适计算(Pervasive Computing(Ubiquitous Computing)):普适计算是指环境中越来越普遍的、连接的计算设备的趋势,这是由先进的电子(特别是无线)技术和Internet的融合带来的趋势。
交叉学科(电子工程、自动化、通信、计算机......)
 

实时系统(Real-Time System)

  • 概念
任何一个 计算机对外部事件的及时响应至关重要 的系统都被称为实时系统.
  • 应用场景
航空电子设备、火星探测器、制造业、核反应控制堆

嵌入式系统和实时系统的联系

可以发现嵌入式系统和实时系统的使用场景有重叠,在重叠部分,就是嵌入式实时系统。即:
notion image
 
 

1.2 嵌入式实时系统

1.2.1 嵌入式实时操作系统的特点

  • 应用特定化
    • 为特定的应用而设计。
    • 为优化特定的应用而设计。
      • notion image
        在内部增加了加法器。为了支持一些更复杂的计算。应用于视频音频的快速处理。
  • 需要考虑软件和硬件
  • 需要考虑非功能性约束(或者说是非功能性需求),如:
    • Real-Time(实时性,针对不同应用场景有不同的实时性要求)(Time constrain)
    • Memory(内存使用效率)
    • Power(能源使用效率)
    • Cost(成本)
    • Reliability(Security,Safety…)(可靠性安全性)
      • notion image
 

1.2.2 嵌入式实时操作系统的软件架构

  • Polling loop(轮询系统)
    • notion image
    • 初始化阶段:initialize(),完成硬件资源的配置(GPIO、定时器等)、变量的配置
    • 主循环:while(TRUE)无限循环直到系统被关闭或出现异常情况。主循环中周期性检查任务条件,依次执行满足条件的任务。
  • Foreground/Background(Interruption)(前后台系统)
    • notion image
    • 这里的前台是中断服务程序,后台是主程序的轮询。
    • 后台任务:初始化系统后进入一个无限循环等待中断请求的发生
      • Interrupt1 和 Interrupt2(中断请求(Interrupt Requests,IRQ))可以来自硬件设备(如传感器、定时器等)或软件事件。
    • 前台任务:即中断服务程序(ISR)。
      • 当中断发生时,主程序的执行会被暂停,转而执行相应的中断服务程序(Interrupt Service Routine, ISR)。
  • Multi-task(多任务系统)
    • notion image
    • User:(用户空间)
      • Application(应用层)、Memory(内存管理)、Display(显示模块)、Process(进程管理)、File(文件系统)、Net(网络模块)
    • Kernel(内核空间)
      • ERTOS(嵌入式实时操作系统)、Hardware(硬件层,系统的底层硬件资源,如处理器、内存、外设等。)
    • 数据流向:
      • Request(请求):用户空间的应用程序向ERTOS发送请求,请求操作系统提供服务,如创建进程、分配内存、读写文件等。
      • Return(返回):ERTOS处理完请求后,将结果返回给用户空间的应用程序。
      • 上图中的意思应该是应用程序发出一个请求需要使用网络,然后这个时候内核就向网卡模块发起请求,等待网卡模块返回之后再将结果返回给应用程序任务
    • 需要注意的是,多任务系统需要嵌入式实时操作系统的支持,才能实现任务的调度与并发

1.3 常见的嵌入式操作系统

  • VxWorks ,INTEGRITY(MULTI) ,TinyOS, Nuclear, Windows CE (mobile), uC/OS, DeltaOS, pSOS+, VRTX, QNX, RTEMS, Cisco-IOS, NOKIA/ERISON-EPOC, Sybian, AndroidIOS ……(还有FreeRTOS
  • Linux(嵌入式Linux)
    • RTLinux、RTAI、Linux-SRT、Embdix、ETLinux、uCLinux、uLinux
 
 
 

1.4 习题

💡
Q1:什么是嵌入式系统?嵌入式系统与通用计算机系统的差异是什么?
A1:嵌入式系统(Embedded System)是指以应用为中心、以计算机技术为基础,软硬件可裁剪,具有专用性、实时性和可靠性的计算机系统。
💡
Q2:简述 RTOS 的主要特点
A2:应用特定化\需要考虑软件和硬件\需要考虑非功能性约束(或者说是非功能性需求),如:实时性、内存利用率、资源利用率…
A2:
  • 实时性(嵌入式RTOS最基本的特点,RTOS必须在事件发生时的严格时限(系统相应时间response time)内做出相应,即使实在峰值负载下。)
  • 可确定性(系统调用的时间可以预测,确定其执行的最大时间,从而对系统运行的最好和最坏情况做出精准估计)
  • 并发性(并发性(concurrence)有时也称为同时性(simultaneousness)。在复杂的实时系统中,外部事件的到达是随机的,因此某一时刻可能有多个外部事件到达,RTOS需要同时激活多个任务(task)处理对应的外部请求。通常,实时系统采用多任务机制或者多处理机结构来解决并发性问题,而RTOS则用于相应的管理。)
  • 高可信性(不管外部条件如何恶劣,实时系统都必须能够在任意时刻、任意地方、任意环境下对外部事件做出准确响应。可靠性(reliability)、稳健性 (robustness)和防危性(safety)。这些特性统称为高可信性(highdependability))
  • 安全性
  • 可嵌入性(RTOS及其应用软件基本上都需要嵌入具体设备或者仪器中,因此,RTOS必须具有足够小的体积及很好的可裁剪性和灵活性。)
  • 可剪裁性(即组成RTOS的各模块(组件)能根据不同应用的要求合理剪裁,做到够用即可。)
  • 可扩展性(基本的内核支持、更多的可拓展功能模块(含用户扩展))
💡
Q3:概述 RTOS 的应用场合,分析不同应用对 RTOS 的不同要求
A3:
notion image
💡
Q4:简述微内核结构 RTOS 的特点
notion image
A4:
  • 模块化设计可移植性强:将内核与应用程序分离。非核心功能(文件系统、网络协议栈)在用户态运行。便于系统移植。
  • 可裁剪性好:除基本内核外,RTOS的其他服务模块可以根据应用需求随意剪裁。
  • 可拓展性好:RTOS可以更方便地扩展功能,包括动态扩展。
  • 安全性高:内核模块彼此独立,故障隔离。
💡
Q5:一般RTOS内核实现了哪些基本功能?针对不同的应用,RTOS还提供了哪些可扩展功能?
A5:任务管理、中断管理、时钟管理、任务协调/调度、内存管理。可拓展功能:嵌入式网络、嵌入式文件系统、功耗管理、嵌入式数据库、流媒体支持、用户编程接口、GUI图形界面
 
 

1.5 补充信息

  • 硬实时系统和软实时系统
    • 硬实时系统:如果系统没有在截止日期前交付输出,就会发生非常糟糕的事情。硬实时系统对时间约束的要求极为严格,必须在规定时间内完成任务,否则可能引发灾难性后果,例如航空航天、医疗设备等领域的关键系统。
    • 软实时系统:即使错过一些截止时间,也不会发生灾难性的事件,但系统的性能将低于可接受的范围。软实时系统对时间约束的要求相对宽松,偶尔的超时不会导致严重问题,但会影响系统的服务质量和用户体验,例如流媒体播放、在线游戏等应用。
Notion使用小指南喵~嵌入式操作系统
Loading...
🐟🐟
🐟🐟
在坚冰还盖着北海的时候,我看到了怒放的梅花
最新发布
四轴飞行器
2025-4-16
Notion使用小指南喵~
2025-4-16
Hi3861 & 服创
2025-4-16
Git
2025-4-16
嵌入式操作系统
2025-3-28
C2驾驶证考试
2025-3-13
公告
🎉NotionNext 3.15已上线🎉
-- 感谢您的支持 ---
👏欢迎更新体验👏