导图社区 郭鑫源
郭鑫源课程梳理,其内容包括嵌入式发展历史、嵌入式概念定义、嵌入式系统层次划分、主要构成、分类及特点等等,有兴趣的可以看下。
编辑于2023-03-15 19:10:40 陕西郭鑫源
嵌入式发展历史
嵌入式系统经历了从单板机时代到单片机时代,诞生于20世纪70年代末,经历了SCM、MCU、SoC三大阶段。
嵌入式概念定义
嵌入式系统是用于控制,监视或者辅助操作机器和装备的装置,是软件与硬件的综合体,可以涵盖机电附属装置,其一般定义为以应用为中心,以计算机技术为基础,软件硬件可裁减,功能,可靠性,成本,体积,功耗严格要求的专用计算机系统。
嵌入式系统层次划分
嵌入式系统由硬件层、中间层、软件层和功能层组成。硬件层:以嵌入式微处理器为核心,存储器用以存储数据和执行代码,相关的设备接口和I/O接口,这些组成了一个嵌入式系统的基础,实现逻辑运算,算术运算等。 中间层:将系统上层软件和底层硬件进行分离,封装成标准的接口,在上层软件开发人员无需知道底层硬件的具体情况,完成的任务是底层硬件的初始化、数据的输入/输出操作、硬件的配置等功能。 软件层:主要由RTOS、文件系统、图形用户接口、网络系统和通用的组件模块组成,是软件开发的基础。 功能层:用来完成被控对象的控制功能。
嵌入式系统主要组成
嵌入式系统一般有3个主要的组成部分:硬件、实时操作系统以及应用软件。硬件:包括处理器、存储器(ROM、RAM)、输入输出设备、其他部分辅助系统等。 实时操作系统(Real-Time Operating System,RTOS):用于管理应用软件,并提供一种机制,使得处理器分时地执行各个任务并完成一定的时限要求 。 应用软件:实现具体业务逻辑功能。
嵌入式操作系统分类及特点
分类
(1)主要由微处理器构成的嵌入式系统,常常用于小型设备中(如温度传感器、烟雾和气体探测器及断路器);(2)不带计时功能的微处理器装置,可在过程控制、信号放大器、位置传感器及阀门传动器等中找到; (3)带计时功能的组件,这类系统多见于开关装置、控制器、电话交换机、包装机、数据采集系统、医药监视系统、诊断及实时控制系统等等; (4)在制造或过程控制中使用的计算机系统,这也就是由工控机级组成的嵌入式计算机系统,是这四类中最复杂的一种。也是现代印刷设备中经常应用一种。
特点
(1)嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。嵌入式CPU能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。(2)嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对微处理器的选择更具有竞争力。 (3)嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。(4)高实时性的系统软件(OS)是嵌入式软件的基本要求。而且软件要求固态存储,以提高速度;软件代码要求高质量和高可靠性。
嵌入式开发过程
嵌入式系统开发流程包含软件开发流程和硬件开发流程:软件开发流程 : 一、需求调研分析 1、系统分析员和用户初步了解需求,确认开发的功能模块,并列出要开发的系统的大功能模块,及每个大功能模块下的小功能模块有哪些;对于有明确需求的,可以初步定义好少量的界面。2、系统分析员深入了解和分析需求,制作一份功能需求文档。此文档清晰的写出系统大致的大功能模块和大功能模块下的小功能模块,还会写出相关的界面及界面功能。3、系统分析员跟用户再次进行需求确认。二、概要设计 开发者需要对软件系统进行概要设计,概要设计时要考虑软件系统的设计,包含系统的基本处理流程、接口设计、模块划分、组织结构、功能分配、运行设计、数据结构设计以及出错处理设计等。三、详细设计 在上一步的概要设计基础上,开发者需要进行软件系统的详细设计,会描述实现具体模块相关的主要算法、数据结构、类型的层次结构和调用的关系,方便进行编码以及测试。详细设计必须足够详细,能够按照详细设计报告进行编码。四、编码 开发者根据《软件系统详细设计报告》中对数据结构、算法分析和模块实现等方面的设计要求,开始具体的编写程序工作,分别实现各模块的功能,从而实现对目标系统的功能、性能、接口、界面等方面的要求。
理解和感悟
刚刚入门 ,对书里好多东西都是好奇的,好多名词也都是新鲜的,但是慢慢的,接触到嵌入式系统,感觉好难,所以没有什么收获,对很多概念性名词比较模糊,但是,随着两周课程学习的了解深入让我有了更深的心得体会,对嵌入式系统有了浅层理解。刚开始,老师给我们介绍了嵌入式工程师就业需求,让我们大致了解这个职业的要求,也对嵌入式学习有个大概的学习方向。在嵌入式的学习过程中,让我了解了什么是嵌入式系统。它就是以应用为中心,以计算机技术为基础,软硬件可定制,适用于不同应用场合,对功能、可靠性、成本、体积、功耗有严格要求的计算机系统。他一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统、用户应用程序四个部分组成,用于实现对其他设备的控制、监视或管理功能。嵌入式系统已经应用于科学研究、工业控制、军事技术、交通通信、医疗卫生、消费娱乐等领域,人们日常使用的手机、PDA、汽车、智能家电、GPS等均是嵌入式系统的典型代表。简略了解了五款嵌入式开发软件,目前我们大多使用的是Keil软件,老师给我们介绍了Keil的主要调试指令等,Java、C++、Pascal语言等五种编程语言的区别和各自的特点。上课时,老师讲解的删除备份文件、过程文件,解决汉字乱码问题,设置跳转信息,找到调用的函数,无法跳转,文件查找等设计技巧让我收益匪浅,学习到不少新知识。在嵌入式系统里,软件离不开软件,硬件也离不开软件。