系统架构设计师教程(十六)嵌入式系统架构设计理论与实践

嵌入式系统架构设计理论与实践

  • 16.1 嵌入式系统概述
    • 16.1.1 嵌入式系统发展历程
    • 16.1.2 嵌人式系统硬件体系结构
  • 16.2 嵌入式系统软件架构原理与特征
    • 16.2.1 两种典型的嵌入式系统架构模式
    • 16.2.2 嵌入式操作系统
    • 16.2.3 嵌入式数据库
    • 16.2.4 嵌入式中间件
    • 16.2.5 嵌入式系统软件开发环境
  • 16.3 嵌入式系统软件架构设计方法
    • 16.3.1 基于架构的软件设计开发方法的应用
    • 16.3.2 属性驱动的软件设计方法
    • 16.3.3 实时系统设计方法
  • 16.4 嵌入式系统软件架构案例分析
    • 16.4.1 鸿蒙操作系统架构案例分析
    • 16.4.2 面向安全攸关系统的跨领域GENESYS系统架构案例分析
    • 16.4.3 物联网操作系统软件架构案例分析


16.1 嵌入式系统概述

16.1.1 嵌入式系统发展历程

嵌入式系统的发展经历了五个阶段:

  1. 单片机阶段: 使用单片机作为硬件,采用汇编语言实现系统功能,没有操作系统,系统结构简单,处理效率低。

  2. 微控制器阶段: 使用嵌入式微处理器作为基础,配合简单操作系统,外围电路和接口电路不断扩展,提高智能化控制能力。

  3. 片上系统阶段: 嵌入式系统可在不同类型的微处理器上运行,兼容性好,操作系统内核小、效率高。

  4. 基于Internet的嵌入式系统阶段: 嵌入式处理器集成网络接口,嵌入式设备应用于网络环境。

  5. 智能化、云技术推动下的嵌入式系统阶段: 低能耗、高速度、高集成、高可信,嵌入式系统向端到端系统微型传感器设备和智能服务设备两个方向发展。

16.1.2 嵌人式系统硬件体系结构

传统的嵌入式系统主要由嵌入式微处理器(MCU)、存储器、内(外)总线逻辑、定时/计数器、看门狗电路、I/O接口和外部设备等部件组成。嵌入式系统的硬件组成结构如图16-1所示。
在这里插入图片描述

嵌入式微处理器主要用于处理相关任务。选择处理器芯片时,需要考虑不同使用环境的温度、湿度、震动和加速度等因素。根据使用场景的不同,嵌入式处理器可分为微处理器(MPU)、微控制器(MCU)、信号处理器(DSP)、图形处理器(GPU)和片上系统(SoC)等类型。

存储器主要用于存储程序和数据信息,包括只读存储器(ROM)和随机存储器(RAM)等多种类型。

总线是计算机各种功能部件之间传输信息的公共通信干线,包括数据总线、地址总线和控制总线。通常存在星形、树状、环形、总线型和交叉开关型等五种拓扑结构,以及片内总线、系统总线、局部总线和通信总线等四种连接方式。

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

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

相关文章

CaptureRequest部分参数说明

CaptureRequest.CONTROL_AE_TARGET_FPS_RANGE 用于指定自动曝光(AE)程序在捕获过程中可以使用的帧率范围。AE 代表自动曝光(Auto Exposure),而 FPS 代表每秒帧数(Frames Per Second)。这个设置…

C语言signal处理的底层机制深度探讨

在C语言中,signal处理是操作系统级别的事件处理机制,用于响应各种系统级事件,如程序错误、硬件中断等。深入理解signal处理的底层原理、使用方法以及其局限性对于编写稳定、可靠和安全的代码至关重要。本文旨在全面深入到系统调用和内核级探讨…

智能风控体系之divergence评分卡简介

评分卡模型的出现据说最早是在20世纪40年代,Household Finance and Spiegel和芝加哥邮购公司第一次尝试在贷款决策过程中使用信用评分.但是这两家公司都终止了这项业务。后来,在20世纪50年代末,伊利诺伊州的美国投资公司(AIC&…

【git】记录一个git error解决方法

出现场景 因为代码编写事件有点长,编写好之前有人提交过代码,而我这边没有git pull,所以提交失败了,然后pull的时候,提醒: error: The following untracked working tree files would be overwritten by …

《WebKit 技术内幕》学习之十四(1):调式机制

第14章 调试机制 支持调试HTML、CSS和JavaScript代码是浏览器或者渲染引擎需要提供的一项非常重要的功能,这里包括两种调试类型:其一是功能,其二是性能。功能调试能够帮助HTML开发者使用单步调试等技术来查找代码中的问题,性能调…

Spring Boot 模块工程(通过 Maven Archetype)建立

前言 看到我身边的朋友反馈说,IDEA 新建项目时,如果通过 Spring Initializr 来创建 Spring Boot , 已经无法选择 Java 8 版本,通过上小节的教程,不知道该如何创建 Spring Boot 模块工程。如下图所示: 一.IDEA 搭建 …

Kafka(八)使用Kafka构建数据管道

目录 1 使用场景2 构建数据管道时需要考虑的问题2.1 及时性2.2 可靠性高可用可靠性数据传递 2.3 高吞吐量2.4 数据格式2.5 转换ETLELT 2.6 安全性2.7 故障处理2.8 耦合性和灵活性临时数据管道元数据丢失末端处理 3 使用Connect API3.1 Connect的数据处理流程sourcesinkconnecto…

Vue3+Ts:实现paypal按钮

Vue3Ts:实现paypal按钮 一、前端页面按钮实现第一步:下载paypal.js依赖第二步:引入要使用的vue页面,并调用。 二、实现逻辑研究第一点:了解下Buttons自带的style属性第二点:了解下Buttons自带的处理方法第三…

centos7配置Google身份认证登录

1.手机app下载谷歌身份验证器 2.配置本地yum源 yum -y install git automake libtool pam-devel bzip2 wget vim ntpdate 3.校对时间 timedatectl set-timezone Asia/Shanghai ntpdate cn.pool.ntp.org 4.下载工具包 wget http://repository.timesys.com/buildsources/l/…

IP组播地址

目录 1.硬件组播 2.因特网范围内的组播 IP组播地址让源设备能够将分组发送给一组设备。属于多播组的设备将被分配一个组播组IP地址 组播地址范围为224.0.0.0~239.255.255.255(D类地址),一个D类地址表示一个组播组。只能用作分组的目标地址。源地址总是为单播地址…

丝路昆仑文物展:启用网关,文物预防性保护设备数据无缝对接平台

一、多功能网关数据无缝流转 近日,“丝路昆仑——新疆文物精品展”在天津博物馆开展。展览分为三部分:“丝路前奏”、“丝路华响”和“丝路梵音”,前两部分是以张骞凿通西域前后的中原西域两地文化交流,第三部分则讲述了佛教沿西…

人工智能数学验证工具LEAN4【入门介绍5】推理世界-如何使用和证明推理性的命题

视频链接: 人工智能数学验证工具LEAN4【入门介绍5】推理世界-如何使用和证明推理性的命题_哔哩哔哩_bilibili import Game.Levels.Implication.L10one_ne_zero World "Implication" Level 11 Title "2 2 ≠ 5" LemmaTab "Peano" …

Maven排除依赖 exclusions

排除依赖 exclusions 间接依赖是可以通过传递性依赖机制引入到当前项目中,而有时候第三方组件B的C依赖由于版本(1.0)过低存在安全漏洞。我们期望能够将该间接依赖直接剔除出去,不通过传递依赖的形式引入到项目中。这时即可通过exclusions元素实现&#x…

【并发】什么是 Future?

🍎个人博客:个人主页 🏆个人专栏:JAVA ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 关键特性和操作包括: 提交任务: 查询完成状态: 等待结果: 取消任务&#xff1a…

golang整合rabbitmq,创建交换机并绑定队列

1,如果要开发消息队列,需要创建交换机和队列,通常有2中方式创建,1种是在面板直接创建 2,第二种就是在代码中创建,这里 展示的是go语言代码中创建rabbitmq package mainimport ("fmt""log""github.com/streadway/amqp" )func main() {// 连接R…

年销180万辆的特斯拉,护城河却在崩塌

文|刘俊宏 2023年率先开启汽车价格战的马斯克,伤敌一百自损八千? 在1月25日的特斯拉2023Q4财报电话会上,特斯拉CEO马斯克对中国公司的竞争力如此感叹道,“要是没有贸易壁垒,他们将摧毁(destroy…

2024年华为OD机试真题-执行时长-Python-OD统一考试(C卷)

题目描述: 为了充分发挥GPU算力,需要尽可能多的将任务交给GPU执行,现在有一个任务数组,数组元素表示在这1秒内新增的任务个数且每秒都有新增任务,假设GPU最多一次执行n个任务,一次执行耗时1秒,在…

Jsch版本升级引发的血案

背景 我们项目需要通过SFTP对接大量上下游获取数据,但是由于某一个上游需要更换AWS Transfer Family作为他们的SFTP服务,他们的SFTP服务使用更高版本的OpenSSH服务,原有的一些密钥算法已经不再支持,我们目前使用的Jcraft公司发布…

jsx中使用插槽

1. jsx语法中使用插槽 以elementplus ElPopconfirm 为例 <el-popconfirm title"Are you sure to delete this?"><template #reference><el-button>Delete</el-button></template></el-popconfirm>使用 slots: {default: (dat…