嵌入式软件设计(1)--概述

article/2025/9/14 14:53:27

嵌入式软件的定义及特点

嵌入式系统的定义

嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪、功能、可靠性、功耗严格要求的专用计算机系统。

其中要说明的几个点是
1. 嵌入式系统是专用系统,而不是通用系统,其往往是为了特点领域而进行开发应用的;
2. 嵌入式系统的软硬件可以进行裁剪。其中主要突出的是嵌入式系统可以根据实际的需要进行软硬件所需内容的选择,具有极大的灵活性以及可选择性;
3. 嵌入式系统一般要求具有很高的实时性,特别是应用于航天等领域时,其实时性要求会更高;
4. 嵌入式系统广泛使用,但是其对于成本、体积、功耗都有较多的要求,为的是更为精巧地嵌入到应用中。

嵌入式系统的知识体系

这里写图片描述

其中,对于嵌入式软件而言,更多的是涉及到计算机技术中软件方面的内容,因此需要熟练地掌握上述的种种内容。同时,对于硬件方面也要有一个比较系统化的了解。
对于其他板块而言,提供这个版块的目的是在需要设计一个嵌入式系统时,根据上述的知识体系以及实际的需要进行合理化的人才选择。

嵌入式系统的特点

  • 系统内核小
  • 专用性强
  • 系统精简
  • 高实时性
  • 需要专门的开发工具和环境

嵌入式系统的组成结构

这里写图片描述

对于这张图暂时没有一个系统化的认识与理解,因此等到学习过程中不断地进行学习巩固,加深认识。

值得注意的是,嵌入式系统的硬件是以嵌入式处理器或者微处理器为核心的SoC/SoPC(System on Chips/System-on-a-Programmable-Chip),同时配置必要的外围接口部件。

微处理器的两个发展分支

通用处理器

  • 目标: 高速的数字处理能力
  • 路线:总线速度的提升,存储量的扩大
  • 其他:功耗的增加、体积的增加

嵌入式微处理器

  • 目标:突出强调嵌入式的性能以及控制能力
  • 路线: 单芯片实现,多样性
  • 其他:低功耗、小体积、接口丰富

嵌入式处理器分类

  • 嵌入式微处理器MPU(Microprocessor)
  • 嵌入式微控制器MCU(Microcontroller Unit)–单片机
  • 嵌入式数字信号处理器(Digital Signal Processor)
  • Soc/SoPC

注:嵌入式片上系统是在一个硅片上实现一个复杂的系统,其特点是整个嵌入式系统大部分均可集成到一块或者几块芯片中去,它可以使应用系统电路板变得很简洁。

嵌入式SoPC

嵌入式SoPC来源于SoC,因此其具有嵌入式片上系统高度继承化,电路板简洁的特点,同时作为可编程逻辑技术的实现,其具备了可编程的功能,具体的表现就是可裁减、可扩充、可升级等灵活的设计方式。

嵌入式软件组成结构

这里写图片描述
嵌入式软件是针对特定应用以及相应的硬件平台,为完成用户预期任务而设计的计算机软件
嵌入式软件具有四层结构。最低层是BSP/HAL, 称之为板级支持包或者是硬件抽象层, 其功能是提供基本的硬件支持;再上一层是OS,操作系统,负责对于任务资源的分配与管理,接着是中间件,例如我们最为熟知的JVM,其是跨平台中间件的使用,到了最上层就是应用软件。

实时操作系统(RTOS)体系结构

这里写图片描述
在实时操作系统中,操作系统负责的基本任务就是对于内存、文件的管理,以及进程的调度,扩展功能就是对于网络模块等的调度以及使用。

通用计算机与嵌入式系统

特别注意的是通用计算机与嵌入式系统在开发方式上的差异。通用计算机开发平台和运行平台均为通用计算机,而嵌入式系统开发平台为通用计算机,运行平台为嵌入式系统。

嵌入式系统开发流程

  • 需求分析、规格说明
  • 系统结构设计、硬件和软件的选择
  • 构件技术、构件设计与实现
  • 系统集成、测试与验收

http://chatgpt.dhexx.cn/article/D3o4BNPo.shtml

相关文章

嵌入式软件设计必看书籍

提高C语言编程能力 以上4本书籍可以提高C语言编程能力,深入理解C语言指针用法,深入理解C语言标准。 提高软件架构设计能力 以上2本书籍掌握以下知识: 1、软件设计原则。 2、软件设计模式。 3、软件设计构架。 4、软件设计思维。 提升对RTO…

嵌入式软件架构的设计

嵌入式软件架构的设计 大多数嵌入式程序员学习编程,都是从开发板的附带例程开始。之后工作也会继续参考那些例程,很多编程习惯、方式也会受之影响。 其实开发板式的编程方式与工作中实际需求的并不完全一致。 开发板的通常卖给初学者,注重…

嵌入式软件设计(stm32快速上手)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 有很多的培训机构在培训嵌入式的时候,一上来会讲很多的理论知识。其实这个时候要是能通过实操帮助学员快速入门、快速上手、快速看到效果,或许这才是最重要的。 1、安装mdk软件 类…

举例说明嵌入式框架该如何分层

关注、星标公众号,直达精彩内容 素材来源:https://blog.csdn.net/weixin_46185705/article/details/122536374 整理:技术让梦想更伟大 | 李肖遥 前言 为了能够使得产品得到更好的开发速度与以后更好的迭代和移植,框架分层是很有必…

嵌入式软件架构设计

如何设计一个好的软件架构,如何提高软件的扩展性,移植性,复用性和可读性? 很多做嵌入式开发的朋友经常会遇到这种情况:一个项目软件设计完成了,客户提出了一些新的功能需求。这时侯如果客户新需求不多&…

《嵌入式软件设计方法》--设计原则

设计原则(SOLID) 使用各个原则的首字母组成了一个单词:SOLID。 SRP:Single Responsibility Principle,单一职责原则;OCP:Open Closed Principle,开闭原则;LSP:Liskov Substitution Principle,…

嵌入式软件设计之设计模式

文章目录 前言1.设计模式之适配器模式2.设计模式之单例模式3.设计模式之命令模式4.设计模式之门面模式 前言 在嵌入式软件设计过程中,也会用到一些设计模式,所以说设计模式并不是面向对象语言的专利,下面我通过查资料以及自己的思考总结的几…

2、【已解决】Oracle错误问题(ORA-03113)

在执行一条sql时出现了如下问题: 处理方案网上找了一下日志,说是备份日志满了的原因; 通过以下方法看了下错误日志信息: 1、export TIME_STYLE%Y-%m-%d %H:%M:%S #格式化文件日期,便于查找错误文件 2、sqlplus &qu…

搭建ADG过程中复制报错 RMAN-03009 ORA-03113

搭建ADG过程中复制报错 RMAN-03009 ORA-03113 猜测主备之间网络路由过多导致。。。 开启mrp进程报错 发现数据文件是主库ASM的路径,备库是单机的 switch database to copy; 报错RMAN-6571 report schema;switch database to copy; select name from v$datafile;s…

oracle 启动报错03113,oracle数据库无法启动,总报ora-03113错误

虚机上装的oracle,由于系统突然宕机,导致了以下问题: 问题: 1、监听无法启动: $ lsnrctl start LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 22-NOV-2018 15:27:11 Copyright (c) 1991, 2013, Oracle. Al…

oracle 启动报错03113,Oracle 入门之Oracle启动报错“ORA-03113”

Oracle 入门之Oracle启动报错“ORA-03113” [日期:2010-09-25] 来源:Linux社区 作者:naruto6006 [字体:大 中 小] 早上连接Oracle,发现oracle无法正常工作,无法shutdown immediate方式关闭,shutdown abort方…

linux oracle 03113,Oracle数据库关闭时出现ORA-03113错误

Oracle数据库关闭时,出现ORA-03113错误: SQL> shutdown immediate ORA-03113: end-of-file on communication channel Process ID: 3437 Session ID: 125 Serial number: 5 SQL> startup ORA-24324: service handle not initialized ORA-01041: in…

oracle startup open ora 03113,oracle宕机,startup报错ora03113

一、故障情况 应用无法连接数据库,检查oracle发现已经宕机。 startup 后报错 ORA-03113: end-of-file on communication channel 二、查找原因 查看alter日志 tail -500 /oracle/database/oracle/diag/rdbms/udb/udb1/trace/alter_UDB1.log Unable to create archiv…

ora03113通信通道的文件结尾 会话id 149 序列号 3

ORA-19815: 警告: db_recovery_file_dest_size 字节 已使用100.00%, 尚有 0 字节可用。” 是db_recovery_file_dest_size也叫归档日志空间不足导致 解决方法 第一步,将空间设置大点,另一个就是将多余的文件删除掉即可,那么我们就将这两个办法…

ORA-03113:通信通道的文件结尾

转自--------------http://blog.csdn.net/zwk626542417/article/details/39667999 由来 今天跟往常一样,登陆PL/SQL,确登陆失败,出现一个错误“ORA-01034”和“ORA-27101”如图: 然后就就通过命令提示符去登陆Oracle,去…

ORA-03113:通信通道的文件结尾-完美解决方案

今天发现系统登录和查询数据特别慢,orcl进程占用内存也特别高。打开程序调试用,存储过程调用时报错【ORA-03113:通信通道的文件结尾】 解决方案: oracle 文档中对这个错误这样解释: ORA-03113 错误就是说连接到数据…

ORA-03113: 通信通道的文件结尾

一、报错及错误原因 启动oracle数据库事报错:ORA-03113: 通信通道的文件结尾,报错内容如下图 出现问题后,去查看告警日志文件(D:\app\diag\rdbms\cjyorcl\cjyorcl\trace\alert_cjyorcl.log),日志报错内容如…

TinyPng:在线PNG图片压缩工具

本资源由 伯乐在线 - 卢伟 整理 TinyPng:在线PNG图片压缩工具是一款可以帮助网页设计师们优化图片的工具,只需要简单的两步就可以完成对PNG图片的高压缩而且还不会影响PNG图片的质量,这样就可以解决网页设计师因图片太大而影响网站加载网页速度的难题。 …

在线PNG图片压缩工具推荐——TinyPng

日常开发工作中时常需要对PNG图片压缩,今天推荐大家一个在线的图片压缩工具,ThinyPng 在线地址:TinyPNG – Compress WebP, PNG and JPEG images intelligently TinyPng:在线PNG图片压缩工具是一款可以帮助网页设计师们优化图片的工具&#x…