嵌入式开发系统软件

文章目录

  • 一、关于嵌入式汽车软件
  • 二、ECU研发基础
  • 三、关于嵌入式中间件
    • 3.1 什么是嵌入式中间件
    • 3.2 嵌入式中间件应用场景
    • 3.3 嵌入式中间件的作用

一、关于嵌入式汽车软件

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

嵌入式软件最基本的理解是软件+硬件结合,来对产品做出定义,而非嵌入式软件又或是纯互联网行业则是单纯的对软件做出定义,其兼容性差,软件移植性差。
传统行业上对嵌入式的应用较为广阔,即便现在互联网行业如此发达,但是不得不承认,传统行业在社会发展中有不可替代的地位。传统行业与互联网的结和的嵌入式开发应用更是具有光明前景的。

嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序4个部分组成,用于实现对其他设备的控制、监视或管理等功能。嵌入式软件就是基于嵌入式系统设计的软件,它也是计算机软件的一种,同样由程序及其文档组成,是嵌入式系统的重要组成部分

嵌入式中硬件和软件也不再是截然分开的两个概念,而是紧密结合、相互影响的。因而出现了软硬件协同(codesign)设计方法,即使用统一的方法和工具对软硬件,协同设计软硬件体系结构,以最大限度地挖掘系统软硬件能力,避免由于独立设计软硬件体系结构而带来的种种弊病,得到高性能低代价的优化设计方案

嵌入式软件的特点:

独特的实用性
嵌入式软件要求它与外部硬件和设备联系紧密,嵌入式系统以应用为中心,嵌入式软件是应用系统,根据应用需求定向开发,面向产业、需要特定的行业经验。每种嵌入式软件都有自己独特的应用环境和实用价值

灵活的适用性
嵌入式软件通常可以认为是一种模块化软件,它应该能非常方便灵活地运用到各种嵌入式系统中,而不能破坏或更改原有的系统特性和功能。嵌入式软件要使用灵活,应尽量优化配置,减小对系统的整体继承性,升级更换灵活方便

程序代码精简
由于嵌入式系统本身的应用有小体积、小存储空间、低成本、低功耗等要求,嵌入式软件和大型机上的软件相比,具有代码精简、执行效率高等特点

可靠性、稳定性高
嵌入式系统应用要求一般较为苛刻,特别是在涉及安全相关的领域,如汽车电子(下面会具体说明汽车软件嵌入式的相关内容)、还有工业控制、航空航天等,这些领域的嵌入式系统不仅要求硬件可靠,还对嵌入式软件提出了更高的要求。嵌入式软件需要运行可靠、稳定,具有错误处理及故障恢复等功能


分类:

按照通常的分类方法,嵌入式软件可以分为系统软件、应用软件和支撑软件三大类

系统软件
恒润主要涉及的研发内容:系统软件控制和管理嵌入式系统资源,为嵌入式应用提供支持的各种软件,如设备驱动程序、嵌入式操作系统、嵌入式中间件

应用软件
应用软件是嵌入式系统中的上层软件,它定义了嵌入式设备的主要功能和用途,并负责与用户进行交互。应用软件是嵌入式系统功能的体现,如飞行控制软件、手机软件、MP3播放软件、电子地图软件等,一般面向特定的应用领域

支撑软件
支撑软件是指辅助软件开发的工具软件,如在线仿真工具、交叉编译器源程序模拟器和配置管理工具等
在嵌入式系统当中,系统软件和应用软件运行在目标平台上(即嵌入式设备上),而对于各种软件开发工具来说,它们大部分都运行在开发平台(PC机)上,运行Windows或 Linux操作系统

汽车嵌入式软件方向
嵌入式软件部分分为软件架构、软件刷写、底层软件、应用层软件和故障诊断等几个部分。

软件架构:
(1)Boot-loader;
(2)软件平台层;
(3)策略应用层。

Boot-loader作为一个单独的工程开发,生成一个独立的二进制文件。

参考


二、ECU研发基础

ECU是什么 参考资料一
ECU硬件基础 参考资料二
ECU软件架构 参考资料三
ECU底层软件简介 参考资料四
ECU应用层软件简介 参考资料五
ECU软件开发流程 参考资料六
ECU软件管理工具 参考资料七


三、关于嵌入式中间件

3.1 什么是嵌入式中间件

中间件是一个非常模糊的术语。在一种情况下是"中间件",在另一种情况下可能就不再是"中间件"。通常,您可以期望归类为中间件的东西具有以下特征:

主要是(通常是唯一的)软件;通常不需要任何专用硬件。
如果它不存在,依赖于它的应用程序将不得不将其作为其应用程序的一部分,并且会遇到很多重复。
  我们几乎可以肯定,中间件需要连接两个应用程序并在它们之间传递数据

您会注意到,这与操作系统的定义几乎相同。因此,例如,TCP / IP堆栈或缓存可以被视为中间件。但是您的操作系统也可以提供相同的功能。实际上,中间件可以被认为是操作系统的特殊扩展,特定于依赖于它的一组应用程序。它只是提供更高级别的服务。

3.2 嵌入式中间件应用场景

我知道(至少)有三种不同的定义

在商业计算中,中间件是应用程序和服务之间的消息传递和集成软件

在游戏中,中间件是非常好的第三方提供的任何东西

在(一些)嵌入式软件系统中,中间件提供应用程序使用的服务,这些服务由硬件抽象层提供的功能组成 - 它位于应用程序层和硬件抽象层之间。

简单地说,中间件是一个软件组件,它提供服务以将不同的系统集成在一起。

在复杂的企业环境中,当您需要将两个或多个企业系统集成在一起以相互通信时,存在许多挑战。通常,这些系统不能理解彼此的语言,因为它们是在使用不同语言(如C++,Java,Cobol等)的不同平台上开发的。

3.3 嵌入式中间件的作用

而在软件领域,中间件的主要职能和作用是:它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。

中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。
  中间件独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。

你可能感兴趣的:(架构,嵌入式Linux,Linux高性能服务器,嵌入式硬件,linux,中间件,架构)