Embedded Development System Software

1. About embedded automotive software

嵌入式软件It is the operating system and development tool software embedded in the hardware. Its relationship in the industry is reflected in:
chip design and manufacturing→embedded system software→embedded electronic device development and manufacturing

The most basic understanding of embedded software is the combination of software + hardware to define products, while non-embedded software or pure Internet industries simply define software, which has poor compatibility and poor software portability.
Embedded applications are widely used in traditional industries. Even though the Internet industry is so developed now, it has to be admitted that traditional industries have an irreplaceable position in social development. The embedded development and application of the combination of traditional industries and the Internet has bright prospects.

嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序4个部分组成, used to implement functions such as controlling, monitoring or managing other devices. Embedded software is software based on embedded system design. It is also a kind of computer software. It is also composed of programs and documents, and is an important part of embedded systems.

Embedded hardware and software are no longer two completely separate concepts, but are closely integrated and affect each other. Therefore, a software-hardware collaborative (codesign) design method has emerged , that is, to use a unified method and tool for software and hardware, and to design the software-hardware architecture in order to maximize the capabilities of the system's software and hardware, and avoid the problems caused by independent design of the software and hardware architecture. Various drawbacks from the past, to obtain an optimized design solution with high performance and low cost

Embedded software features:

Unique practicability
Embedded software requires it to be closely connected with external hardware and equipment. Embedded systems are application-centric. Embedded software is an application system that is developed according to application requirements. It is industry-oriented and requires specific industry experience. Each embedded software has its own unique application environment and practical value

Flexible applicability
Embedded software can generally be considered as a modular software, which should be very convenient and flexible to be used in various embedded systems without destroying or changing the original system features and functions. Embedded software should be used flexibly, the configuration should be optimized as much as possible, the overall inheritance of the system should be reduced, and the upgrade and replacement should be flexible and convenient

Program code simplification
Since the application of the embedded system itself requires small size, small storage space, low cost, and low power consumption, compared with the software on the mainframe, the embedded software has the characteristics of code simplification and high execution efficiency.

Reliability and high stability
Embedded system application requirements are generally more stringent, especially in safety-related fields, such as automotive electronics (the relevant content of automotive software embedded will be explained in detail below), as well as industrial control, aerospace, etc. Embedded systems in these fields not only require reliable hardware, but also put forward higher requirements for embedded software. Embedded software needs to run reliably and stably, with functions such as error handling and fault recovery


Classification:

According to the usual classification method,嵌入式软件可以分为系统软件、应用软件和支撑软件三大类

System software
恒润主要涉及的研发内容 : system software controls and manages embedded system resources, and provides support for embedded applications, such 设备驱动程序、嵌入式操作系统、嵌入式中间件as

Application software
Application software is the upper layer software in the embedded system, which defines the main functions and purposes of the embedded device, and is responsible for interacting with the user. Application software is the embodiment of embedded system functions, such as flight control software, mobile phone software, MP3 player software, electronic map software, etc., generally for specific application fields

Supporting software
Supporting software refers to tool software that assists software development, such as online simulation tools, cross-compiler source program simulators, and configuration management tools.
In embedded systems, system software and application software run on the target platform (that is, embedded device), and for various software development tools, most of them run on the development platform (PC), running Windows or Linux operating system

Automotive Embedded Software Direction
The embedded software part is divided into 软件架构、软件刷写、底层软件、应用层软件和故障诊断several parts.

Software architecture:
(1) Boot-loader;
(2) Software platform layer;
(3) Strategy application layer.

Boot-loader is developed as a separate project, generating a standalone binary file.

reference


2. Basics of ECU R&D

What is ECU? Reference material 1.
ECU hardware basic reference material 2.
ECU software architecture reference material 3.
ECU bottom layer software introduction reference material 4.
ECU application layer software introduction reference material 5.
ECU software development process reference material 6.
ECU software management tool reference material 7


3. About Embedded Middleware

3.1 What is embedded middleware

Middleware is a very vague term. What is "middleware" in one case may not be "middleware" in another. In general, you can expect something classified as middleware to have the following characteristics:

Primarily (and often only) software; usually doesn't require any dedicated hardware.
If it doesn't exist, applications that depend on it will have to make it part of their application, and there will be a lot of duplication.
  We are almost certain that 中间件需要连接两个应用程序并在它们之间传递数据.

You'll notice that this is pretty much the same as the definition of an operating system. So, for example, a TCP/IP stack or a cache can be considered middleware. But your operating system can also provide the same functionality. In fact, middleware can be thought of as a special extension of the operating system , specific to the set of applications that depend on it. It just provides a higher level of service.

3.2 Embedded middleware application scenarios

I know of (at least) three different definitions of

In business computing,中间件是应用程序和服务之间的消息传递和集成软件

in the game,中间件是非常好的第三方提供的任何东西

In (some) embedded software systems,中间件提供应用程序使用的服务,这些服务由硬件抽象层提供的功能组成 - 它位于应用程序层和硬件抽象层之间。

Simply put, middleware is a software component that provides services to integrate disparate systems together.

In a complex enterprise environment, there are many challenges when you need to integrate two or more enterprise systems to communicate with each other. Often, these systems do not understand each other's languages ​​because they are developed on different platforms using different languages ​​(such as C++, Java, Cobol, etc.).

3.3 The role of embedded middleware

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

Middleware is above the operating system, network and database, and the lower layer of application software. Its overall function is to provide an operating and development environment for application software on its own upper layer, and help users develop and integrate complex application software flexibly and efficiently.
  Middleware is an independent system software or service program. Distributed application software uses this software to share resources between different technologies. Middleware is located on the operating system of the client server and manages computing resources and network communications.

Guess you like

Origin blog.csdn.net/weixin_48433164/article/details/126946007