当前位置: 首页 > news >正文

嵌入式基础

本博客地址:https://security.blog.csdn.net/article/details/136173662

一.嵌入式系统的组成

1、嵌入式系统是以特定应用为中心、以计算机技术为基础,并将可配置与可裁剪的软、硬件集成于一体的专用计算机系统。

2、嵌入式系统的组成结构是:
嵌入式处理器:除满足低功耗体积小等需求外,工艺可分为民用、工业和军用等三个档次,民用级器件的工作温度范围是 0~70℃、工业级的是−40~85℃、军用级的是−55~150℃
相关支撑硬件:除处理器以外的其他硬件,如存储器、定时器、总线等。
嵌入式操作系统:嵌入式操作系统应具备实时性可裁剪性安全性等特征。
支撑软件:其中的公共服务通常运行在操作系统之上,以库的方式被应用软件所引用。
应用软件:是指为完成嵌入式系统的某一专用目标所开发的软件。

3、嵌入式系统的特点:专用性强技术融合软硬一体软件为主资源受限程序代码固化在 ROM 中需专门开发工具和环境体积小、价格低、工艺先进、性能价格比高、系统配置要求低、实时性强对安全性和可靠性的要求高

二.嵌入式系统的分类

1、嵌入式系统分为嵌入式实时系统嵌入式非实时系统两种。而实时系统又可分为强实时系统弱实时系统。从安全性要求看,嵌入式系统还可分为安全攸关系统非安全攸关系统

2、实时系统(RTS)是指能够在规定的时间内完成系统功能和做出响应的系统。

3、安全攸关系统(Safety-Critical System)是指其不正确的功能或者失效会导致人员伤亡、财产损失等严重后果的计算机系统。

三.嵌入式软件的组成

1、嵌入式系统的最大特点就是系统的运行和开发是在不同环境中进行的,通常将运行环境称为目标机环境,称开发环境为宿主机环境,宿主机与目标机之间通过串口网络JTAG 接口连接。

2、由于宿主机和目标机的指令往往是不同的,嵌入式系统的开发通常需要交叉平台开发环境支持,基本开发工具是交叉编译器交叉链接器源代码调试器。还需要注意实时性安全性可靠性代码规模软/硬件协同工作的效率和稳定性特定领域的需求等。

3、嵌入式系统可以分为:
硬件层:包括处理器、存储器、总线、I/O 接口及电源、时钟等
抽象层:包括硬件抽象层(HAL)、板级支持包(BSP)
操作系统层:由嵌入式操作系统、文件系统、图形用户接口、网络系统和通用组件等可配置模块组成
中间件层:是连接两个独立应用的桥梁,常用的有嵌入式数据库、OpenGL、消息中间件、Java 中间件等
应用层:包括不同的应用软件

4、嵌入式软件的主要特点有:
可剪裁性:设计方法包括静态编译、动态库和控制函数流程实现功能控制等。
可配置性:设计方法包括数据驱动、静态编译和配置表等。
强实时性:设计方法包括表驱动、配置、静/动态结合、汇编语言等。
安全性:设计方法包括编码标准、安全保障机制、FMECA(故障模式、影响及危害性分析)。
可靠性:设计方法包括容错技术、余度技术和鲁棒性设计等。
高确定性:设计方法包括静态分配资源、越界检查、状态机、静态任务调度等。

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

四.嵌入式系统硬件

1、嵌入式系统主要由嵌入式微处理器存储器总线逻辑定时/计数器看门狗电路I/O接口外部设备等部件组成

2、嵌入式微处理器分为:微处理器(MPU)微控制器(MCU)数字信号处理器(DSP)图形处理器(GPU)片上系统(SoC)

3、随机存取存储器(RAM)工作需要持续电力提供,可随机读写。分为:
动态随机存取存储器(DRAM):采用电容存储信息,优点是集成度高、容量大、成本低,缺点是访问速度较慢、需要定期刷新。常作主存(即内存)。
静态随机存取存储器(SRAM):采用多个晶体管自锁的方式保存状态,优点是访问速度快、不需要刷新,缺点是集成度低、容量小、成本高。常用作高速缓存。

4、只读存储器(ROM),存储的数据不会因掉电而丢失,读取的速度比 RAM 快。分为:
掩膜型只读存储器(MROM):优点是通过掩膜大批量制造、成本低,缺点是同批数据全部一致且不可修改,只适合大批量生产。
可编程只读存储器(PROM):可以用专用编程设备一次性烧录数据,适合少量制造。
可擦可编程只读存储器(EPROM):优点是写入的数据可以通过紫外线擦除重写。
电可擦可编程只读存储器(EEPROM):优点是写入的数据可以通过电压来清除,但是清除的速度很慢。
快闪存储器(Flash):优点是可以联机擦写数据且擦写的次数多、速度快,缺点是读取的速度慢(相对其他 ROM 的速度而言)。

3、根据传输的信息种类分类,总线可分为:数据总线地址总线控制总线

4、根据连接部件分类,可分为:片内总线系统总线或板级总线局部总线通信总线

5、按照数据传输的方向,总线可以分为:单工总线双工总线。双工总线又分为半双工总线全双工总线

6、按照总线使用的信号类型,总线可以分为:并行总线串行总线。并行总线包含多位传输线,在同一时刻可以传输多位数据,但一致性要求高,传输距离较近;而串行总线只使用一位传输线,同一时刻只传输一位数据,但距离可以较远

7、看门狗电路由输入端寄存器计数器狗叫模块构成。通过寄存器对看门狗进行基本设置,计数器计算狗叫时间,狗叫模块决定看门狗超时后发出的中断或复位方式。程序正常运行时 MCU 会在输入端定期喂狗,超时不喂狗就会触发狗叫模块,一般是重启 MCU。

五.安全攸关软件

1、IEEE 定义安全攸关软件是用于一个系统中,可能导致不可接受的风险的软件

2、DO-178B 标准将软件生命周期分为软件计划过程软件开发过程软件综合过程”,其中软件开发过程细分为软件需求过程软件设计过程软件编码过程集成过程共4个子过程;软件综合过程细分为软件验证过程软件配置管理过程软件质量保证过程审定联络过程4个子过程。

3、DO-178B 根据软件在系统中的重要程度将软件的安全等级分为A~E 五级,分别对应灾难级(A)危害级(B)严重级(C)不严重级(D)没有影响级(E)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 2024前端面试准备之Vue3篇
  • 60秒表达力训练法:快速提高表达能力,摆脱嘴笨带来的困扰
  • 蓝桥杯刷题--python-8(2023 填空题)
  • html的表格标签
  • 基于python+django+mysql的小区物业管理系统
  • 数字化转型导师坚鹏:政府数字化转型之数字化技术
  • 【使用IDEA总结】01——新增作者信息、方法参数返回值
  • 解决Edge浏览器,微博无法查看大图(Edge Image Viewer)
  • django定时任务(django-crontab)
  • [嵌入式系统-25]:RT-Thread -12- 内核组件编程接口 - 网络组件 - HTTP编程
  • 用户空间与内核通信(二)
  • C++--Linux基础使用
  • 随想录刷题笔记 —二叉树篇9 236二叉树最近公共祖先 235二叉搜索树最近公共祖先 701二叉搜索树插入操作
  • anomalib1.0学习纪实-续1:增加新算法
  • [力扣 Hot100]Day30 两两交换链表中的节点
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • 分享的文章《人生如棋》
  • [NodeJS] 关于Buffer
  • 2017届校招提前批面试回顾
  • Android开源项目规范总结
  • axios 和 cookie 的那些事
  • javascript 哈希表
  • Java程序员幽默爆笑锦集
  • Java教程_软件开发基础
  • jquery ajax学习笔记
  • VuePress 静态网站生成
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 机器学习 vs. 深度学习
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 那些年我们用过的显示性能指标
  • 前端路由实现-history
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 设计模式 开闭原则
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • #APPINVENTOR学习记录
  • #laravel部署安装报错loadFactoriesFrom是undefined method #
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • $(this) 和 this 关键字在 jQuery 中有何不同?
  • ()、[]、{}、(())、[[]]命令替换
  • (4)Elastix图像配准:3D图像
  • (6)STL算法之转换
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (附源码)ssm高校实验室 毕业设计 800008
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • (十五)使用Nexus创建Maven私服
  • (贪心 + 双指针) LeetCode 455. 分发饼干
  • (学习日记)2024.02.29:UCOSIII第二节
  • (转)树状数组
  • *算法训练(leetcode)第四十五天 | 101. 孤岛的总面积、102. 沉没孤岛、103. 水流问题、104. 建造最大岛屿
  • .net CHARTING图表控件下载地址
  • .NET MVC 验证码
  • .NET6使用MiniExcel根据数据源横向导出头部标题及数据
  • .NET设计模式(11):组合模式(Composite Pattern)
  • .net知识和学习方法系列(二十一)CLR-枚举
  • .NET中使用Redis (二)