嵌入式系统软件层次结构

文章目录

嵌入式系统软件

嵌入式软件培训_dsp嵌入式软件_嵌入式软件开发需要学什么

嵌入式软件:包括嵌入式操作系统和应用软件

嵌入式应用软件

在设计简单的应用程序时,不需要使用操作系统,但在设计更复杂的程序时,可能需要操作系统(OS)来管理和控制内存、多任务、外设资源等。基于系统提供的程序接口可以大大减轻应用程序员的负担。

嵌入式系统软件层次结构

对于使用操作系统的嵌入式系统来说,嵌入式系统软件结构一般包括三个层次:设备驱动层、实时操作系统(RTOS)和实际应用层。 由于硬件电路的可扩展性以及嵌入式系统本身的特点,其软件部分也是可扩展的。

功能简单、仅包含应用程序的嵌入式系统一般不使用操作系统,仅使用应用程序和设备驱动程序。 现代高性能嵌入式系统的应用越来越广泛,操作系统的使用已成为必然的发展趋势。

Windows、Unix、Linux等操作系统及其操作平台都是通用计算机上的标准。 但嵌入式系统的情况并非如此。 嵌入式处理器的种类很多,目前不下百种。 即使同一系统的嵌入式处理器仍然有不同的配置。 为了屏蔽这些硬件平台之间的差异,操作系统提供商只使用标准C语言来实现操作系统中不依赖于特定硬件的公共部分,而实现依赖于硬件的部分(例如内存类型) 、外部设备的配置和地址分配)。 等)留给用户编写,操作系统只指定一个标准规范。

用户编写的这部分代码提供了用户特定硬件与标准化操作系统之间的接口和支持平台。 这部分代码称为板支持包(BSP)或硬件抽象层(Hardware Abstraction Layer)。 ,哈尔)。

经过不断的发展,嵌入式系统原来的3层结构逐渐演化为4层结构。

dsp嵌入式软件_嵌入式软件开发需要学什么_嵌入式软件培训

嵌入式系统详细结构

dsp嵌入式软件_嵌入式软件开发需要学什么_嵌入式软件培训

由于中间层的引入,屏蔽了底层硬件的多样性。 操作系统不再面向具体的硬件环境,而是面向这个中间层所代表的逻辑硬件环境。 因此,中间层称为硬件抽象层(HAL)。

HAL的引入极大地促进了嵌入式实时系统的通用化,从而为嵌入式系统的广泛应用提供了可能。

硬件抽象层

板级支持包(BSP)是大多数现有商业嵌入式操作系统用来实现可移植性的解决方案。 它是硬件抽象层的实现。

BSP隔离了所支持的嵌入式操作系统与底层硬件平台之间的相关性,使得嵌入式操作系统可以与BPS所支持的硬件平台通用,从而实现嵌入式操作系统的可移植性和跨平台性。 以及嵌入式操作系统的多功能性和可重用性。

BSP是相对于操作系统而言的,不同的操作系统对应着不同的BSP定义。

例如,对于同一个CPU,要实现同样的功能,VxWorks BSP和Linux BSP的编写方法和接口定义是完全不同的。

因此,BSP必须按照具体操作系统BSP的定义形式来编写(大多数BSP编程过程是在某种形成的BSP模板上修改的),这样才能与上层操作系统保持正确的接口并良好地运行。支持上层操作系统。

嵌入式软件开发需要学什么_嵌入式软件培训_dsp嵌入式软件

嵌入式操作系统

目前流行的嵌入式操作系统可以分为两类:

嵌入式操作系统——WinCE

Windows CE是微软公司开发的开放、可升级的32位嵌入式操作系统。 它是一种基于手持电脑类电子设备的操作系统。

嵌入式操作系统-VxWorks

VxWorks操作系统是美国WindRiver公司于1983年设计开发的嵌入式实时操作系统(RTOS),具有良好的可持续开发能力、高性能的内核和用户友好的开发环境,在业界已站稳了脚跟。嵌入式实时操作系统领域。 牢牢占据一席之地。

VxWorks的显着特点是:

凭借其良好的可靠性和优异的实时性能,广泛应用于通信、军事、航天等高科技和实时性要求较高的领域,如火星探测器(1997年7月4日登陆火星)。 表面)。

嵌入式操作系统——Linux

Linux 是一个类Unix 操作系统。 它最初是 Linus Torvalds 在芬兰的一种爱好,但现在已成为最流行的开源操作系统之一。

从1991年问世到现在,Linux在短短10多年的时间里已经发展成为一个功能强大、设计精良的操作系统。 随着网络技术的进步而发展起来的Linux操作系统,已经成为微软Windows的有力竞争对手。

Linux系统不仅可以运行在PC平台上,而且在嵌入式系统中也大放异彩。 可用于各种嵌入式Linux操作系统

随着Linux操作系统的快速发展,逐渐形成了可以与Windows CE等EOS竞争的局面。 目前正在开发的嵌入式系统中,超过50%的项目选择Linux作为嵌入式操作系统。 Linux 现在是嵌入式操作的理想选择。 Linux开源、免费使用,全球众多的Linux爱好者是Linux发展的强大技术支持。

嵌入式Linux(Embedded Linux)是指一种特殊的Linux操作系统,经过小型化和剪裁后,可以固化到容量只有几百K字节或几兆字节的存储芯片或微控制器中,用于特定的嵌入式场合。 。 嵌入式Linux的开发和研究是当前操作系统领域的热点。 主要包括RTLinux和μCLinux

嵌入式Linux操作系统的特点

精简内核,高性能、稳定、多任务。

良好的可移植性使其适用于不同的CPU,支持多种架构,如X86、ARM、MIPS、ALPHA、SPARC等。

它可以提供完整的嵌入式GUI和嵌入式X-Windows。

提供嵌入式浏览器、邮件程序、MP3播放器、MPEG播放器、记事本等应用程序。

提供完整的开发工具和SDK,以及PC端开发版本。

它并不专用于实时使用。 如果要在实时性要求较高的场合使用,则需要添加实时处理模块进行实时处理。

它是用户可定制的,并提供图形定制和配置工具。

支持常用嵌入式芯片的驱动,支持大量外围硬件设备,驱动丰富。

对于嵌入式存储解决方案,提供实时版本和完整的嵌入式解决方案。

完善的中文支持,强大的技术支持,完整的文档。

源代码开放,软件资源丰富,软件开发商广泛支持,价格低廉,结构灵活,应用广泛。

μClinux

μClinux是一个完全遵守GNU/GPL约定、代码完全开放的操作系统。 uClinux源自Linux 2.0/2.4内核,继承了主流Linux的大部分特性。 它专门针对没有MMU的CPU,为嵌入式系统做了很多小型化工作。 适用于没有虚拟内存或内存管理单元 (MMU) 的处理器,例如 ARM7TDMI。 它通常用于内存或闪存很少的嵌入式系统。 它保留了Linux的大部分优点:稳定性、良好的可移植性、优秀的网络功能、对各种文件系统的完整支持以及标准丰富的API。

嵌入式操作系统——uCOS

μC/OS——微控制器操作系统

μC/OS简介

美国人Jean Labrosse于1992年完成,μC/OS-II于1998年完成,目前版本μC/OS-II V2.61。 应用涵盖许多领域,例如相机、医疗设备、音频设备、发动机控制、高速公路电话系统、ATM,甚至航空。

它是一个实时多任务操作系统,具有开源代码、可移植性、可扩展性、资源占用率低、抢占式等特点。 其大部分源代码是用ANSI C编写的,具有良好的可移植性。 大学教学免费。

嵌入式操作系统——PalmOS

Palm OS是著名网络设备制造商3COM旗下掌上电脑公司PalmComputing的产品。

Palm OS是专门为掌上电脑编写的操作系统。 它充分考虑到掌上电脑内存相对较小。 因此,Palm操作系统本身占用的内存很小,基于Palm操作系统编写的应用程序占用的空间也很小。 它也非常小,通常只有几十KB,因此基于Palm操作系统的掌上电脑即使只有几兆字节的内存也可以运行许多应用程序。

Palm OS在PDA市场占有很大的市场份额,目前与WIN CE竞争激烈。

代表产品有Palm m505、Palm m500、Palm III等。

其他嵌入式操作系统

QNX的QNX OS、ISI的pSOS、电子科技大学嵌入式实时教研室与科音联合开发的Delta OS、凯斯集团自主开发的Hopen OS等。

华为鸿蒙系统

鸿蒙操作系统(英文:HarmonyOS)。 2019年8月9日,华为在东莞召开华为开发者大会,正式发布操作系统鸿蒙OS。

鸿蒙OS是一个“面向未来”的操作系统,是一个基于微内核的全场景分布式操作系统。 将适配手机、平板、电视、智能汽车、可穿戴设备等多种终端设备。

发展路径

2012年,华为开始规划自己的操作系统“鸿蒙”。

2019年5月24日,国家知识产权局商标局网站显示,华为已申请“华为鸿蒙”商标,申请日期为

2018年8月24日,登记公告日为2019年5月14日,专责期限为2019年5月14日至2029年5月13日。

2019年5月17日,某教授带领的华为操作系统团队开发了自主产权操作系统鸿蒙。 [9]

2019年8月9日,华为正式发布鸿蒙系统。 同时,余承东还表示,鸿蒙OS是开源的。

2019年8月10日,荣耀正式发布搭载鸿蒙操作系统的荣耀智慧屏和荣耀智慧屏Pro。

鸿蒙操作系统实现了模块化耦合,可以对应不同设备灵活部署。 鸿蒙操作系统采用三层架构。 第一层是内核,第二层是基础服务,第三层是程序框架。 可用于大屏、PC、汽车等多种设备。 手机上也可以随时使用,不过暂时华为手机还是优先使用安卓系统。

鸿蒙操作系统自注册以来,一直有“它是Android系统的一个分支”的说法。 这是一个误解。 中芯国际创始人张汝京博士曾分析,鸿蒙并不是Android系统的分支或修改,而是一个全新的系统。

独立操作系统。 它是针对未来5G物联网而开发的。

谷歌还有一个用于 5G IoT 的 Fuchsia 系统。 不过,鸿蒙基于emui 9.1版本优化的方舟编译器在性能方面比Android原生编译器要快很多。

Android系统采用Java语言编写,简单易学。 但它有一个缺点,就是无法与系统底层直接通信。 只能运行在所谓的虚拟机上。 说白了,虚拟机就相当于一个setter。 Android应用程序首先安装在虚拟机上,然后虚拟机将其传递给机器底层。

如果设置器出现问题怎么办? 在Android系统中,手机软件出现卡顿的情况。 那么,如果没有这个setter,我们是否可以直接与机器底层通信呢?

苹果手机之所以使用起来不卡顿,是因为他们没有setter,直接为机器底层编写代码。 苹果手机的软件运行比安卓手机流畅很多。

鸿蒙系统加方舟编译器替代虚拟机作为setter。

构建一个操作系统难吗? 基于Linux内核,很多大学生可以定制一个操作系统。 然而,打造一个适应新时代、满足自身业务需求、拥有良好生态系统的操作系统并不是那么容易的事情。 几十年来,在这条路上倒下的国内企业太多了,没有一家能够自立。

华为多年来一直在开发系统。 他们聘请了一位全球操作系统领域的大人物,他是领导操作系统内核团队的顶尖人物。

此人就是上海交通大学的陈海波教授。 虽然还是80后的年轻教授,但陈海波教授在操作系统领域的突破实在是太耀眼了。 用他自己的话来说——截至2010年底,近40年来亚洲学者在SOSP方面取得了巨大成就。 (操作系统原理会议,1967年成立)独立发表的研究论文数量仍然为零。 2011年,陈教授的论文被SOSP接收,实现了中国乃至亚洲的突破。

系统行业的奥斯卡奖——OSDI和SOSP

OSDI 是系统领域的两个顶级会议之一,与 SOSP 并列。 第一届 OSDI 于 1994 年在加利福尼亚州门特里举行。 OSDI一直缺乏中国学术工作者,但国内大学并没有产生强大的影响力。 截至2016年,国内高校已有3篇论文同时被OSDI录取,其中清华大学2篇,上海交通大学1篇。

SOSP成立早于OSDI,第一届召开于1967年。上海交通大学陈海波老师是国内高校第一篇SOSP论文的作者(完成该工作时,他在复旦大学)。 上海交通大学还在2015年和2017年获得SOSP论文1篇。OSDI和SOSP每届只接受20到30篇论文,平均每个方向3到4篇论文。