嵌入式系统相关知识总结

news2024/9/23 17:20:11

一、概述

        嵌入式系统是以应用为中心以计算机技术为基础,并将可配置可裁剪的软、硬件集成与一体的专用计算机系统,需要满足应用对功能、可靠性、成本、提及和功耗等方面的严格要求。

        从计算机角度看,嵌入式系统是指嵌入各种设备及应用产品内部的计算机系统。它主要完成信号控制的功能,体积小、结构紧凑,可作为一个部件埋藏于所控制的装置中。

        一般嵌入式系统由嵌入式处理器、相关支撑硬件、嵌入式操作系统、支撑软件以及应用软件组成。

二、嵌入式系统的发展历程

        第一阶段:

                单片微型计算机(SCM)阶段,即单片机阶段。硬件为单片机,软件为无操作系统

        段,采用汇编语言实现。嵌入式处理器为:微控制器(MCU)

                主要特点:系统结构和功能点单一,处理效率低、存储容量有限、几乎没有用户接口。

         第二阶段:

                微控制器(MUC)阶段。主要技术发展方向:不断扩展对象系统要求和各种外围电路

        和接口电路,突显其对象的智能化控制能力。主要以嵌入式微处理器为基础,以单的操作

        系统为核心

                主要特点:硬件使用嵌入式微处理器,嵌入式微处理器种类繁多,通用性较弱,系统开

        销小,效率高

        第三阶段:

                片上系统(SoC,System on Chip)阶段。

                主要特点:嵌入式系统能够运行于各种不同类型的微处理器上,兼容性好,操作系统的

        内核小,效率高。

        第四阶段:

                以因特网为基础的嵌入式系统。嵌入式网络化主要表现在:1. 嵌入式处理器集成了网络

        接口;2. 嵌入式设备应用于网络环境中

        第五阶段:

                智能化、云技术结合阶段

                主要特点:低能耗、高速度、高集成、高可信、适用范围广。

                发展方向:

                        1. 面向端-端系统微型传感器设备

                        2. 面向智能服务的设备

三、嵌入式软件开发

        嵌入式软件开发与传统软开发相比:

                1. 嵌入式软件开发是在宿主机上用专门的嵌入式开发工具,生成二进制代码后,需要使

        用工具卸载到目标机或固化在目标机的存储器上运行。

                2. 嵌入式软件开发时更强调软/硬件协同工作的效率和稳定性

                3. 嵌入式软件开发的结果通常需要固化在目标系统的存储器或存储器内部存储器资源

        中。

                4. 嵌入式软件开发一般需要专门的开发工具、目标系统和测试设备

                5. 嵌入式软件对实时性、安全性、可靠性的要求更高,开发时要考虑代码规模

                6. 在安全攸关系统中的嵌入式软件,其开发还要满足某些领域设计和代码审定。

                7. 模块化设计,将较大的程序分成若干个模块。

        JTAG(联合测试工作组):主要用于芯片内部测试和调试。 

        嵌入式软件设计层面功耗控制设计:

                  1. 软硬件协同编程,即软件的设计要与硬件相匹配

                2. 编译优化,采用低功耗优化的编译技术

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

                4. 用“中断”代替“查询”

                5. 进行电源的有效管理 

四、嵌入式处理器

        1. 微处理器(MPU):

                装配在专门设计的电路板上,只保留与嵌入式应用有关的母板功能。一般以某种微处理

        内核为核心。

                优点:体积小、重量轻,成本低,可靠性高

                缺点:电路板上必须包括各种接口和外设,降低了系统的可靠性。

        2. 微控制器(MCU):

                与MPC相比,最大的优点在于单片化,体积大大减小,降低功能和成本,提高可靠性

        3. 信号处理器(DSP):

                DSP处理器对系统结构和指令进行了特殊设计,采用哈佛结构,使其适合于执行DSP指

        令,编译效率高,指令执行速度快

                冯诺依曼体系结构和哈佛结构对比:

分类定义特点举例
冯诺依曼体系结构将程序指令和数据存储器合并在一起的存储器结构

指令和数据存储器合并在一起。

指令和数据都通过相同的数据总线传输

一般用于常规计算机处理器,PC机
哈佛结构一种并行结构,将程序和数据存储在不同的存储空间中,每个存储器独立编址、独立访问

指令和数据分开存储,可以并行读取,有较高的数据吞吐量

4条总线指令数据总线,指令地址总线数据数据总线,数据地址总线

一般用于嵌入式系统处理器。DSP

        4. 图形处理器(GPU):

                是一种可执行渲染3D图形等图像的半导体芯片(处理器)

                可以用于个人电脑、工作站、游戏机和一些移动设备上做图像和图形相关运算工作的处

        理器。可以减少对CPU的依赖,并执行部分CPU的工作。GPU采用了核心技术(硬件T&L、

        纹理压缩等)保证3D快速渲染的能力。

                最新GPU峰值性能扩大100T flops以上。

        5. 片上系统(SoC):

                SoC追求产品系统最大包容的集成电路。它是一个产品,是一个有专用目标的集成电

        ,其中包含完整系统并有嵌入软件的全部内容。它是一种技术,用以实现从确定系统功能        

        开始,到软/硬件划分,并完成设计的整个过程。成功实现了软硬件的无缝结合,直接在

        处理器片内核嵌入操作系统的代码模块。减小了系统的体积和功耗,提高了可靠性和设计生

        产效 率。一般倾向于将SoC定义为微处理器、模拟IP核、数字IP核和存储器集成在单一芯片

        上,通常是用户定制的,或者面向特殊用途的标准产品。

                从狭义上来说:SoC是信息系统核心的芯片集成,是将系统关键部件集成在芯片上

                从广义上来说:SoC是一个微小型系统

        6. 人工智能芯片:

                广义上:能够运行人工智能算法的芯片;

                狭义上:针对人工智能算法做了特殊加速设计的芯片

                人工智能芯片:

                        GPU:大规模数据计算或图形处理;

                        FPGA(现场可编程门阵列):对硬件进行配置,定制开发

                        ASIC(专用集成电路):性价比高

                        类脑芯片:生物智能,模拟人脑计算

                人工智能芯片的特性:

                        1. 新型的计算范式;2. 训练和推理;3. 大数据处理能力;4.数据精度(降低);5.

                可重构能力(针对不同领域特定设计);

五、总线

        总线是一组能为多个部件分时共享的信息传送线,用来连接多个部件并为之提供信息交换通路。总线总是半双工的

        总线的类型:

                单工:一根总线,只能进行发送或接收(单向)

                半双工:一根总线,在同一个时刻只能进行发送或接收(双向)

                全双工(双工):两根总线,可以同时进行发送和接收

        特点:

                1. 挂接在总线上的多个部件只能分时向总线发送数据,但可以同时从总线接收数据

                2. 通过总线复用方式可以减少总线中信号线的数量,以较少的信号线传输更多的信息

        从功能上分总线分为:数据总线、地址总线、控制总线

        从数据传输方式分为:

                并行总线:将数据字节的各位用多条数据线同时传送(适合短距离传送)

                串行总线:数据是一位一位进行传输的,在传输中每一位数据都占据一个固定的时间长

        度。适合长距离传输数据的准确性依赖于校验码传输波特率可调整数据的传输方式有

        多种。是半双工

六、嵌入式操作系统

       定义负责嵌入式系统的全部软、硬件资源分配、任务调度、控制、协调并行活动等工作。 通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。

        特点1. 可剪裁性;2. 可移植性;3. 强实时性;4. 强紧凑型(微型化);5. 高质量代码;6. 强定制性;7. 标准接口;8. 强稳定性;9. 强确定性(专业化程度高);10. 操作简捷、方便;11. 较强的硬件适应性;12. 可固化性

        嵌入式操作系统的架构模式:层次架构、递归架构

        嵌入式操作系统的分类:1. 嵌入式非实时操作系统;2. 嵌入式实时操作系统

        嵌入式实时操作系统:

                定义:能够在指定或者确定的时间内完成系统功能和外部或内部、同步或异步时间

         做出响应的系统。

                评价指标1. 中断时间和延迟时间;2. 任务切换时间;3.信号量混洗时间

                嵌入式实时操作系统常见的调度算法:

                        1. 优先级调度算法:每个任务又一个固定的优先级

                        2. 抢占式优先级调度算法:根据任务紧急程度动态调整优先级

                        3. 最早截止期调度算法:根据任务最早截止时间确定优先级

                        4. 最晚截止期调度算法:根据任务最晚截止时间确定优先级

七、内核

        内核是嵌入式操作系统的核心,管理系统的各种资源,是连接应用程序和硬件的桥梁,是直接运行在硬件上的最基础的软件实体

        内核分为:微内核和宏内核,区别在于内核空间内实现空间的多少。

实质优点缺点
宏内核(单内核)功能全部在内核中实现运行在内核状态和同一地址空间减少进程通信和状态切换的系统开销,运行效率高内核庞大、占用资源多且不易裁剪。系统的稳定性和安全性差
微内核(鸿蒙OS)只实现基本功能,其余功能在内核外实现内核结构清晰,有利于协作开发;内核精炼,有利于裁剪和移植;可靠性、稳定性、安全性高,可用于分布式系统用户态与和心态需要频繁切换,效率低

八、嵌入式数据库

        特点:嵌入式、实时性、移动性、伸缩性

        嵌入式操作系统的分类:

                1. 基于内存方式(MMDB)

                2. 基于文件方式(FDB)

                3. 基于网络方式(NDB)

定义特点
基于内存的数据库实时系统和数据库系统的有机结合内存数据库是支持实时事务的最佳技术。本质特征是以其主拷贝或工作版本常驻内存活动事务只与数实时内存数据库的内存拷贝打交道
基于文件的数据库文件的方式存储数据库数据访问方式是被动式的,安全性低,可以满足嵌入式系统在空间、时间等方面的特殊要求
基于网络的数据库

基于手机4G/5G的通信基础上,在逻辑上可以把嵌入式设备看作远程服务器的客户端

无需解析SQL语句;支持更多的SQL操作;客户端小,无须支持可剪裁性;有利于代码的重用

        基于网络的嵌入式数据库的实现原理:

                1. 把功能强大的远程数据库映射到本地数据库,使嵌入式设备访问远程数据库就像访问

        本地数据库一样方便

                2. 嵌入式网络数据库由客户端、通信协议、远程服务器组成客户端主要负责提供接口

        给嵌入式程序;通信协议负责规范客户端与远程服务器的通信和解决并发;远程服务器负责                

        维护数据库上的数据库数据。 

九、鸿蒙OS

        鸿蒙OS采用分层的层次化设计,从下至上依次为:内核层、系统服务层、框架层、应用层系统按照系统-子系统-功能/模块展开。  

        鸿蒙OS的4个技术特性:

                1. 分布式架构首次应用与终端OS,实现跨终端无缝协同体验,实现了分布式软总线、

        分布式数据管理、分布式任务调度、虚拟外设四大能力

                2. 确定时延引擎和高性能IPC技术实现系统天生流程,在任务执行前分配系统中任务执

        行优先级及时限进行调度处理

                3. 基于微内核架构重塑助终端设备安全性

                4. 通过统一IDE支撑一次开发,多端部署,实现跨终端生态共享 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1616379.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用Jest测试框架测试JS项目

前言 JavaScript的测试框架有很多,这里主要记录一些自己在初次使用jest时遇到的一些问题。详细使用文档可以参照官方说明文档。 简介 Jest 是一款优雅、简洁的 JavaScript 测试框架。 Jest 支持 Babel、TypeScript、Node、React、Angular、Vue 等诸多框架&#…

软件测试之【合理的利用GPT来辅助软件测试一】

读者大大们好呀!!!☀️☀️☀️ 🔥 欢迎来到我的博客 👀期待大大的关注哦❗️❗️❗️ 🚀欢迎收看我的主页文章➡️寻至善的主页 文章目录 前言GPT的原理及技巧GPT辅助接口自动化测试 前言 在编程基础栏目中&#xff…

循环神经网络实例——序列预测

我们生活的世界充满了形形色色的序列数据,只要是有顺序的数据统统都可以看作是序列数据,比如文字是字符的序列,音乐是音符组成的序列,股价数据也是序列,连DNA序列也属于序列数据。循环神经网络RNN天生就具有处理序列数…

嵌入式linux学习之arm开发板移植ssh

1.下载源码 (1)zlib 下载网址:http://www.zlib.net/fossils/ 教程中版本选择的是: zlib-1.2.11.tar.gz (2)openssl下载网址:https://www.openssl.org/source/mirror.html 教程中版本选择的是: openssl-1.1…

用友U8-Cloud api/hr接口存在SQL注入漏洞

声明: 本文仅用于技术交流,请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。 简介 U8 Cloud是由用友推出的新一代云ERP系统&#xff0…

VSCode的C/C++开发 ===> Windows

一、开发环境搭建 安装mingw-w64编译器(GCC for Windows 64 & 32 bits)、Cmake工具(选装) VSCode插件安装 C/C cmake cmake tools 二、代码实践演练 基于g命令 g编译单文件,生成带调试信息的可执行文件、并调试 g -g main.cpp -o my_single_swap g编译多文件…

【C#】rdlc报表答应报错:未能加载文件或程序集“Microsoft.SqlServer.Types

文章目录 一、报错信息二、解决方式 一、报错信息 Microsoft.Reporting.WinForms.LocalProcessingException: An error occurred during local report processing. —> Microsoft.Reporting.DefinitionInvalidException: The definition of the report ‘’ is invalid. —&…

算法练习|Leetcode49字母异位词分词 ,Leetcode128最长连续序列,Leetcode3无重复字符的最长子串,sql总结

目录 一、Leetcode49字母异位词分词题目描述解题思路方法:哈希总结 二、Leetcode128最长连续序列题目描述解题思路方法:总结 三、Leetcode3无重复字符的最长子串题目描述解题思路方法:双指针法总结sql总结 一、Leetcode49字母异位词分词 题目描述 给你一个字符串数组&#xf…

数据结构与算法解题-20240422

这里写目录标题 一、2. 两数相加二、67. 二进制求和三、415. 字符串相加四、LCS 01. 下载插件五、71. 简化路径 一、2. 两数相加 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 …

分享三个转换速度快、准确率高的视频转文字工具

想要直接将视频转换成文字,转换工具很重要!给大家分享三个转换速度快、准确率高的视频转文字工具,轻松完成转换。 1.网易见外 https://sight.youdao.com/ 网易家的智能转写翻译服务工作站,网页端就可以直接使用,支持视…

vi, vim,data,wc,系统常用命令-读书笔记(十)

vi 文本编辑器 基本上 vi 共分为三种模式,分别是“一般指令模式”、“编辑模式”与“命令行命令模式”。这三种模式的作用分别是: 一般指令模式(command mode)以 vi 打开一个文件就直接进入一般指令模式了(这是默认的…

Elasticsearch:崭新的打分机制 - Learning To Rank (LTR)

警告:“学习排名 (Learning To Rank)” 功能处于技术预览版,可能会在未来版本中更改或删除。 Elastic 将努力解决任何问题,但此功能不受官方 GA 功能的支持 SLA 的约束。 注意:此功能是在版本 8.12.0 中引入的,并且仅适…

GEE:基于光谱距离度量方法的巴以冲突造成的地表覆盖变化检测

作者:CSDN @ _养乐多_ 本文将介绍如何在 Google Earth Engine (GEE) 平台中使用光谱距离度量方法进行地表覆盖变化检测,并以加沙地区为例,使用Sentinel2数据展示2023年3月和2024年3月的地表覆盖变化区域。 结果如下图所示, 文章目录 一、核心函数1.1 spectralDistance函数…

分布式与一致性协议之拜占庭将军问题(一)

拜占庭将军问题 概述 拜占庭将军问题其实是借拜占庭将军故事展现了分布式共识问题,探讨和论证了解决的办法。实际上,拜占庭将军问题是分布式领域最复杂的一个容错模型,一旦搞懂了它,久能掌握分布式共识问题的解决思路&#xff0…

Java HotSpot(TM) 64-Bit Server VM warning_ Sharing is only supported for boot loader classes because

今天在学习freemarker静态化页面的时候遇到了这个错误: Java HotSpot™ 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended 最终我找到了解决办法 解决办法原帖:https://s…

Java中的super

package day33; ​ public class Person {public String name;public int age; ​public Person() {System.out.println("调用了父类的无参构造");} } ​ package day33; ​ public class teacher extends Person{public teacher() {System.out.println("调用了…

C语言--基础面试真题

1、局部变量和静态变量的区别 普通局部变量和静态局部变量区别 存储位置: 普通局部变量存储在栈上 静态局部变量存储在静态存储区 生命周期: 当函数执行完毕时,普通局部变量会被销毁 静态局部变量的生命周期则是整个程序运行期间&#…

【R语言简介】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

微软刚开源就删库的WizardLM-2:MT-Bench 榜单评测超越GPT-4,7B追平Qwen1.5-32B

前言 微软最近发布的WizardLM-2大型语言模型因其先进的技术规格和短暂的开源后突然撤回,引起了科技界的广泛关注。WizardLM-2包括三个不同规模的模型,分别是8x22B、70B和7B,均展现了在多语言处理、复杂对话、推理和代理任务上的卓越能力。 H…

Ardupilot OpenIPC 基于WFB-NG构架分析和数据链路思考

Ardupilot & OpenIPC & 基于WFB-NG构架分析和数据链路思考 1. 源由2. OpenIPC安装2.1 安装2.2 配置2.2.1 天空端配置文件2.2.2 地面端配置文件 2.3 当前配置选择 3. WFB-NG安装3.1 RTL8812AU安装3.1.1 驱动安装3.1.2 定位设备 3.2 wfb-ng安装3.2.1 传输层安装3.2.2 配置…