嵌入式软件接口设计(嵌入式软件设计基础)

4747 597 2022-11-13


本文目录一览:

嵌入式系统在硬件设计,操作系统的选择,以及软件的设计要遵循哪些原则

要把软件做得非常灵活又要便于维护是一个很困难的事情。灵活的软件他的结构就复杂,维护起来就困难。有得必有失,关键就在于如何处理这两者,使得大于失。软件的设计开发应遵循以下六大原则:1.       OCP全称:“Open-Closed Principle” 开放-封闭原则说明:对扩展开放,对修改关闭。优点:按照OCP原则设计出来的系统,降低了程序各部分之间的耦合性,其适应性、灵活性、稳定性都比较好。当已有软件系统需要增加新的功能时,不需要对作为系统基础的抽象层进行修改,只需要在原有基础上附加新的模块就能实现所需要添加的功能。增加的新模块对原有的模块完全没有影响或影响很小,这样就无须为原有模块进行重新测试。如何实现“开-闭”原则在面向对象设计中,不允许更改的是系统的抽象层,而允许扩展的是系统的实现层。换言之,定义一个一劳永逸的抽象设计层,允许尽可能多的行为在实现层被实现。解决问题关键在于抽象化,抽象化是面向对象设计的第一个核心本质。 对一个事物抽象化,实质上是在概括归纳总结它的本质。抽象让我们抓住最最重要的东西,从更高一层去思考。这降低了思考的复杂度,我们不用同时考虑那么多的东西。换言之,我们封装了事物的本质,看不到任何细节。在面向对象编程中,通过抽象类及接口,规定了具体类的特征作为抽象层,相对稳定,不需更改,从而满足“对修改关闭”;而从抽象类导出的具体类可以改变系统的行为,从而满足“对扩展开放”。对实体进行扩展时,不必改动软件的源代码或者二进制代码。关键在于抽象。2.       LSP全称:“Liskov Substitution Principle” 里氏代换原则说明:子类型必须能够替换它们的基类型。一个软件实体如果使用的是一个基类,那么当把这个基类替换成继承该基类的子类,程序的行为不会发生任何变化。软件实体察觉不出基类对象和子类对象的区别。优点:可以很容易的实现同一父类下各个子类的互换,而客户端可以毫不察觉。3.       DIP全称:“Dependence Inversion Principle”依赖倒置原则说明:要依赖于抽象,不要依赖于具体。客户端依赖于抽象耦合。抽象不应当依赖于细节;细节应当依赖于抽象;要针对接口编程,不针对实现编程。优点:使用传统过程化程序设计所创建的依赖关系,策略依赖于细节,这是糟糕的,因为策略受到细节改变的影响。依赖倒置原则使细节和策略都依赖于抽象,抽象的稳定性决定了系统的稳定性。怎样做到依赖倒置?以抽象方式耦合是依赖倒转原则的关键。抽象耦合关系总要涉及具体类从抽象类继承,并且需要保证在任何引用到基类的地方都可以改换成其子类,因此,里氏代换原则是依赖倒转原则的基础。在抽象层次上的耦合虽然有灵活性,但也带来了额外的复杂性,如果一个具体类发生变化的可能性非常小,那么抽象耦合能发挥的好处便十分有限,这时可以用具体耦合反而会更好。层次化:所有结构良好的面向对象构架都具有清晰的层次定义,每个层次通过一个定义良好的、受控的接口向外提供一组内聚的服务。依赖于抽象:建议不依赖于具体类,即程序中所有的依赖关系都应该终止于抽象类或者接口。尽量做到:1、任何变量都不应该持有一个指向具体类的指针或者引用。2、任何类都不应该从具体类派生。3、任何方法都不应该覆写它的任何基类中的已经实现的方法。4.       ISP全称:“Interface Segregation Principle” 接口隔离原则说明:使用多个专一功能的接口比使用一个的总接口总要好。从一个客户类的角度来讲:一个类对另外一个类的依赖性应当是建立在最小接口上的。过于臃肿的接口是对接口的污染,不应该强迫客户依赖于它们不用的方法。优点:会使一个软件系统功能扩展时,修改的压力不会传到别的对象那里。如何实现接口隔离原则不应该强迫用户依赖于他们不用的方法。1、利用委托分离接口。2、利用多继承分离接口。5.       CARP or CRP全称:“Composite/Aggregate Reuse Principle” 合成/聚合复用原则 or “Composite Reuse Principle” 合成复用原则说明:如果新对象的某些功能在别的已经创建好的对象里面已经实现,那么尽量使用别的对象提供的功能,使之成为新对象的一部分,而不要自己再重新创建。新对象通过向这些对象的委派达到复用已有功能的。简而言之,要尽量使用合成/聚合,尽量不要使用继承。优点:1) 新对象存取成分对象的唯一方法是通过成分对象的接口。2) 这种复用是黑箱复用,因为成分对象的内部细节是新对象所看不见的。3) 这种复用支持包装。4) 这种复用所需的依赖较少。5) 每一个新的类可以将焦点集中在一个任务上。6) 这种复用可以在运行时间内动态进行,新对象可以动态的引用与成分对象类型相同的对象。7) 作为复用手段可以应用到几乎任何环境中去。缺点:就是系统中会有较多的对象需要管理。6.       LOD or LKP全称:“Law of Demeter” 迪米特原则 or “Least Knowledge Principle” 最少知识原则说明:对象与对象之间应该使用尽可能少的方法来关联,避免千丝万缕的关系。如何实现迪米特法则迪米特法则的主要用意是控制信息的过载,在将其运用到系统设计中应注意以下几点:1) 在类的划分上,应当创建有弱耦合的类。类之间的耦合越弱,就越有利于复用。2) 在类的结构设计上,每一个类都应当尽量降低成员的访问权限。一个类不应当public自己的属性,而应当提供取值和赋值的方法让外界间接访问自己的属性。3) 在类的设计上,只要有可能,一个类应当设计成不变类。4) 在对其它对象的引用上,一个类对其它对象的引用应该降到最低。

还有个单一职责原则:

SRP简介(SRP--Single-Responsibility Principle): 就一个类而言,应该只专注于做一件事和仅有一个引起它变化的原因。所谓职责,我们可以理解他为功能,就是设计的这个类功能应该只有一个,而不是两个或更多。也可以理解为引用变化的原因,当你发现有两个变化会要求我们修改这个类,那么你就要考虑撤分这个类了。因为职责是变化的一个轴线,当需求变化时,该变化会反映类的职责的变化。 使用SRP注意点: 1、一个合理的类,应该仅有一个引起它变化的原因,即单一职责;

2、在没有变化征兆的情况下应用SRP或其他原则是不明智的;

3、在需求实际发生变化时就应该应用SRP等原则来重构代码;

4、使用测试驱动开发会迫使我们在设计出现臭味之前分离不合理代码;

5、如果测试不能迫使职责分离,僵化性和脆弱性的臭味会变得很强烈,那就应该用Facade或Proxy模式对代码重构; SRP优点: 消除耦合,减小因需求变化引起代码僵化性臭味


什么是嵌入式系统?由哪几部分组成?


嵌入式系统由硬件和软件组成.是能够独立进行运作的器件。其软件内容只包括软件运行环境及其操作系统。硬件内容包括信号处理器、存储器、通信模块等在内的多方面的内容。

相比于一般的计算机处理系统而言,嵌入式系统存在较大的差异性, 它不能实现大容量的存储功能,因为没有与之相匹配的大容量介质,大部分采用的存储介质有E-PROM、EEPROM DENG等, 软件部分以API编程接口作为开发平台的核心。

扩展资料

嵌入式系统特点:

1、专用性强。由于嵌入式系统通常是面向某个特定应用的,所以嵌入式系统的硬件和软件,尤其是软件,都是为特定用户群设计的,通常具有某种专用性的特点。

2、体积小型化。嵌入式计算机把通用计算机系统中许多由板卡完成的任务集成在芯片内部,从而有利于实现小型化,方便将嵌入式系统嵌入目标系统中。

参考资料来源:百度百科-嵌入式系统

嵌入式软件设计和嵌入式软件开发有区别吗?

嵌入式系统是由软件和硬件组成的整体。

硬件部分可以分成嵌入式处理器和外部设备。

处理器是整个系统的核心,负责处理所有的软件程序以及外部设备的信号。

外部设备在不同的系统中有不同的选择。比如在汽车上,外部设备主要是传感器,用于采集数据;而在一部手机上,外部设备可以是键盘、液晶屏幕等。

软件部分可以分成两层,最靠近硬件的是嵌入式操作系统。

操作系统是软硬件的接口,负责管理系统的所有软件和硬件资源。操作系统还可以通过驱动程序与外部设备打交道。

最上层的是应用软件,应用软件利用操作系统提供的功能开发出针对某个需求的程序,供用户使用。用户最终是和应用软件打交道,例如在手机上编写一条短信,用户看到的是短信编写软件的界面,而看不到里面的操作系统以及嵌入式处理器等硬件。

一般来说,嵌入式硬件指逻辑电路、嵌入式处理器、微控制器、存储系统和硬件设计技巧等。

嵌入式硬件开发工程师主要编写嵌入式系统硬件总体方案和详细方案,要求理解嵌入式系统架构,有一定的c语言基础,熟悉arm、protel设计软件,有四层板开发经验。

国内通常所说的嵌入式硬件指利用处理器开发外部设备方面。

嵌入式软件就是嵌入在硬件中的操作系统和开发工具软件,它在产业中的关联关系体现为:芯片设计制造→嵌入式系统软件→嵌入式电子设备开发、制造。

嵌入式软件就是基于嵌入式系统设计的软件,它也是计算机软件的一种,同样由程序及其文档组成,可细分成系统软件、支撑软件、应用软件三类,是嵌入式系统的重要组成部分。

但国内通常所说的嵌入式软件主要指最靠近硬件的系统软件与支撑软件部分。

什么叫嵌入式软件开发?可以说的详细些吗?

一、考试说明

1、考试要求:

(1)掌握科学基础知识;

(2)掌握嵌入式系统的硬件、软件知识;

(3)掌握嵌入式系统分析的方法;

(4)掌握嵌入式系统设计与开发的方法及步骤;

(5)掌握嵌入式系统实施的方法

(6)掌握嵌入式系统运行维护知识;

(7)了解信息化基础知识、信息技术引用的基础知识;

(8)了解信息技术标准、安全,以及有关法律的基本知识;

(9)了解嵌入式技术发展趋势;

(10)正确阅读和理解计算机及嵌入式领域的英文资料。

2、通过本考试的合格人员能根据项目管理和工程技术的实际要求,按照系统总体设计规格进行软、硬件实际,编写系统开发规格说明书等相应的文档;组织和指导嵌入式系统靠法实施人员实施硬件电路、编写和调试程序,并对嵌入式系统硬件设备和程序进行优化和集成测试,开发出符合系统总体设计要求的高质量嵌入式系统;具有工程师的实际工作能力和业务水平。

二、考试范围

考试科目1:嵌入式系统基础知识

1.计算机科学基础

1.1数制及转换

o 二进制、八进制、十进制和十六进制等常用数制及其相互转换

1.2数据的表示

o 数的机内表示(原码、反码、补码、移码,定点和浮点,精度和溢出)

o 字符、汉字、声音、图像的编码方式

o 校验方法和校验码(奇偶验码、海明校验码、循环校验码)

1.3算术和逻辑运算

o 计算机中的二进制数运算方法

o 逻辑代数的基本运算和逻辑表达式的化简

1.4计算机系统结构和重要部件的基本工作原理

o CPU和存储器的组成、性能、基本工作原理

o 常用I/O设备、通信设备的性能,以及基本工作原理

o I/O接口的功能、类型和特点

o 虚拟存储存储基本工作原理,多级存储体系

1.5安全性、可靠性与系统性能评测基础知识

o 诊断与容错

o 系统可靠性分析评价

o 计算机系统性能评测方法

2.嵌入式系统硬件知识

2.1数字电路和逻辑电路基础

2.1.1组合电路和时序电路

2.1.2总线电路与电平转换电路

2.1.3可编程逻辑器件

2.2嵌入式微处理器基础

2.2.1嵌入式微处理器体系结构

o 冯.诺伊曼结构与哈佛结构

o CISC与RISC

o 流水线技术

o 信息存储的字节顺序(大端存储法和小端存储法)

2.2.2嵌入式系统处理器的结构和类型

o 常用8位处理器的体系结构和类型

o 常用16位处理器的体系结构特点

o 常用32位处理器的体系结构特点

o 常用DSP处理器的体系结构特点

o 多核处理器的体系结构特点

2.2.3异常

o 同步异常(陷阱、故障、终止)

o 异步异常(中断)

o 可屏蔽中断、不可屏蔽中断

o 中断优先级、中断嵌套

2.3 嵌入式系统的存储体系

2.3.1存储器系统

o 存储器系统的层次结构

o 高速缓存(Cache)

o 内存管理单元(MMU)

2.3.2 ROM的种类与选型

o 常见ROM的种类

o PROM、EPROM、E2PROM型ROM的典型特征和不同点

2.3.3 Flash Memory的种类与选型

o Flash Memory的种类

o NOR和NAND型Flash Memory的典型特征和不同点

2.3.4 RAM的种类与选型

o 常见RAM的种类

o SRAM、DRAM、DDRAM、NVRAM的典型特征和不同点

2.3.5 外存

o 常见外存的种类

o 磁盘、光盘、CF、SD等的典型特征和不同点

2.4 嵌入式系统I/O接口

2.4.1 定时器和计数器基本原理与结构

2.4.2 GPIO、PWM接口基本原理与结构

2.4.3 A/D、D/A接口基本原理与结构

2.4.4键盘、显示、触摸屏接口基本与结构

2.4.5嵌入式系统音频接口

2.5嵌入系统通信及网络接口

o PCI、USB、串口、红外、并口、SPI、IIC、PCMCIA的基本原理与结构

o 以太网、CAN、WLAN、蓝牙、1394的基本原理与结构

2.6嵌入式系统电源分类及电源原理

2.7电子电路设计

2.7.1电子电路设计基础知识

o 电子电路设计原理

o 电子电路设计方法及步骤

o 电子电路设计中的可靠知识

2.7.2 PCB设计基础知识

o PCB设计原理

o PCB设计方法及步骤

o 多层PCB设计的注意事项及布线原则

o PCB设计中的可靠性知识

2.7.3电子电路测试基础知识

o 电子电路测试原理与方法

o 硬件抗干扰测试

3. 嵌入式系统软件知识

3.1嵌入式软件基础知识

3.1.1嵌入式软件的分类(系统软件、支撑软件、应用软件)

3.1.2无操作系统支持的嵌入式软件体系结构(轮询、中断、前后台)

3.1.3有操作系统支持的嵌入式软件体系结构

3.1.4板极支持包基础知识(系统初始化、设备驱动程序)

3.1.5嵌入式中间件(GUI、数据库)

3.2 嵌入式操作系统基础知识

3.2.1嵌入式操作系统体系结构

o 单体结构、分层结构和微内核结构

3.2.2任务管理

o 多道程序技术

o 进程、线程、任务的概念

o 任务的实现(任务的层次结构、任务控制块、任务的状态及状态转换、任务队列)

o 任务调度(调度算法的性能指标、可抢占调度、不可抢占调度、先来先服务、短作业优先算法、时间片轮转算法、优先级算法)

o 实时系统及任务调度(RMS、EDF算法)

o 任务间通信(共享内存、消息、管道、信号)

o 同步与互斥(竞争条件、临界区、互斥、信号量、死锁)

3.2.3存储管理

o Flat存储管理方式

o 分区存储管理(固定分区、可变分区)

o 地址重定位(逻辑地址、物理地址、地址映射)

o 页式存储管理

o 虚拟存储技术(程序局部性原理、虚拟页式存储管理、页面置换算法、工作集模型)

3.2.4设备管理

o 设备无关性、I/O地址、I/O控制、中断处理、缓冲技术、假脱机技术)

3.2.5文件系统基础知识

o 文件和目录

o 文件的结构和组织

o 存取方法、存取控制

o 常见嵌入式文件系统(FAT、JFFS、YAFFS)

3.2.6操作系统移植基础知识

3.3 嵌入式系统程序设计

3.3.1嵌入式软件开发基础知识

3.3.2嵌入式程序设计语言

o 汇编、编译、解释系统的基础知识和基本工作原理

o 汇编语言

o 基于过程的语言(过程/函数、参数传递、全局变量、递归、动态内存分配、数据类型)

o 面向对象的语言(对象、数据抽象、继承、多态、自动内存管理)

o 各类程序设计语言的主要特点和适用情况

3.3.3嵌入式软件开发环境

o 宿主机、目标机

o 编辑器、编译器、链接器、调试器、模拟器

o 常用嵌入式开发工具(编程器、硬件仿真器、逻辑分析仪、示波器)

o 集成开发环境

o 开发辅助工具

3.3.4嵌入式软件开发

o 软件设计(模块结构设计、数据结构设计、内存布局、面向对象的分析与设计)

o 嵌入式引导程序的设计、设备驱动程序设计、内核设计、网络程序设计、应用软件设计)

o 编码(编程规范、代码审查)

o 测试(测试环境、测试用例、测试方法、测试工具)

o 下载和运行

3.3.5嵌入式应用软件移植

4.嵌入式系统的开发与维护知识

4.1系统开发过程及其项目管理

o 系统开发生命周期各阶段的目标和任务的划分方法

o 系统开发项目挂你基础知识及其常用管理工具使用方法

o 主要的系统开发方法

o 系统开发工具与环境知识

4.2 系统分析基础知识

o 系统分析的目的和任务

o 系统分析方法

o 系统规格说明书的编写方法

4.3 系统设计知识

o 传统系统设计方法

o 软硬件协同设计方法

4.4 系统实施知识

o 系统架构设计

o 系统详细设计

o 系统调试技术

o 系统测试

4.5 系统维护知识

o 系统运行管理知识

o 系统维护知识

o 系统评价知识

5.安全性知识

o 安全性基本概念

o 加密与解密机制

6.标准化知识

o 标准化的概念

o 国际标准、国家标准、行业标准、企业标准基本知识

o 代码标准、文件格式标准、安全标准、软件开发规范和文档标准知识

o 标准化机构

o 嵌入式系统相关标准

7.信息化基础知识

o 信息化和信息系统基本概念

o 有关的法律、法规

8.嵌入式技术发展趋势

9.计算机专业英语

o 正确阅读和理解相关领域的英文资料

考试科目2:嵌入式系统设计应用技术

1.嵌入式系统开发过程

1.1系统需求分析方法与步骤

1.2系统设计

o 系统硬件配置

o 系统功能组成分配

o 软硬件功能的分配

o 可行性验证及设计审查

o 系统规格

o 周期,成本及工作量估计

o 开发计划

1.3软硬件协同设计

1.4硬件设计

1.5软件设计

o 软件结构

o 设计评审

o 软件详细设计

1.6系统测试

o 测试环境

o 测试计划(内容、方法、标准、过程、检验)

o 硬件测试

o 软件测试(单元测试、集成测试)

o 软硬件联合测试

o 实施测试

1.7系统评估

1.8 软件维护

2.嵌入式系统硬件设计

2.1嵌入式系统硬件基本结构

2.1.1嵌入式微处理结构与应用

2.1.2 异常及中断处理技术

2.1.3 DMA技术

2.1.4 多处理系统

o 多处理器系统特点

o 多处理器系统构建技术

2.1.5 总线架构

o 应用系统中的总线配置

2.1.6 内存种类及架构

o 存储器系统接口设计

2.1.7数字电路和逻辑电路

o 专用集成电路

o 可编程逻辑控制器件

2.2输入/输出接口设计

2.2.1 输入/输出接口

o 接口信号电平转换

o 接口驱动电路设计

2.2.2输入/输出接口应用技术

o 外围设备

o 串口通信

o 并口通信

o 模拟接口

o 通信接口设备

o 通信标准和协议

o 数据传输方式

2.3外围设备接口应用技术

2.3.1 外围存储设备

o 存储卡,记忆棒,IC卡,MMC卡,SD卡

o DVD 、CD-R 、CD-RW

2.3.2外围输入/输出设备

o 键盘,鼠标,触摸屏

o 液晶板、LED、7段数码管、蜂鸣器

2.3.3电源设计技术

2.4可靠性与安全性设计技术

2.4.1 错误检测与隔离技术

2.4.2 冗余设计

2.4.3 系统恢复设计

2.4.4 诊断技术

2.4.5常用安全标准

2.4.6 抗干扰设计

2.4.7电磁兼容设计

2.4.8系统加密

3.嵌入式系统软件设计

3.1嵌入式系统软件结构设计

3.2嵌入式操作系统应用技术

3.2.1 时间管理

o 系统时间

o 时钟中断

3.2.2内存管理

o 静态内存管理

o 动态内存管理

3.2.3任务管理和任务间的通信

o 任务间的通信机制

o 信号量

o 邮箱

o 消息队列

3.2.4异常处理

o 异常处理方法

o 中断优先级处理方法

o 系统调用

3.2.5嵌入式文件系统应用技术

3.2.6嵌入式系统图形用户接口(GUI)应用技术

3.2.7嵌入式系统数据库应用技术

3.3嵌入式软件设计技术

3.3.1汇编语言设计

o 数据类型

o 汇编语言程序结构

o 汇编语言程序设计及优化

o 子程序调用

3.3.2嵌入式C语言设计

o ANSI-C的数据类型

o C程序结构

o C语言程序设计及优化

o 程序的编译与链接

3.3.3面向对象程序设计与开发

o 面向对象的分析与设计方法UML

o 面向对象的编程语言

o 使用C++进行嵌入式系统开发

o 使用Java进行嵌入式系统开发

3.4 系统级软件设计技术

o 嵌入式系统固件与系统初始化设计

o 设备驱动程序设计

o 硬件抽象层、板级支持包设计

o 嵌入式软件的移植技术

4.嵌入式系统开发技术

4.1系统开发环境

4.1.1开发工具

o 文本编辑器

o 汇编、编译和连接程序

o ICE和ICE监控器

o 配置管理工具

o 逆工程工具

4.1.2平台

o 操作系统

o 分布式开发环境

4.1.3开发环境创建方法及评估

o 开发工作分析

o 开发环境的建立

o 维护、管理、使用开发环境的方法

o 开发环境的评测

4.2实时系统的分析技术

4.2.1实时系统的分析技术

o 结构化分析方法

o 面向对象分析方法

4.2.2实时系统的设计技术

o 结构化分析方法

o 面向对象分析方法

4.3硬件设计环境

4.3.1硬件描述语言

o 硬件开发设计过程

o 硬件描述语言的种类与特点

4.3.2仿真技术

o 逻辑仿真方法

o 逻辑仿真工具

4.3.3大规模集成电路系统的开发方法

o ASIC开发方法

o FPGA设计方法

o IP(intellectual property)

4.4协同设计

o 软硬件任务工和切调

o 设计评审

4.5嵌入式系统低功耗设计技术

o 低功耗系统工作机制

o 低功耗系统模型结构

o 低功耗的硬件设计技术

o 低功耗的软件设计技术

4.6分布式嵌入系统设计

o 分布式系统设计原理

o 分布式系统的通信技术

o 分布式系统设计应用

5.嵌入式系统应用

5.1嵌入式系统在控制领域中的应用

5.2嵌入式系统在手持设备中的应用

5.3嵌入式系统在模式识别中的应用

三、题型举例

1、选择题

若嵌入式系统中采用I/O地址统一编址模式,访问内存单元和I/O设备是通过 (1) 来区分的。

(1) A.数据总线上输出的数据

B.不同的地址代码

C.不同的地址总路线

D.不同的指令

2、问答题

在某个嵌入式操作系统中,任务的状态转换图(不完整)如下,请阅读该图以及下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。

〔说明〕

任务总共有五个状态:休眠状态、就绪状态、运行状态、中断服务状态和等待状态,在任何时候,一个任务只会处于其中的某一个状态。

〔问题1〕(3分)

在单个CPU的系统中,处于运行状态的任务最多有多少个?

〔问题2〕(3分)

对于运行状态、就绪状态和等待状态这间的相互转换,图中并没有画出来,请补充。用文字处理的形式来进行描述,格式形如"运行状态→中断服务状态"。

〔问题3〕6分)

从运行状态可以直接变为等待状态吗?如果不能为什么?如果能什么时候会发生这种转换?举例说明。

关于嵌入式软件方向

要求高的地方就是你变成的时候如何看懂点如图,从而用C控制处理器的动作,这是其一,另一个就是如果你不会硬件就不可能了解汇编,而很多时候都需要汇编控制实时性强的场景。推荐你掌握一定的汇编语言和操作系统底层的东西,比如如何安排内存的存储空间。

至于买昂贵的板子我不知道是什么概念,不过我推荐你买个ARM板,估计不到500吧,入门用他是很重要的,而且你不知道你在一个什么平台上跑程序,又如何提高自己呢?

从底层硬件到上层应用,嵌入式软件的开发可以分为哪几类?

从底层硬件到上层应用,嵌入式软件的开发可以分为以下三类:

1、嵌入式操作系统开发

嵌入式操作系统EOS(Embedded Operating System)是一种被广泛使用的系统软件。过去,它主要用于工业控制和国防系统领域。 EOS负责分配和调度嵌入式系统的所有软件和硬件资源,控制和协调并发活动。

它必须体现其所在系统的特征,并能够通过加载和卸载某些模块来实现系统所需的功能。嵌入式操作系统通常以商业操作为主。自1980年代以来,商业嵌入式操作系统已开始蓬勃发展。

2、嵌入式支撑软件开发

支撑软件是用于帮助和支撑软件开发的软件,通常包括数据库和开发工具,其中数据库是最重要的。随着移动通信技术的进步,人们对移动数据处理提出了更高的要求。嵌入式数据库技术已受到学术,工业,军事和民用领域的关注。

嵌入式移动数据库或简称为移动数据库(EMDBS)是支持移动计算或特定计算模型的数据库管理系统。数据库系统与操作系统和特定的应用程序集成在一起,并在各种智能嵌入式设备或移动设备上运行。

3、 嵌入式应用软件开发

嵌入式应用软件是针对特定应用领域,基于某一固定的硬件平台,用来达到用户预期目标的计算机软件。由于用户任务可能有时间和精度上的要求,因此有些嵌入式应用软件需要特定嵌入式操作系统的支持。

嵌入式应用软件和普通应用软件有一定的区别,它不仅要求其准确性、安全性和稳定性等方面能够满足实际应用的需要,而且还要尽可能地进行优化,以减少对系统资源的消耗,降低硬件成本。

扩展资料:

嵌入式软件开发的特点:

近年来,随着计算机技术的迅猛发展,基于通信技术的信息技术以及Internet的广泛应用,传统的控制学科正在发生变化,并出现了许多新的增长点。

嵌入式系统涉及系统的最低层,芯片层的信息处理和控制。从某种意义上说,理解和控制这些“微观”世界是控制的真正目的。就设计思想和总体架构而言,通常意义上的嵌入式系统和控制系统之间存在许多差异。

在嵌入式系统和开发环境方面,仍然存在许多仍在研究和开发中的问题,例如嵌入式系统的硬件和软件协同设计方法;多目标、多任务微内核嵌入式操作系统;分布式嵌入式系统实时问题,分布式计算,分布式信息交互和综合处理;嵌入式系统的多目标交叉编译和调试工具的研究等。

参考资料来源:

百度百科-嵌入式软件



版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Mybatis plus的自动填充与乐观锁的实例详解(springboot)
下一篇:聊聊Java 中的线程中断
相关文章

 发表评论

暂时没有评论,来抢沙发吧~