当前位置:网站首页>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/
边栏推荐
- [leetcode ladder] linked list · 206 reverse linked list
- Sql156 average completion rate of each video
- Go language multiple return values and return error types
- Brief analysis of compiling principle of.Net CLR R2R
- Interviewer: if the order is not paid within 30 minutes after it is generated, it will be automatically cancelled. How to realize it?
- STM32F4查看系统各部分频率
- Navicat15 download and installation
- Wechat applet implements a global event bus by itself
- What is the difference between go run, go build and go install
- 1000 okaleido tiger launched binance NFT, triggering a rush to buy
猜你喜欢

Diabetes genetic risk testing challenge advanced

Niuke C basic exercises

Getting started database days3

USB转CAN设备在核酸提取仪 高性能USB接口CAN卡

YOLOv4: Optimal Speed and Accuracy of Object Detection

Leetcode: palindrome number

Build your own target detection environment, model configuration, data configuration mmdetection
![[laser principle and Application-8]: EMC design of laser circuit](/img/98/8b7a4fc3f9ef9b7e16c63a8c225b02.png)
[laser principle and Application-8]: EMC design of laser circuit

TAP 系列文章6 | TAP的应用模型

After reading this article, thoroughly understand grpc!
随机推荐
Tap series article 8 | tap Learning Center - learn through hands-on tutorials
strncat() strncmp()
unity visual studio2019升级到2022版本(扔掉盗版红渣)
strncat() strncmp()
Internet协议栈 TCP/IP模型 物理层、链路层、网络层、传输层、应用层的作用
1000个Okaleido Tiger首发上线Binance NFT,引发抢购热潮
Leetcode: palindrome number
AutoCAD advanced operation
YOLOv4: Optimal Speed and Accuracy of Object Detection
Strncat () strncmp ()
Can Intel NUC replace the host_ It's finally perfect! The latest Intel NUC Mini host comes online
None和nan、NaN、NAN
FreeRTOS personal notes - delay function
Quickly learn to use file permissions
BGP basic experiment
1000 okaleido tiger launched binance NFT, triggering a rush to buy
Raspberry pie SSH login
疑似未系安全带 林志颖伤势相对稳定
Introduction to mysqlbinlog command (remote pull binlog)
anchor free yolov1