A few days ago and a small chat at a research institute, he said: now in aviation, aerospace, and missile weapons and equipment, the control system is almost all using single-chip microcomputers, rather than the embedded system.
At first, listen, our intuition has a contradiction ah: with such tall equipment, the control logic must be very complex, how to complete such a complex function control without an embedded system? Then carefully understand the answer is: safe + controllable.
In this article, we will talk about the SCM and embedded, operating systems,s and RTOS between those things! This article, let you have a systematic, comprehensive understanding of real-time operating system!
Two, about the microcontroller and embedded system between the definition
To be honest, no one has a standard, correct answer to the distinction between the two. Everyone understands the MCU and embedded system, are slightly different.
Hardware aside, from an application development perspective, I understand it this way:
Single-chip microcomputer: can directly use the state machine to realize the program framework, can also use some RTOS(ucOS, FreeRTOS, VxWorks, RT-Thread) to complete some scheduling functions.
Embedded systems: Write applications using the embedded Linux operating system and some variants.
I know that my understanding may be wrong, at least not rigorous, narrow scope since there is no standard answer, let’s refer to the definition in Wikipedia, after all, concepts are dead, what is more, important is how we choose according to the actual needs.
1. The microcomputer, the full name of the single-chip microcomputer, is also known as the microcontroller unit MCU(microcontroller unit). A microcomputer that integrates the central processing unit, memory, timing/counter, various input/output interfaces, etc., into a single integrated circuit chip. Because of its very rapid development, the old single-chip microcomputer definition can not meet, so in many applications is called a wider range of microcontrollers;
2. Embedded System An embedded system is a computer system embedded in a mechanical or electrical system with specific functions and real-time computing performance. Embedded systems are often used to efficiently control many common devices. The embedded systems are usually complete devices that contain digital hardware and mechanical components, such as anti-lock brakes in automobiles. Modern embedded systems are often based on microcontrollers (such as central processing units with integrated memory and/or peripheral interfaces), but common microprocessors (using external memory chips and peripheral interface circuits) are also common in more complex systems.
3. Embedded Linux(English: Embedded Linux) is the general name of a class of embedded operating systems, which are based on the Linux kernel and designed to be used in embedded devices. It is essentially the same as the Linux system running on the computer, although it has undergone some functional tailoring, it is essentially the same, mainly using task scheduling, memory management, hardware abstraction, and other functions in the Linux kernel.
4. RTOS Real-time Operating System (RTOS), also known as a real-time operating system, runs in order, manages system resources, and provides a consistent basis for developing applications. Compared with general operating systems, the biggest feature of real-time operating systems is “real-time”. If a task needs to be executed, the real-time operating system will execute the task immediately (in a short period of time) without a long delay. This feature ensures the timely execution of individual tasks.
3. Non-real-time, soft real-time, hard real-time
The first thing to understand is what is real-time. Real-time does not consider speed, performance, or throughput, but certainty. That is to say, when an event occurs, it can be guaranteed to be processed in a certain period of time. As long as this requirement can be met, it can become hard in real-time. For example:
Operating system 1: When an interrupt occurs, it can be guaranteed to get here in 1 second, then it is a hard real-time system, although the response time is long, it is certain;
OS 2: When interrupts occur, they can almost always be done in less than 1 millisecond, so it is not a hard system, although the response time is short, it is uncertain.
I’ve also seen articles saying that soft real-time should be removed as an ambiguous term, either real-time or non-real-time!
The operating system contains many functions: task scheduling, memory management, file management and so on, among which the most core is task scheduling, which is also the biggest difference between non-real-time, soft real-time, hard real-time.
In other words, the indicators to measure real-time performance are:
1. Interrupt delay: the time elapsed between the occurrence of an interrupt caused by an external event and the execution of the first instruction of the corresponding interrupt handler;
2. Task preemption delay: the time elapsed when a high-priority task is ready to steal CPU resources from a low-priority task that is being executed.
Different operating systems have different task scheduling mechanisms, and the scheduling policies are related to the actual usage scenarios. Therefore, there is no such thing as good or bad, the right is the best!
For example, in our desktop system, we need to consider multitasking and concurrency, which requires the execution of multiple programs at the same time. The user does not care which program is slower, or even does not notice it. But for a missile control system, when an external sensor inputs a signal to trigger an event, the corresponding processing must be performed immediately, or a millisecond delay could mean a huge difference!
Why spacecraft, missiles like to use single chip, rather than embedded system?
STONE HMI ESP32 Line Count and Alarm
What is the difference between embedded hardware and software in embedded development?
Learn embedded design, do you understand these basic knowledge?
Do you understand the basic knowledge of embedded design?
Touch Screen for Automated Feeding System
Use The STONE LCD Module Create Refrigerator Controls
OV7670 Camera Module Connection with STONE Display Module
STONE TFT LCD Module + STM32 + Ultrasonic Dstance Measurement
How To Make A Smart Home With STM32 LCD +STONE LCD Screen Module
TFT LCD screen Limit operating temperature