A layered embedded software architecture system
By using a layered embedded software architecture system and employing object-oriented principles to abstract functions, the reusability of modules and reduced coupling are achieved, thus solving the efficiency and cost issues in embedded system development and improving development efficiency and adaptability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- HUBEI SANJIANG AEROSPACE HONGFENG CONTROL
- Filing Date
- 2023-01-04
- Publication Date
- 2026-07-07
AI Technical Summary
In embedded system development, how can we improve development efficiency, shorten development cycle, reduce later maintenance costs, and adapt to changing customer needs and hardware updates with limited resources?
The system adopts a layered embedded software architecture, including an application layer, a system interface layer, a real-time kernel layer, and a hardware layer. Common functions are abstracted using object-oriented principles, and the layers interact through interfaces to achieve module reusability and reduce coupling.
It improves code reusability, reduces development workload, shortens development cycle, lowers maintenance costs, adapts to hardware updates, and enhances development efficiency.
Smart Images

Figure CN116382641B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of embedded development technology, and in particular to a layered embedded software architecture system. Background Technology
[0002] Currently, the embedded industry is developing rapidly, with embedded system technology applied in aerospace, military equipment, shipbuilding, industrial control, traffic management, information appliances, smart home management, networks, and e-commerce. The development of embedded systems can be roughly divided into four stages: ① The single-chip microcomputer (SCM) stage, where software remained without an operating system, using assembly language to implement system functions. Its characteristics included relatively simple system structure and functions, low processing efficiency, very limited storage capacity, and almost no user interface; ② The microcontroller (MUC) stage, primarily based on embedded microprocessors and centered on a simple operating system. Its characteristics included the use of embedded microprocessors in the hardware, with many types and relatively weak versatility; low system overhead and high efficiency; ③ The system-on-a-chip (SOC) stage, characterized by its ability to run on different types of microprocessors, good compatibility, small operating system kernel, and good performance; ④ Embedded systems marked by the Internet, which integrate network interfaces and enable embedded devices to be used in network environments.
[0003] Embedded system development generally has the following characteristics: the scale of the system is getting larger and larger; it is usually developed collaboratively by multiple different independent teams; customer needs are constantly changing; the development cycle of the system is getting shorter and shorter; and the requirements for cost reduction in end products are getting higher and higher.
[0004] Despite advancements in semiconductor technology that have continuously increased processor speeds and on-chip storage capacity, storage space remains precious in most applications, and real-time requirements persist. Therefore, with limited resources, rapidly improving system development efficiency, enhancing product quality, and reducing subsequent maintenance costs has become a significant challenge. Summary of the Invention
[0005] This invention provides a layered embedded software architecture system to address the shortcomings of the prior art.
[0006] This invention provides a layered embedded software architecture system, comprising:
[0007] The architecture system, from top to bottom, includes the application layer, system interface layer, real-time kernel layer, and hardware layer, wherein:
[0008] The application layer is electrically connected to the external multimedia device and calls the corresponding interface of the system interface layer according to the type of the multimedia device.
[0009] The system interface layer includes multiple types of interfaces for acquiring data from the multimedia device and transmitting it to the real-time kernel layer;
[0010] The real-time kernel layer calls the corresponding operating system based on the data input from the multimedia device, schedules the running processes and tasks of each operating system, and allocates the storage space in the connected hardware layer to each running process according to a preset.
[0011] The hardware layer includes multiple storage registers and corresponding storage register interfaces, which are connected to the real-time kernel layer.
[0012] According to the present invention, a layered embedded software architecture system is provided, wherein the application layer includes an application scheme layer, an intermediate service layer, and a general system layer;
[0013] The application solution layer is electrically connected to external multimedia devices through an intermediate service layer.
[0014] The intermediate service layer generates corresponding processing tasks based on the type of the connected multimedia device and sends them to the general system layer, and then transmits the processing tasks to the real-time kernel layer through the system interface layer.
[0015] According to a layered embedded software architecture system provided by the present invention, the intermediate service layer includes multiple service buses, through which the business logic of each multimedia device is implemented.
[0016] According to the present invention, a layered embedded software architecture system is provided, wherein the system interface layer includes a system type interface, a network interface, a GUI interface, a file system configuration interface, and a peripheral configuration interface.
[0017] According to the present invention, a layered embedded software architecture system is provided, wherein the real-time kernel layer is used to provide various system services to users and to preset a storage space allocation mode according to the type of multimedia device. When a user-initiated processing task is obtained, storage space is configured for the connected multimedia device according to the preset allocation mode.
[0018] According to the present invention, a layered embedded software architecture system is provided, wherein the hardware layer includes a device operation level abstraction layer;
[0019] The device operation level abstraction layer is used to parse sensor data and control commands received from the real-time kernel layer, and to store the parsing results in the storage unit of the hardware layer. The storage unit manages global data, records and updates data collected from various multimedia devices and external commands received from the real-time kernel layer from the hardware layer.
[0020] According to a layered embedded software architecture system provided by the present invention, based on the data collected from various multimedia devices stored in the storage unit and the external instructions received from the real-time kernel layer from the hardware layer, the system records the storage space allocation scheme of each multimedia device during operation. Using the data collected by the current multimedia device, the external instructions of the real-time kernel layer, and the storage space allocation scheme of each multimedia device during operation as a training set, the system trains a storage space allocation neural network. The trained storage space allocation neural network is then used to allocate storage space for the connected multimedia devices.
[0021] According to a layered embedded software architecture system provided by the present invention, the hardware layer further includes a device register-level abstraction layer, a hardware abstraction layer, and a hardware driver layer;
[0022] The device register-level abstraction layer includes an integrated and encapsulated general-purpose register management interface and a general-purpose register control interface. The general-purpose register management interface enables connection to a required number of registers, and the general-purpose register control interface enables connection or disconnection of each register from the real-time kernel layer.
[0023] The hardware abstraction layer includes an encoding / decoding abstraction layer, a graphics processing unit abstraction layer, and a decoding multiplexing abstraction layer, which are used to further encapsulate the communication function interfaces in the operating system to obtain a unified initialization and calling function interface, thereby calling the hardware driver in the hardware driver layer.
[0024] The hardware driver layer includes drivers corresponding to the encoding / decoding abstraction layer, the graphics processing unit abstraction layer, and the decoding multiplexing abstraction layer.
[0025] The layered embedded software architecture system provided by this invention has at least the following technical effects:
[0026] (1) This paper adopts the object-oriented approach to abstract various common functions, enhance the versatility of functional modules, and thus achieve the goal of making the developed product reusable and improving the code reusability. For example, when user requirements change and the project application solution needs to be adjusted, only the application solution layer needs to be developed, while other layers remain unchanged and can continue to be used, which greatly reduces the workload of product development; when the underlying hardware devices are upgraded, only the lowest hardware driver layer needs to be updated, and other code does not need to be changed, making hardware device upgrades very easy.
[0027] (2) The layered structure adopted in this invention can greatly reduce the coupling of the software system. Each layer interacts with other layers through interfaces without needing to concern itself with the specific implementation details of other layers. The specific implementations of each layer can be carried out in parallel, and the system integration test is completed through interface docking, thereby improving software development efficiency. Under the condition of limited resources, this invention improves the efficiency of software development, shortens the software development cycle, improves the quality of software products, and reduces later maintenance costs. Attached Figure Description
[0028] To more clearly illustrate the technical solutions in this invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0029] Figure 1 This is a schematic diagram of the embedded software architecture system provided by the present invention. Detailed Implementation
[0030] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions of this invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this invention. All other embodiments obtained by those skilled in the art based on the embodiments of this invention without creative effort are within the scope of protection of this invention.
[0031] The terms "comprising" and "having," and any variations thereof, in the specification, claims, and accompanying drawings of this application are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or modules is not limited to the steps or modules listed, but may optionally include steps or modules not listed, or may optionally include other steps or modules inherent to such process, method, product, or apparatus.
[0032] It should be noted that the terms "first" and "second" used in this invention merely distinguish similar objects and do not represent a specific ordering of objects. It is understood that "first" and "second" can be interchanged in a specific order or sequence where permissible. It should be understood that the objects distinguished by "first" and "second" can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those described or illustrated herein.
[0033] In one embodiment, such as Figure 1 As shown, the present invention provides a layered embedded software architecture system, comprising:
[0034] The architecture system, from top to bottom, includes the application layer, system interface layer, real-time kernel layer, and hardware layer, wherein:
[0035] The application layer is electrically connected to the external multimedia device and calls the corresponding interface of the system interface layer according to the type of the multimedia device.
[0036] The system interface layer includes multiple types of interfaces for acquiring data from the multimedia device and transmitting it to the real-time kernel layer;
[0037] The real-time kernel layer calls the corresponding operating system based on the data input from the multimedia device, schedules the running processes and tasks of each operating system, and allocates the storage space in the connected hardware layer to each running process according to a preset.
[0038] The hardware layer includes multiple storage registers and corresponding storage register interfaces, which are connected to the real-time kernel layer.
[0039] According to the present invention, a layered embedded software architecture system is provided, wherein the application layer includes an application scheme layer, an intermediate service layer, and a general system layer;
[0040] The application solution layer is electrically connected to external multimedia devices through an intermediate service layer.
[0041] The intermediate service layer generates a corresponding processing task based on the type of the connected multimedia device and sends it to the general system layer, and then transmits the processing task to the real-time kernel layer through the system interface layer.
[0042] Specifically, the application solution layer utilizes the services provided by the intermediate service layer to implement various functions designed in the interface logic, such as the functions of network TV, set-top boxes, media players, and gaming devices. The application solution layer only depends on the intermediate service layer; all other layers are transparent to the application solution layer.
[0043] The middle service layer includes a service bus and various general services; the service bus is responsible for the registration, scheduling, and message distribution of various services; general services include playback services, interface services, conditional access services, test services, etc., and general services focus on the implementation of various business logics, directly calling various interfaces provided by the general system layer;
[0044] According to a layered embedded software architecture system provided by the present invention, the intermediate service layer includes multiple service buses, through which the business logic of each multimedia device is implemented.
[0045] According to the present invention, a layered embedded software architecture system is provided, wherein the system interface layer includes a system type interface, a network interface, a GUI interface, a file system configuration interface, and a peripheral configuration interface.
[0046] According to the present invention, a layered embedded software architecture system is provided, wherein the real-time kernel layer is used to provide various system services to users and to preset a storage space allocation mode according to the type of multimedia device. When a user-initiated processing task is obtained, storage space is configured for the connected multimedia device according to the preset allocation mode.
[0047] The real-time kernel layer is responsible for scheduling system running processes and tasks. At the same time, it reuses application components of the software system, including the operating system, file system, and network system, under the "storage-allocation" method. The operating system can be Linux, Ecos, etc., the file system can be FAT, NTFS, etc., and the network system can be TCP / IP, etc.
[0048] According to the present invention, a layered embedded software architecture system is provided, wherein the hardware layer includes a device operation level abstraction layer;
[0049] The device operation level abstraction layer is used to parse sensor data and control commands received from the real-time kernel layer, and to store the parsing results in the storage unit of the hardware layer. The storage unit manages global data, records and updates data collected from various multimedia devices and external commands received from the real-time kernel layer from the hardware layer.
[0050] According to a layered embedded software architecture system provided by the present invention, based on the data collected from various multimedia devices stored in the storage unit and the external instructions received from the real-time kernel layer from the hardware layer, the system records the storage space allocation scheme of each multimedia device during operation. Using the data collected by the current multimedia device, the external instructions of the real-time kernel layer, and the storage space allocation scheme of each multimedia device during operation as a training set, the system trains a storage space allocation neural network. The trained storage space allocation neural network is then used to allocate storage space for the connected multimedia devices.
[0051] According to a layered embedded software architecture system provided by the present invention, the hardware layer further includes a device register-level abstraction layer, a hardware abstraction layer, and a hardware driver layer;
[0052] The device register-level abstraction layer includes an integrated and encapsulated general-purpose register management interface and a general-purpose register control interface. The general-purpose register management interface enables connection to a required number of registers, and the general-purpose register control interface enables connection or disconnection of each register from the real-time kernel layer.
[0053] The hardware abstraction layer includes an encoding / decoding abstraction layer, a graphics processing unit abstraction layer, and a decoding multiplexing abstraction layer, which are used to further encapsulate the communication function interfaces in the operating system to obtain a unified initialization and calling function interface, thereby calling the hardware driver in the hardware driver layer.
[0054] The hardware driver layer includes drivers corresponding to the encoding / decoding abstraction layer, the graphics processing unit abstraction layer, and the decoding multiplexing abstraction layer.
[0055] This invention employs object-oriented principles to abstract various common functions, enhancing the versatility of functional modules and thereby achieving reusable products, thus improving code reusability. For example, when user requirements change and project application schemes need adjustment, only the application scheme layer needs development, while other layers remain unchanged, significantly reducing the workload of product development. Similarly, when underlying hardware devices are upgraded, only the lowest-level hardware driver layer needs updating, without requiring changes to other code, making hardware device updates very easy.
[0056] The present invention also provides an electronic device, which may include: a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus. The processor can call logical instructions in the memory to implement the functions of the embedded software architecture system described above.
[0057] Furthermore, the logical instructions in the aforementioned memory can be implemented as software functional units and sold or used as independent products, and can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0058] On the other hand, the present invention also provides a computer program product, the computer program product including a computer program stored on a non-transitory computer-readable storage medium, the computer program including program instructions, and when the program instructions are executed by a computer, the computer is able to implement the functions of any of the embedded software architecture systems described above.
[0059] In another aspect, the present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the functions of the embedded software architecture system described in any of the preceding claims.
[0060] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.
[0061] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.
[0062] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A layered embedded software architecture system, characterized in that, include: The architecture system, from top to bottom, includes the application layer, system interface layer, real-time kernel layer, and hardware layer, wherein: The application layer is electrically connected to the external multimedia device and calls the corresponding interface of the system interface layer according to the type of the multimedia device. The system interface layer includes multiple types of interfaces for acquiring data from the multimedia device and transmitting it to the real-time kernel layer; The real-time kernel layer calls the corresponding operating system based on the data input from the multimedia device, schedules the running processes and tasks of each operating system, and allocates the storage space in the connected hardware layer to each running process according to a preset. The hardware layer includes multiple storage registers and corresponding storage register interfaces, which are connected to the real-time kernel layer through the storage register interfaces. The hardware layer includes a device operation level abstraction layer; the device operation level abstraction layer is used to parse sensor data and control instructions received from the real-time kernel layer, and to store the parsing results in the storage unit of the hardware layer. The storage unit manages global data, records and updates data collected from various multimedia devices and external instructions received from the real-time kernel layer from the hardware layer. Based on the data collected from various multimedia devices stored in the storage unit and the external instructions received from the real-time kernel layer from the hardware layer, the storage space allocation scheme of each multimedia device during operation is recorded. Using the data collected from the current multimedia device, the external instructions from the real-time kernel layer, and the storage space allocation scheme of each multimedia device during operation as the training set, the storage space allocation neural network is trained. The trained storage space allocation neural network is used to configure storage space for the connected multimedia devices.
2. The layered embedded software architecture system according to claim 1, characterized in that, The application layer includes an application solution layer, an intermediate service layer, and a general system layer; The application solution layer is electrically connected to external multimedia devices through an intermediate service layer. The intermediate service layer generates corresponding processing tasks based on the type of the connected multimedia device and sends them to the general system layer, and then transmits the processing tasks to the real-time kernel layer through the system interface layer.
3. A layered embedded software architecture system according to claim 2, characterized in that, The intermediate service layer includes multiple service buses, through which the business logic of each multimedia device is implemented.
4. A layered embedded software architecture system according to claim 1, characterized in that, The system interface layer includes a system type interface, a network interface, a GUI interface, a file system configuration interface, and a peripheral configuration interface.
5. A layered embedded software architecture system according to claim 1, characterized in that, The real-time kernel layer is used to provide various system services to users and to preset storage space allocation modes according to the type of multimedia device. When a user-initiated processing task is obtained, storage space is configured for the connected multimedia device according to the preset allocation mode.
6. A layered embedded software architecture system according to claim 1, characterized in that, The hardware layer also includes a device register-level abstraction layer, a hardware abstraction layer, and a hardware driver layer; The device register-level abstraction layer includes an integrated and encapsulated general-purpose register management interface and a general-purpose register control interface. The general-purpose register management interface enables connection to a required number of registers, and the general-purpose register control interface enables connection or disconnection of each register from the real-time kernel layer. The hardware abstraction layer includes an encoding / decoding abstraction layer, a graphics processing unit abstraction layer, and a decoding multiplexing abstraction layer, which are used to further encapsulate the communication function interfaces in the operating system to obtain a unified initialization and calling function interface, thereby calling the hardware driver in the hardware driver layer. The hardware driver layer includes drivers corresponding to the encoding / decoding abstraction layer, the graphics processing unit abstraction layer, and the decoding multiplexing abstraction layer.