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
- Popular Resources
- Popular amplifiers
- 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
- LED chemical incompatibility test to see which chemicals LEDs can be used with
- Application of ARM9 hardware coprocessor on WinCE embedded motherboard
- What are the key points for selecting rotor flowmeter?
- LM317 high power charger circuit
- A brief analysis of Embest's application and development of embedded medical devices
- Single-phase RC protection circuit
- stm32 PVD programmable voltage monitor
- Introduction and measurement of edge trigger and level trigger of 51 single chip microcomputer
- Improved design of Linux system software shell protection technology
- What to do if the ABB robot protection device stops
- Learn ARM development(19)
- Learn ARM development(14)
- Learn ARM development(15)
- Analysis of the application of several common contact parts in high-voltage connectors of new energy vehicles
- Wiring harness durability test and contact voltage drop test method
- From probes to power supplies, Tektronix is leading the way in comprehensive innovation in power electronics testing
- From probes to power supplies, Tektronix is leading the way in comprehensive innovation in power electronics testing
- Sn-doped CuO nanostructure-based ethanol gas sensor for real-time drunk driving detection in vehicles
- Design considerations for automotive battery wiring harness
- Do you know all the various motors commonly used in automotive electronics?
- Causes of burnout of temperature control chip (ADN8834)
- Microcontroller Study Notes
- Design of 1GHz bandwidth RF digitizer by using high speed ADC technology
- KiCAD JLCPCB Tools
- RISC-V MCU Development Practice (Part 3): Porting Hongmeng OS Project
- How to allocate time?
- 【1】First look at Silicon Labs development kit
- The Definitive Guide to Visual Studio Code
- LPC1788--TIMER match interrupt setting--register operation
- Please help explain this circuit, it should be a voltage regulator