1. introduction Since the 1980s, a variety of commercial embedded operating systems have emerged. Most of these operating systems have been developed for dedicated or general-purpose systems such as VxWorks, Windows CE, pSOS, Palm OS, OS-9. , LynxOS, QNX, LYNX, etc., their advantages are to provide users with a good development environment, improve the development efficiency of the application system, high efficiency, good real-time, the disadvantage is expensive and source code closed. This not only affects the enthusiasm of the developers, but also causes the cost of the entire product to rise sharply. [1] Combined with the domestic situation, the embedded system needs a real-time operating system with high level of conciseness, friendly interface, reliable quality, wide application, easy development, multi-tasking and low price. In the development of embedded products, it is necessary to find a cheap embedded real-time operating system to reduce product development costs and system complexity. Due to the many advantages of Linux, it is a practical and worthwhile question to use Linux as a cheap embedded real-time operating system. 2. Linux features Linux is an innate network operating system that is mature and stable. Linux is open source software, there is no black box technology, anyone can modify it, or use it to develop their own products. The Linux system is customizable, and the system kernel can now be made very small. A core program with a Chinese system and a graphical interface can also be less than 1MB and is equally stable. As a software platform system that can be cut down, Linux is an excellent resource for developing embedded products. Many Linux enthusiasts all over the world can give Linux developers strong technical support. Therefore, Linux is very promising as an option for inexpensive embedded real-time operating systems. [2][3] (1) Close integration with hardware chips A major feature of embedded Linux is its close integration with hardware chips (such as SOC). It is not a pure software Linux system, but is closer to hardware than a normal operating system. The further development of embedded Linux gradually has all the features of embedded RTOS: real-time and close integration with embedded processors. (2) Open source code Another big feature of embedded Linux is the openness of the code. The openness of the code is compatible with the diversity of smart devices in the post-PC era. The openness of the code is mainly reflected in the source code. Linux code development is like a "market-style" development, arbitrarily selecting and integrating new products according to your own wishes. For embedded Linux, the BIOS layer is actually implemented in the driver layer of Linux. At present, in the field of Linux, the BIOS code of free software customized for the Linux operating system has appeared, and such BIOS layer functions are implemented on various motherboards. 3. RT-Linux implementation mechanism RT-Linux transforms the Linux kernel and makes some changes to the Linux kernel working environment, as shown in Figure 1: As you can see from the above figure, in the Linux kernel and hardware interrupts, a control of the RT-Linux kernel is added. The Linux control signals must be handed over to the RT-Linux kernel for processing. A virtual interrupt mechanism is implemented in the RT-Linux kernel. Linux itself can never mask interrupts. The interrupt mask signal and the open interrupt signal sent by it are modified to send a signal to RT-Linux. For example, using "sTI" and "cli" macros in Linux to mask and enable interrupts is by sending an instruction to the x86 processor, and RT-Linux modifies these macros so that it only makes RT-Linux Some of the tags have been modified. For all interrupts, it is divided into Linux interrupt and real-time interrupt. If the interrupt signal received by the RT-Linux kernel is a normal Linux interrupt, set a flag bit; if it is a real-time interrupt, continue to send an interrupt to the hardware. After the sTI is executed in RT Linux and the interrupt is turned on, the Linux interrupts with the flag set are executed. Therefore, cli does not prohibit the operation of the RT Linux kernel, but it can be used to interrupt Linux. Linux can't interrupt itself, and RT-Linux can. The design principle of RT-Linux: work in the real-time kernel module as little as possible. If it can be done in Linux without affecting real-time performance, try to complete it in Linux. Therefore, the RTLinux kernel tries to be as simple as possible. In the RT-Linux kernel, you should not wait for resources or use the shared spin lock (SpinLock). The communication between the real-time task and the Linux process is also non-blocking, and you never have to wait for the queue. And out of queue data. RT-Linux hands over the initialization of the system and devices to Linux, and the application and allocation of dynamic resources is also given to Linux. RT-Linux uses statically allocated memory to perform hard real-time tasks, because blocked threads cannot have hard real-time capabilities when there are no memory resources. 4. Change the architecture of the Linux kernel The Linux kernel system uses Monolithic, in which all parts of the kernel are grouped together and all components are compiled together. In this way, although the various parts of the system can be directly communicated, the switching time between tasks is effectively shortened, the response speed of the system is improved, the real-time performance is improved, and the utilization rate of the CPU is improved, but the volume is also large when the system is relatively large. It does not match the characteristics of embedded system with small capacity and limited resources. Another kernel architecture, MicroKernel, includes only some basic kernel functions such as create and delete tasks, task scheduling, memory management, and interrupt handling. The file system and network protocol stack are all in the user. The memory space is running. Although this kind of structure is not as efficient as the Monolithic kernel, it greatly reduces the size of the kernel, and it also greatly facilitates the upgrade, maintenance and porting of the entire system, so it can better meet the characteristics of the embedded system. To this end, in order to make the application of embedded Linux more extensive, you can consider transforming part of the structure of Linux's current Monolithic kernel structure into MicroKernel architecture. Through this compromise, Linux can be made to have both good real-time performance and small embedded system requirements. Silicon TVS / TSS:
Diode TVS (Transient Voltage Suppressor), also known as Transient suppression diodes, is widely used a new type of high efficient circuit protection device, it has a fast response time (the nanosecond) and high surge absorbing ability.When it ends of stand moments of high energy shock, TVS can bring the two ends at high rate from high impedance to a low impedance between impedance values, to absorb a large current moment, put it at both ends of the voltage restraint on a predetermined value, thus protecting the back of the circuit components are not affected by the impact of the transient high pressure spikes.
Silicon TVS Transient Voltage Suppresso,Silicon TSS Transient Voltage Suppresso YANGZHOU POSITIONING TECH CO., LTD. , https://www.pst-thyristor.com