Real-Time Linux under the ARM system-general Linux technology-Linux programming and kernel information. The following is a detailed description. Maybe in the embedded field, there are two main reasons for not selecting Linux:
1. It is not easy to get started, it is not easy to develop, the maintenance cost is high, and the workload is large ....
2. Poor real-time performance
The first point is not mentioned here. Now, many people are discussing the Real-Time Linux. The project engineer may choose RTLinux, RTAI, or other real-time Linux.
Here is a general idea. Linux's real-time performance is poor mainly because of two problems:
1. scheduling algorithm-This preemption added to the 2.6 kernel is better.
2. the interrupt response speed is too slow-mainly because, in some cases, the disconnection time is too long.
RTAI (or RTLinux) uses the software to take over interrupt control. Real-time interruption can be responded in a timely manner. In addition to the Linux kernel, a layer of real-time scheduling kernel is added. Linux Kernel is the task with the lowest priority on this real-time system. Therefore, real-time tasks and interruptions are guaranteed. However, in a non-x86 system, RTAI has many problems to solve. According to my transplant experience on ARM, I have encountered a lot of troubles. Moreover, the complexity of the interrupt program entry brings more uncertainty to the interrupt response itself.
My idea is similar to the principle of RTLinux, but I use the features of the ARM processor itself. ARM (I have only seen the ARMv4 ARMv5 ARMv6 System) processing system itself provides two peripheral interrupt endpoints, FIQ and IRQ. In normal operating systems, Linux, winCE, and Vxworks only use an IRQ interrupt. FIQ is basically useless in the ARM porting systems of these systems. FIQ is an interrupt with a higher priority than IRQ. It can seize IRQ and even other ARM exceptions (For details, refer to the ARM system ). This provides a real-time interrupt entry for us on the hardware. Using this idea, I realized this idea on the Pxa270 processor and Linux 2.6.9 kernel. In addition, the use of uC/OS-II real-time scheduling kernel to schedule Linux, to solve the problem of real-time Linux. My final test results prove that, in the ARM system, the interruption delay and certainty brought by this method will be much higher than RTAI. In addition, I also discussed the impact of the Cache-Locking Technology on real-time performance.
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.