当前位置:网站首页>Open source embedded sig in the openeuler community. Let's talk about its multi OS hybrid deployment framework
Open source embedded sig in the openeuler community. Let's talk about its multi OS hybrid deployment framework
2022-07-23 23:23:00 【51CTO】
background : Hybrid critical systems
In an embedded scenario , although Linux It has been widely used , But it doesn't cover all the requirements , For example, high real time 、 Highly reliable 、 High security occasions . These occasions are often used by real-time operating systems . Some application scenarios require Linux Management ability 、 Rich ecology needs high real-time of real-time operating system 、 Highly reliable 、 High security , Then a typical design is to run on a high-performance processor Linux Responsible for rich functions , A microcontroller / DSP / The real-time processor runs the real-time operating system and is responsible for real-time control or signal processing , Between the two I/O、 Network or off chip bus . The problem with this approach is , Two systems are required for hardware 、 The degree of integration is not high , Communication constraints and off chip physical mechanisms such as speed 、 Delay, etc , Software Linux And real-time operating system , In terms of flexibility 、 There is room for improvement in maintainability .
Benefit from the rapid development of hardware technology , The hardware capability of embedded system is becoming more and more powerful , For example, the single core capability has been continuously improved 、 Single core to multi-core 、 The evolution of heterogeneous multicore and even multicore , Virtualization technology and trusted execution environment (TEE) Development and application of technology , In the future, advanced packaging technology will bring a higher degree of integration , So that in a system on chip (SoC) Deploy multiple OS Have a solid physical foundation .
meanwhile , Driven by application requirements , Such as the Internet of things 、 Intelligent 、 Functional security and information security, etc , The whole embedded software system is becoming more and more complex , All by a single OS The challenge of carrying all the functions is getting bigger and bigger . One solution is that different systems are responsible for the functions they are good at , Such as Windows Of UI、Linux Network communication and management 、 High real-time and high reliability of real-time operating system , And easy to develop 、 Deploy 、 Expand , The implementation can take the form of a container 、 Virtualization, etc .
In the face of the above hardware and application changes , Combined with its own original characteristics , One of the directions of embedded system evolution in the future is 「 Hybrid critical systems (MCS,Mixed Criticality System)」 , This can be seen from a typical embedded system —— A glimpse of the recent development trend of automotive electronics .
「 chart 1」openEuler Embedded General architecture of hybrid critical systems in

from openEuler Embedded The angle of , The general architecture of the hybrid critical system is shown in Figure 1 Shown , The hardware is a system on chip with homogeneous or heterogeneous multi-core , From the perspective of application, multiple... Will be deployed at the same time OS / Runtime , for example Linux Responsible for system management and service 、1 A real-time operating system is responsible for real-time control 、1 A real-time operating system is responsible for system reliability 、1 A bare metal runtime runs a dedicated algorithm , The functions of the whole system are determined by each OS / Runtime collaboration . In the middle of the 「 Hybrid deployment framework 」 and 「 Embedded virtualization 」 Is a specific support technology . Key (Criticality) In a narrow sense, it mainly refers to the functional safety level , Refer to the universal functional safety standard IEC-61508,Linux You can achieve SIL1 or SIL2 Level , The real-time operating system can reach the highest level SIL3; In broad sense , Criticality can be extended to real-time levels 、 Power consumption level 、 Information security level and other objectives .
In such a system , The following problems need to be solved :
- 「 Efficiently mix deployment issues 」: How to efficiently achieve multiple OS Collaborative development 、 Integrated build 、 Independent deployment 、 Independent upgrade .
- 「 Efficient communication and collaboration issues 」: The overall function of the system is completed by each domain , Therefore, how to achieve high efficiency between different domains 、 Scalable 、 real time 、 Secure communication .
- 「 Effectively isolate and protect problems 」: How to effectively implement strong isolation and protection between multiple domains , So that they do not affect each other when the fault is found , And smaller trusted bases (Trust ComputeBase).
- 「 Efficient resource sharing and scheduling 」: How to satisfy different objective constraints ( real time 、 Functional safety 、 performance 、 Power waste ), Manage scheduling resources efficiently , So as to improve the utilization of hardware resources .
For the above questions ,openEuler Embedded Our current thinking is 「 Hybrid critical systems = Deploy + Isolation + Dispatch 」 , That is to say, we should first realize multiple OS A hybrid deployment of , More OS Isolation and protection between , Finally, the resource utilization is improved by hybrid critical scheduling , It can be mapped to 「 Hybrid deployment framework 」 and 「 Embedded virtualization 」 . The hybrid deployment framework solves 「 Efficiently mix deployment issues 」 and 「 Efficient communication and collaboration issues 」 , Embedded virtualization solutions 「 Effectively isolate and protect problems 」 and 「 Efficient resource sharing and scheduling 」 .
many OS Hybrid deployment framework
openEuler Embedded Zhongduo OS The architecture of the hybrid deployment framework is shown below , Introduced Open source framework OpenAMP [1] As the foundation , And further innovate in combination with their own needs .
「 chart 2」 many OS Infrastructure of hybrid deployment framework

In the above Architecture ,libmetal It provides a unified abstraction by shielding the details of different system implementations ,virtio queue Equivalent to... In the network protocol MAC Layer provides an efficient underlying communication mechanism ,rpmsg It is equivalent to that the transport layer in the network protocol provides endpoint based services (endpoint) And the passage (channel) Abstract communication mechanism ,remoteproc Provide lifecycle management functions including initialization 、 start-up 、 Pause 、 End, etc .
stay openEuler Embedded 22.03 in , Integrated OpenAMP Related support , And with openEuler Of SIG Zephyr [2] Cooperation has achieved openEuler Embedded With real-time operating systems Zephyr [3] stay QEMU Hybrid deployment on the platform , For details, please refer to
many OS Mixed deployment Demo [4]
On this basis ,openEuler Embedded The hybrid deployment framework will continue to evolve , Including docking with more real-time operating systems , Such as domestic open source real-time operating system RT-Thread [5], The implementation is as shown in the figure 3 Many are shown OS Service deployment and timely introduction of embedded elastic base based on virtualization technology .
「 chart 3」 many OS Service deployment architecture

In the above many OS Service deployment architecture ,openEuler Embedded It's the center. , Mainly for others OS Provide management 、 The Internet 、 File system and other general services , other OS Can focus on what they are good at , And pass shell、log and debug Isochannel and Linux Rich and powerful docking of large dimension measuring bodies to simplify the development work .
—
Embedded Already in openEuler Community Open source . A series of topics will be shared , If you are right about Embedded The construction of , Application is interested in , Welcome to watch and join .
Project address : https://gitee.com/openeuler/yocto-meta-openeuler
If you are interested in embedded applications , Welcome to your attention openEuler Embedded&Yocto SIG , Discuss Embedded and Yocto And other related technologies .
quote
[1] https://www.openampproject.org/
[2] https://gitee.com/openeuler/community/tree/master/sig/sig-Zephyr
[3] https://www.zephyrproject.org/
[4] https://gitee.com/openeuler/yocto-embedded-tools/tree/openEuler-22.03-LTS/mcs
[5] https://www.rt-thread.org/
边栏推荐
- Stm32f4 check the frequency of each part of the system
- Preparation for raspberry pie 3B serial port login
- Chinese NFT? NFR was born
- Learning MySQL is enough
- ES6 other syntax and extended syntax summary
- The I2C interface mode offline burning operation method of h7-tool has been released (2022-07-16)
- H7-tool serial port offline burning operation instructions, support TTL serial port, RS232 and RS485 (2022-06-30)
- 1000 okaleido tiger launched binance NFT, triggering a rush to buy
- Getting started database days2
- TAP 系列文章6 | TAP的应用模型
猜你喜欢

在openEuler社区开源的Embedded SIG,来聊聊它的多 OS 混合部署框架

Flask框架中如何进行数据库的迁移

Tap series article 9 | application development accelerator

TAP 系列文章9 | 应用开发加速器

BGP基础实验
![[tensorflow] check whether tensorflow GPU is available](/img/27/e2b21b0a0cecdff27ddd2af6e34949.png)
[tensorflow] check whether tensorflow GPU is available

Raspberry pie SSH login

Baidu editor uploads pictures and sets custom directories

D1-h development board - Introduction to Nezha development

The role of physical layer, link layer, network layer, transport layer and application layer of tcp/ip model of internet protocol stack
随机推荐
None和nan、NaN、NAN
史上最全的2022年版Android面试题
[unity3d daily bug] unity3d solves "the type or namespace name" XXX "cannot be found (are you missing the using directive or assembly reference?)" Etc
Learning MySQL is enough
Flask框架中如何进行数据库的迁移
H7-tool serial port offline burning operation instructions, support TTL serial port, RS232 and RS485 (2022-06-30)
ArraysList 与顺序表 ——模拟实现
Navicat15 download and installation
在openEuler社区开源的Embedded SIG,来聊聊它的多 OS 混合部署框架
STM32F4查看系统各部分频率
[leetcode ladder] linked list · 203 remove linked list elements
TAP 系列文章5 | 云原生构建服务
unity visual studio2019升级到2022版本(扔掉盗版红渣)
Use of pairwise
Getting started database days3
The basic syntax of go language (variables, constants, basic data types, for, switch, case, array, slice, make, new, map)
strncat() strncmp()
Interface test
Niuke C basic exercises
Chinese NFT? NFR was born