There are many operating systems in the embedded field, which can be roughly divided into three categories: the first category, represented by Wince, Linux, and Android, is a large-scale operating system with a series of complete functions such as kernel task scheduling, menu interface, multimedia, network, file storage, and peripheral drivers. However, this type of operating system is a non-real-time operating system and is often used in office, entertainment, human-computer interface and other occasions where time requirements are not high. In addition, because the functions are too complete, the hardware requirements are very high. The minimum configuration CPU needs ARM9 200MHz, the memory needs to be 32MByte, support MMU memory management unit, and standard color screen.
The second category, taking VxWorks as an example, is a feature-rich embedded real-time operating system that is often used in high-real-time, high-reliability military, aerospace, and industrial automation fields, and has relatively high hardware requirements.
The third category takes uC/OS-II and FreeRTOS as examples. They only have a task kernel of a preemptive multitasking real-time operating system. In addition, they provide some kernel management function interfaces and necessary extension functions. Other function libraries such as menu interface and network need to be expanded by themselves. This type of operating system is mainly used in small and medium-end projects with high cost requirements and diverse needs, but they are generally not very complicated. There are real-time requirements, but they are not harsh. They are often consumer or general industrial automation equipment, such as white appliance control systems, small monitoring, sensor test platforms, instruments and meters, and small industrial automation fields to replace PLCs and reduce costs.
Low- to mid-range small projects are generally developed based on MCU51, ARM7 or the current CortexM3, M0. For simple projects, the most commonly used software is the foreground and background systems, also known as naked running. Emergency response uses interrupts, and low-speed processing is executed in the main loop. Slightly more complex ones introduce system beats based on the foreground and background systems to execute some routine events. This is also called time slice programming. A further step is to introduce a message mechanism to implement message mechanism programming. For more complex ones, RTOS such as uC/OS-II are introduced to implement multi-task programming and simplify programming difficulty. However, because RTOS is introduced, it is necessary to fully understand the characteristics of RTOS, so the level of programmers is required to be relatively high.
The harsh costs and diverse requirements have resulted in the lack of a relatively complete operating system to unify development and programming in this area. Even RTOS kernels such as uC/OS-II need to be configured and tailored according to actual project requirements, and unnecessary software functions need to be added or removed.
In addition, the technical difficulty of mid- and low-end small projects is relatively low, so the entry threshold for embedded personnel is low, which is a good thing in itself. However, it is precisely because the entry threshold is too low and there is no unified programming standard that programming is very casual. A company has ten programmers and ten different programming methods, which makes it very difficult to check and maintain each other. Small businesses have relatively large talent flows. After the software manager leaves, his successor often cannot understand the predecessor's program because of a different way of thinking in programming and has to abandon and redesign it. This causes the code quality to be in a repetitive cycle of low quality, which greatly increases the company's software costs.
This situation of project inheritance is particularly prominent in universities and research institutes. For example, the main business of a research institute is to make sensors, but in order to test this sensor, an embedded test platform must be built. If WINCE, Linux and other development platforms are used, an embedded team is needed to develop it, which requires a high investment and is difficult to maintain. The sideline business has become the main business. If you want to build a complete universal test system by yourself, you have neither the ability nor the energy, so you usually design a test system for this sensor in a targeted manner. Because students in universities and research institutes change frequently, the latecomers cannot understand the code of their predecessors and have to redesign it.
Although the requirements of low-end and medium-sized projects are diverse and cannot be developed uniformly with a set of operating systems, we can divide them into several categories, such as consumer projects with color screens, industrial control projects with black and white screens, microcontrol projects with digital tube displays, etc. In recent years, there has been a well-known open source embedded operating system in China called RT-Thread, which has a programming style similar to Linux and integrates GUI, file system and network functions on the basis of OS. Many users apply it to the consumer industry. The latest open source embedded microsystem is called msOS, which adopts Microsoft's C# style, focuses on platform architecture, can be flexibly combined, and is simple and easy to use. It currently integrates uC/OS-II, 128*64 black and white screen GUI, parameter log storage, PID algorithm library and stepper driver library, and is positioned in the field of instruments, meters, and small industrial automation. The Chinese name of msOS is embedded microsystem.
Previous article:"The Making of Domestic Embedded Microsystem msOS" Part 1 What is an Embedded Microsystem
Next article:The story of the formation of msOS, a domestic embedded microsystem - Part 3 The source of demand for msOS
- MathWorks and NXP Collaborate to Launch Model-Based Design Toolbox for Battery Management Systems
- STMicroelectronics' advanced galvanically isolated gate driver STGAP3S provides flexible protection for IGBTs and SiC MOSFETs
- New diaphragm-free solid-state lithium battery technology is launched: the distance between the positive and negative electrodes is less than 0.000001 meters
- [“Source” Observe the Autumn Series] Application and testing of the next generation of semiconductor gallium oxide device photodetectors
- 采用自主设计封装,绝缘电阻显著提高!ROHM开发出更高电压xEV系统的SiC肖特基势垒二极管
- Will GaN replace SiC? PI's disruptive 1700V InnoMux2 is here to demonstrate
- From Isolation to the Third and a Half Generation: Understanding Naxinwei's Gate Driver IC in One Article
- The appeal of 48 V technology: importance, benefits and key factors in system-level applications
- Important breakthrough in recycling of used lithium-ion batteries
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- Analysis of the working principles of seven triode collector DC circuits 5
- About the Wireless Charging Electric Car for the Undergraduate Group of the 2018 College Electronics Competition
- Are electronic engineers' desks always messy? Let's talk about it
- Share Altium_Designer_Beta_19.1.5
- Why is the voltage ringing spike of MOSFET different in boost and buck mode?
- The circuit for discharging the PFC output capacitor is shown in Figure 2.
- Basic syntax of Verilog HDL
- Found a method to import Altium Designer into SIwave
- EEWORLD University-What is a transient voltage suppressor (TVS) diode?
- FLASH emulation EEPROM experiment