Multicore microcontrollers and software virtualization make the impossible possible for real-time control applications.
Not long ago, building a digital control system for a real-time application was relatively simple. You started with whatever real-time operating system (RTOS) you were most enamored with, selected a microcontroller that was 1) supported by that RTOS, and 2) had price, performance, I/O features, and memory that met your application needs. Then, you wrote application software
It’s not that simpleCONTROL ENGINEERING China版权所有, anymore. In a sense, multicore microcontroller technology and software virtualization make the embedded system and motion-control design engineer’s job more complex. In many ways, howeverwww.cechina.cn, they make the job easier. Getting to the bottom of this paradox requires a basic understanding of RTOS, multicore, and virtualization. Let’s start with basic RTOS technology.
Real time operating systems live and die by handling interrupts. When an interrupt arrives, the RTOS must store data pertaining to the program it has been runningwww.cechina.cn, switch to a separate interrupt service routine to deal with the event, then pick up the stored data before resuming the former program.
On timewww.cechina.cn, every time
Wikipedia says that:
“A real-time operating system (RTOS; generally pronounced as “are-toss”) is a multitasking operating system intended for real-time applications. … An RTOS facilitates the creation of a real-time systemwww.cechina.cn, but does not guarantee the final result will be real-time; this requires correct development of the software. … An RTOS is valued more for how quickly and/or predictably it can respond to a particular event than for the given amount of work it can perform over time. Key factors in an RTOS are therefore a minimal interrupt latency and a minimal thread switching latency.”
An RTOS makes it possible to program