【系统架构师】-第16章-嵌入式系统架构设计理论与实践

1、嵌入式系统发展

第一阶段:单片微型计算机 (SCM) 阶段,即单片机时代,五操作系统

第二阶段:微控制器 (MUC) 阶段,有简单操作系统

第三阶段:片上系统 (SoC),兼容各种微处理器

第四阶段:以Internet为基础的嵌入式系统,嵌入式网络化

第五阶段:在智能化、云技术推动下的嵌入式系统

2、嵌入式硬件体系结构

嵌入式微处理器(控制器 MCU)

存储器 (RAM/ROM)、

内(外)总线逻辑

定时/计数器 (Time)、 看门狗电路、

I/O接口(串口、网络、 USB、JTAG )

 外 部 设 备 (UART、LED等)

1、嵌入式微处理器

● 微处理器 (Micro Processor Unit,MPU)

由通用计算机中的CPU演变而来

相当于大脑,主要有:Am186/88、386EX、SC-400、PowerPC、68000、MIPS、ARM

● 微控制器 (Micro Control Unit,MCU)

又称单片机,以一种MPU为核心

● 信号处理器 (Digital Signal Processor,DSP)

● 图形处理器 (Graphics Processing Unit,GPU)

● 片上系统 (System on Chip,SoC)

定义出整个应用系统,标准的V H D L等语言描述

2、存储器

1、RAM(Random Access Memory, 随机存取存储器)

操作系统和应用程序的所有正在运行的数据和程序都会放置其中,并且随时可以对存放在里面的数据进行修改和存取。

由持续的电力提供,一旦系统断电,存放在里面的所有数据和程序都会自动清空掉,并且再也无法恢复

分类:

DRAM(Dynamic RAM, 动态随机存取存储器)

SRAM(Static RAM, 静态随机存取存储器)

VRAM(Video RAM, 视频内存)

SDRAM(Synchronous DRAM, 同步动态随机存取存储器):与 C P U实现外频Clock同步的内存模式

2、ROM(Read Only Memory, 只读存储器)

其中的代码与数据将永久保存,并且不能够进行修改。一般应用于 P C系统的程序码、主
机板上的BIOS

分类:

MASK ROM (掩模型只读存储器):原始样本,用于复制

PROM(Programmable ROM, 可编程只读存储器):仅一次写入

EPROM(Erasable Programmable, 可擦可编程只读存储器)

Flash Memory (快闪存储器):直接在主机板上修改内容而不需要将IC拔下的内存,当电源关掉后储存在里面的资料并不会流失掉,在写入资料时必须先将原本的资料清除掉,然后才能再写入新的资料

3、内(外)总线逻辑

1、总线分类1:

数据总线:用于在C P U与R A M之间来回传送需要处理或者需要存储的数据;

地址总线:用于指定在R A M之中存储的数据的地址;

控制总线:将微处理器控制单元的信号传送到周边设备。

扩展总线和局部总线则是根据系统需要而添加

2、总线分类2:

片内总线: CPU芯片内部总线,用于连接芯片内部各个元件(如ALU 寄存器、指令
部 件 )

系统总线:计算机内部总线,它。 是连接计算机系统的主要组件。 如用于连接CPU 主存
和I/O接口的总结。系统总线又称板级总线或内部总线。

局部总线:计算机内部总线,通常是指在少数组件之间交换数据的总线,如CPU到北桥
的总线,内存到北桥的总线,局部总线的协议一般由设备制造商定义。在体系结构较简
单的计算机系统中,局部总线和系统总线为同一条总线。

通信总线:嵌入式系统主机外部总线,用于连接外部输入输出设备或者其他不同的计算
机系统。通信总线又称外部总线或外设总线。

4、看门狗电路

嵌入式系统必须具备的一种系统恢复能力,系统发生软件问题和程序跑飞后使系统重启

工作时自动计数(定时任务),程序流程定期将其复位。

3、嵌入式软件架构

BSP(板级支持包):

是介于主板硬件和操作系统中驱动层之间的一层

引导加载程序BootLoader和设备驱动程序

  1. 硬件相关性,BSP需为操作系统提供操作和控制具体硬件的方法
  2. 操作系统相关性,不同的操作系统具有各自的软件层次结构,因此不同操作系统具有特定的硬件接口形式

1、层次化模式架构:抽象不同层级

2、递归模式架构:不断的拆解

2.1)自顶向下:自顶向下的工作流从系统层级开始并标识结构对象

2.2)自底向上:自底向上专注于域的构造,首先确定域中的关键类和关系。要求开发者以往有丰富的开发经验

嵌入式操作系统(EOS)

1)硬件层、抽象层、操作系统层、中间件层和应用层

2)主要特点:微型化、代码质量高、专业化、实时性强、可裁减和可配置

3)分类:

实时:VxWorks、Nucleus。高精度计时系统、多级中断机制、实时调度机制

非实时:移动电话、机顶盒、电子书、Android、IOS、WinCE

VRTX:实时多任务操作系统

LynxOS:分布式嵌入式实时操作系统

4、嵌入式架构设计方法

1、ABSD

基于架构的软件设计。由业务、质量和功能需求的组合驱动软件架构设计

自顶向下,递归细化的软件开发方法

2、ADD (Attribute-Driven Design 属性驱动)

开发过程:

需要经历评审、选择驱动因子、选择系统元素、选择设计概念、实体化元素和定义接口、草拟视图和分析评价等七个阶段

低功耗设计

1、软硬件协同设计

2、编译优化

3、减少系统的持续运行时间,算法优化

4、用中断代替查询

5、进行电源的有效管理

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

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

相关文章

软件测试 —— 测试用例设计报告

写出测试网站的测试用例,测试网站具体内容可看团购网站系统需求说明书1.2.doc 一、流程1:注册→登录 图1:注册->登录流程图 1、 使用场景设计法设计测试用例 1) 找出基本流和备选流 基本流注册用户-成功登录系统备选流1注册…

Jenkins cron定时构建触发器

from: https://www.jenkins.io/doc/book/pipeline/syntax/#cron-syntax 以下内容为根据Jenkins官方文档cron表达式部分翻译过来,使用机翻加个人理解补充内容,包括举例。 目录 介绍举例:设置方法方法一:方法二&#xf…

3.2_1 虚拟内存的基本概念

3.2_1 虚拟内存的基本概念 虚拟存储技术也是存储空间扩充的一种技术,它比交换、覆盖技术要更先进一些。 (一)传统存储管理方式的特征、缺点 对于这种传统的存储管理方案,很多暂时用不到的数据也会长期占用内存,导致内存…

【数据结构和算法初阶(C语言)】栈的概念和实现(后进先出---后来者居上的神奇线性结构带来的惊喜体验)

目录 1.栈 1.1栈的概念及结构 2.栈的实现 3.栈结构对数据的处理方式 3.1对栈进行初始化 3.2 从栈顶添加元素 3.3 打印栈元素 3.4移除栈顶元素 3.5获取栈顶元素 3.6获取栈中的有效个数 3.7 判断链表是否为空 3.9 销毁栈空间 4.结语及整个源码 1.栈 1.1栈的概念及结构 栈&am…

高压辊磨机(辊压机)在矿物加工领域应用广泛 目前本土企业处于向高端转型阶段

高压辊磨机(辊压机)在矿物加工领域应用广泛 目前本土企业处于向高端转型阶段 高压辊磨机又称为辊压机、挤压磨,是基于料层粉碎原理设计的一种干式辊磨设备。高压辊磨机结构形式多样,但原理基本相似,主要由机架、高压工…

浅谈C++绑定器bind1st、bind2nd和函数对象function

今天我们先来谈谈C 标准库里面的绑定器bind1st,bind2nd 和函数对象function C 绑定器和函数对象 一、绑定器二、函数对象 一、绑定器 虽然在C11标准中这两个绑定函数已经被弃用,但仍然值得我们深入思考其底层原理。从字面上理解,“绑定” 这…

Explain

Explain EXPLAIN是MySQL提供的一种用于分析SQL查询执行计划的工具,通过它我们可以深入了解数据库如何执行一条SQL语句,以及优化器在选择索引、访问表和排序数据等方面的决策。 我整理了一份思维导图方便更好查看各个参数的意义,红色表示比较…

RabbitMq踩坑记录

1、连接报错:Broker not available; cannot force queue declarations during start: java.io.IOException 2.1、原因:端口不对 2.2、解决方案: 检查你的连接配置,很可能是你的yml里面的端口配置的是15672,更改为5672即…

css超出部分显示省略号

目录 前言 一、CSS单行实现 二、CSS多行实现(CSS3出的,兼容性需要注意) 三、微信小程序超过2行出现省略号实现 四、JavaScript脚本实现 前言 CSS文本溢出就显示省略号,就是在样式中指定了盒子的宽度与高度,有可能出现某些内…

LLM - 大语言模型(LLM) 概述

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/136617643 大语言模型(LLM, Large Language Model)的发展和应用是一个非常广泛的领域,涉及从早期的统计模型到现代基于深度学…

【AI+CAD】(二)LLM和VLM生成结构化数据结构(PPT/CAD/DXF)

当前LLM和VLM在PPT生成任务上已经小有成效,如ChatPPT。 @TOC 1. PPT-LLM LLM根据用户的instruction生成规范的绘制ppt的API语句:即使是最强的GPT-4 + CoT也只能达到20-30%的内容准确度。 LLM输入:User_instruction(当前+过去)、PPT_content、PPT_reader_API。其中 PPT_rea…

面试经典150题——随机链表的复制

​前两天断更了两天有点事情🤗 1. 题目描述 2. 题目分析与解析 2.1 思路一 开始还是没什么思路,没思路那就先把题目解决不管方法的好坏。如果不考虑复杂度,该怎么解决? 可以有这样的一种思路: 首先复制链表的所有节…

【python绘图】turle 绘图基本案例

文章目录 0. 基础知识1. 蟒蛇绘制2. 正方形绘制3. 六边形绘制4. 叠边形绘制5. 风轮绘制 0. 基础知识 资料来自中国mooc北京理工大学python课程 1. 蟒蛇绘制 import turtle turtle.setup(650, 350, 200, 200) turtle.penup() turtle.fd(-250) turtle.pendown() turtle.pen…

jeesite列表jqGrid表格底部汇总,基于onSelectRow和onSelectAll实现选中行汇总合计

一、最终效果图 二、表格启用复选框并初始化赋值 onSelectAll: function() { calc_sum(); }, onSelectRow: function() { calc_sum(); },// 加载成功后执行事件 ajaxSuccess: function(data){var dy = 0;var glbzqmrsdtyg = 0;var glbzqmrsschyg = 0;var glbzqmrsqtcy …

【贪心算法】Leetcode 55. 跳跃游戏

【贪心算法】Leetcode 55. 跳跃游戏 解法1解法2 ---------------🎈🎈55. 跳跃游戏 题目链接🎈🎈------------------- 解法1 关键点在于:不用拘泥于每次究竟跳几步,而是看覆盖范围,覆盖范围内…

Python 语法及入门 (超全超详细) 专为Python零基础 一篇博客让你完全掌握Python语法

前言: 本篇博客超级详细,请尽量使用电脑端结合目录阅读 阅读时请打开右侧 “只看目录” 方便阅读 一、什么是Python 1.1 Python的诞生 1989年,为了打发圣诞节假期,Gudio van Rossum吉多 范罗苏姆(龟叔)决…

Gitee配置SSH登录

一、背景 新入手的电脑,需要对Gitee上存放的项目进行更改上传,发现上传不了需要登录,便采用SSH密钥进行登录,防止远程管理工程中的信息泄露 二、前提 电脑已下载Git Bash工具,在项目下点击鼠标右键,进入…

Linux 中搭建 主从dns域名解析服务器

CSDN 成就一亿技术人! 作者主页:点击! Linux专栏:点击! CSDN 成就一亿技术人! ————前言———— 主从(Master-Slave)DNS架构是一种用于提高DNS系统可靠性和性能的配置方式。…

opencv人脸识别实战3:多线程和GUI界面设计(PyCharm实现)

一、多线程设计 1、在一个新线程中调用了 scan_face() 函数来进行人脸识别操作。根据识别结果,更新界面显示结果,最后释放资源。 def f_scan_face_thread():var.set(刷脸)ans scan_face()if ans 0:print("最终结果:无法识别")va…

《互联网的世界》第七讲-能源

本想聊聊 tcp 和 quic,但这些都属于术的范畴,变化多端,等孩子们长大了又不知变成什么样子了,趁这段时间在家,还是得讲一些相对不变的东西,或法或势。 从 安阳卖血糕的精巧篦子 想到如何做圆米粉和圆面条&a…