Embedded operating system refers to the operating system for embedded systems. It has certain applications in many fields. Which users of the ARM-based embedded operating system have learned? Today Xiao Bian will introduce what is based on the ARM embedded operating system. I hope to help everyone.
The embedded system is divided into four layers: hardware layer, driver layer, operating system layer, and application layer. The embedded operating system is responsible for the allocation of all hardware and software resources of the embedded system, task scheduling, and control and coordination of concurrent activities. It must embody the characteristics of the system in which it is located. It can achieve the functions required by the system by loading and unloading certain modules. It is a widely used system software.
Embedded Linux
Embedded Linux is an operating system that enables the increasingly popular Linux operating system to be tailored and modified to run on an embedded computer system. The advantage of Linux as an embedded device is that, first of all, Linux is open source. Second, Linux has a small kernel, high efficiency, and can be customized. The minimum size of the system kernel is only about 134 KB. Third, Linux is a free OS, and Linux is embedded. The many features required by the operating system highlight the fact that Linux is adaptable to multiple CPUs and multiple hardware platforms with stable performance, good cut-out, and easy development and use. At the same time, the structure of the Linux kernel is very complete in the network, Linux has the most complete support for the most commonly used TCP/IP protocol in the network. Provides support for 10M, 100M, and Gigabit Ethernet networks, as well as wireless networks, Token Rings, fiber optics, and even satellites.
Transplantation steps: 1. Bootloader transplantation; 2. Transplanting embedded Linux operating system kernel; 3. Embedded Linux operating system root file system creation, 4. Write a peripheral Linux driver on the circuit board.
WinCE
WinCE is the foundation of Microsoft's embedded, mobile computing platform. It is an open, scalable 32-bit embedded operating system. It is a handheld computer-based electronic device operating system. It is a streamlined Windows 95, Win CE. The graphical user interface is quite outstanding. WinCE is a multi-threaded, full-priority, multi-tasking operating system designed for a limited resource platform as a whole. Its modular design allows it to be customized for user electronics from handheld computers to dedicated industrial controllers. The basic kernel of the operating system requires at least 200K of ROM.
In general, a WinCE system includes a four-tier structure: application programs, WinCE kernel images, board support packages (BSPs), and hardware platforms. The basic software platform is mainly composed of the WinCE system kernel image (OS Image) and the board support package (BSP). Because the WinCE system is a system in which hardware and software are tightly coupled, even if the CPU processors are the same, if the peripheral hardware on the development board is not the same, it is still necessary to modify the BSP to complete a new BSP at this time. Therefore, in other words, the WinCE porting process is mainly the process of rewriting the BSP.
Android
Android is a software set specifically for mobile devices that includes an operating system, middleware, and some important applications. Android, as a fully open source operating system, is a software stack composed of operating system Linux, middleware, and core applications. Through the API provided by android SDK and the corresponding development tools, programmers can easily develop applications on the android platform. The entire system consists of five parts: application program, application framework, application library, Android runtime library and Linux Kernel. The Android operating system has some built-in applications, including email clients, SMS programs, calendars, maps, browsers, contacts, and other programs. It's worth mentioning that all these programs are written in Java.
The main job of porting is to drive and port the hardware abstraction layer. In order to better understand and debug the system, you should also properly understand the call to the hardware abstraction layer in the upper layer.
TinyOS
TinyOS is an open source embedded operating system. It was developed by the University of California, Berwick, and is mainly used in wireless sensor networks. The program uses a modular design, so its program core is often very small, in general, the core code and data is about 400 Bytes or so, can break through the limitations of the sensor storage resources. TinyOS provides a series of reusable components. An application can connect various components through the A Wiring Specification to accomplish the functions it needs.
Embedded Real-Time Operating System (RTOS)
In the industrial control, military equipment, aerospace and other fields, the response time of the system has strict requirements, which requires the use of real-time systems. When external events or data are generated, they can be accepted and processed at a sufficiently fast rate. The result of the processing can be used to control the production process or respond to the processing system quickly within a specified time, and control the coordination of all real-time tasks. Run the embedded operating system. Therefore, the understanding of the embedded real-time operating system should be based on the understanding of the embedded system to add response time requirements.
FreeRTOS
FreeRTOS is a small embedded system with a mini operating system kernel. As a lightweight operating system, functions include: task management, time management, semaphores, message queues, memory management, and recording functions, which can basically meet the needs of smaller systems. FreeRTOS tasks can choose whether to share the stack, and there is no limit to the number of tasks, multiple tasks can be assigned the same priority. Rotation scheduling of the same priority task can also be set as a deprivation kernel or an inalienable kernel.
FreeRTOS transplantation mainly needs to rewrite the following three files. 1. Portmacro. h 2. Port. c 3. Port. Asm
μTenux
μTenux is based on the ARM microcontroller platform and is the most suitable microcontroller for the ARM Cortex M0-M4 family of uTs. The code is open source and free of charge. It is a powerful preemptive real-time multitasking operating system. In addition to the general features of the real-time embedded operating system, μTenux, portability, curability, and trimming, it also has the following advantages: (1) Microkernel. No MMU, ROM/RAM small footprint, maximum ROM 60KB, minimum 10KB; RAM maximum 12KB, minimum 2KB; (2) open source free of charge; (3) supports all 32-bit ARM7/9 and Cortex M series of microcontrollers (4) can be configured to achieve up to 256 tasks and 140 task priorities; (5) has good commercial support, T-Engine Forum for total maintenance.
The porting mainly includes: Transplantation of chip system clocks, porting of peripheral devices, and porting of general-purpose output/input ports, and porting of watchdog modules. Due to the importance of the kernel code and its importance in the entire migration, and for the sake of better real-time performance of the entire system, the operating system startup code can be written in assembly language.
VxWorks
The VxWorks system provides efficient semaphores, message queues, pipes, and network-transparent sockets between multiple processors and tasks. Another key feature of real-time systems is hardware interrupt processing. In order to obtain the fastest and most reliable interrupt response, the interrupt service routine ISR of the VxWorks system has its own context. VxWorks real-time operating system consists of more than 400 relatively independent, short and refined target modules, users can choose appropriate modules to tailor and configure the system, which effectively guarantees the system's security and reliability. The system's linker can automatically link some target modules as needed by the application. In this way, many applications satisfying functional requirements can be obtained through on-demand combination of target modules.
The migration process can refer to some BSP codes on the network. The English version of the BSP is called the board support package, which is the board support package. Its role is to provide a working interface for the VxWorks kernel for a special hardware platform.
μClinux
As an open source operating system, embedded Linux is widely used due to its features of low cost, powerful functions, and easy portability. μClinux is an embedded Linux designed specifically for processors without MMU, and is suitable for embedded in low-end applications. System requirements. Under the GNU General Public License, users of the μClinux operating system can use almost all of the Linux API functions and will not be affected by the absence of the memory management unit MMU; furthermore, μClinux is properly tailored to the standard Linux infrastructure. And optimization, formed a highly optimized, compact code embedded Linux, small size, but still retains most of the advantages of Linux, such as good stability, powerful network features, good portability, complete File system support functions, as well as standard and rich application program interface APIs, can support similar small and exquisite CPUs such as the ARM7TDMI.
eCos
eCos Chinese translates to an embedded configurable operating system or an embedded configurable real-time operating system. Suitable for deep embedded applications, the main application objects include consumer electronics, telecommunications, automotive equipment, handheld devices and other low-cost and portable applications. eCos is a development source code software without any copyright fees. The biggest feature of eCos is its modularity and configurable kernel. If the embedded Linux is too large, then eCos may be able to meet the requirements. It is a portable open source embedded RTOS for 16-bit, 32-bit and 64-bit processors. Unlike embedded Linux, it is designed by a working group that specializes in designing embedded systems. eCos has a wealth of features and a configuration tool that lets you pick the features you need.
The eCos software is divided into several modules. The porting work is mainly done in his hal layer. The so-called hal (hardware abstraction layer) is to bring hardware-related software together.
μC/OS-II
μC/OS-II is a complete, portable, curable, and tailorable preemptive real-time multitasking kernel. Most of μC/OS-II's code is written in ANSI C and contains a small amount of assembly code that can be used by microprocessors of different architectures. Its structure is small and concise and supports preemptive multi-task scheduling and management. The number of real-time operating system management tasks is as many as 64, and provides functions such as internal program memory management, system runtime management, and multi-task real-time scheduling and management. Since its author takes up and retains 8 tasks, it leaves up to 56 tasks for the user application. The priority assigned to each task must be different. This means that μC/OS-II does not support time slice rotation scheduling. μC/OS-II sets up an independent stack space for each task, enabling quick task switching.
Transplanting the μC/OS-II operating system to the target processor requires consideration of both hardware and software. In terms of hardware, the target processor must meet the following conditions:
1 processor's C compiler can generate re-entrant code;
2 can use C language to open / close the interrupt;
3 processors support interrupts and can generate timed interrupts (usually between 10 and 1000 Hz);
4 processors can support a hardware stack that holds a certain amount of data;
The 5 processor has instructions for reading and storing the stack pointer and other registers to the stack or memory.
On the software side, there are mainly processor-related code migrations that are distributed on OS_CPU. H, OS_CPU_C. C and OS_CPU_A. ASM these 3 different files.
Sintered Alnico Magnet,Alnico Sintered Magnet,Sintered Alnico Magnets,Alnico Magnet Grades
NINGBO GAOTRON MAGNETIC INDUSTRY CO.,LTD , https://www.gaotronmagnet.com