How to design an embedded operating system based on ARM

Publisher:快乐的小鸟Latest update time:2020-08-03 Source: elecfansKeywords:ARM Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

Embedded Linux is an operating system that is tailored and modified to run on embedded computer systems. The advantages of Linux as an embedded system are: first, Linux is open source; second, Linux's kernel is small, efficient, and customizable, with a minimum kernel size of only about 134KB; third, Linux is a free OS, and Linux also has many features required for embedded operating systems, most notably Linux is adaptable to a variety of CPUs and hardware platforms, with stable performance, good tailorability, and easy development and use. At the same time, the structure of the Linux kernel is very complete in terms of networking, and Linux has the most complete support for the most commonly used TCP/IP protocol in the network. It provides support for 10M, 100M, and 1G Ethernet networks, as well as wireless networks, Token Ring, optical fiber, and even satellites.


Migration steps: 1. Migration of Bootloader; 2. Migration of embedded Linux operating system kernel; 3. Creation of embedded Linux operating system root file system; 4. Writing peripheral Linux drivers on the circuit board.


WinCE is the foundation of Microsoft's embedded and mobile computing platform. It is an open, scalable 32-bit embedded operating system. It is an operating system for electronic devices based on handheld computers. It is a streamlined Windows 95. The graphical user interface of Win CE is quite outstanding. WinCE is a multi-threaded, full priority, multi-tasking operating system designed for platforms with limited resources. Its modular design allows it to be customized for user electronic devices from handheld computers to dedicated industrial controllers. The basic kernel of the operating system requires at least 200K of ROM.


Generally speaking, a WinCE system consists of four layers: application, WinCE kernel image, board support package (BSP), and hardware platform. The basic software platform is mainly composed of WinCE system kernel image (OS Image) and board support package (BSP). Because the WinCE system is a system that is closely integrated with software and hardware, even if the CPU processor is the same, if the peripheral hardware on the development board is different, it is still necessary to modify the BSP to complete a new BSP. In other words, the WinCE porting process is mainly the process of rewriting the BSP.


Android is a hierarchical software set specifically for mobile devices, including an operating system, middleware, and some important applications. As a completely open source operating system, Android is a software stack consisting of the Linux operating system, middleware, and core applications. Through the APIs and corresponding development tools provided by the Android SDK, programmers can easily develop applications on the Android platform.

How to design an embedded operating system based on ARM

The entire system consists of five parts: application, application framework, application library, Android runtime, and Linux kernel. The Android operating system has built-in applications, including email clients, SMS programs, calendars, maps, browsers, address books, and other programs. It is worth mentioning that all these programs are written in Java.


The main work of transplantation is the transplantation of drivers and hardware abstraction layers. In order to better understand and debug the system, you should also properly understand the calls of the upper layer to the hardware abstraction layer.


TinyOS is an open source embedded operating system developed by the University of California, Berkeley, and is mainly used in wireless sensor networks. The program adopts a modular design, so its program core is often very small. Generally speaking, the core code and data are about 400 Bytes, which can break through the limitation of sensor storage resources. TinyOS provides a series of reusable components. An application can connect various components through a wiring profile to complete the functions it needs.


In the fields of industrial control, military equipment, aerospace, etc., there are stringent requirements for the response time of the system, 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 speed, and the processing results can control the production process or respond quickly to the processing system within the specified time, and control the coordinated operation of all real-time tasks. Therefore, the understanding of embedded real-time operating systems should be based on the understanding of embedded systems and add the requirements for response time.


FreeRTOS is a small embedded system with a mini operating system kernel. As a lightweight operating system, its functions include: task management, time management, semaphores, message queues, memory management, recording functions, etc., which can basically meet the needs of smaller systems. FreeRTOS tasks can choose whether to share a stack, and there is no limit on the number of tasks. Multiple tasks can be assigned the same priority. Round-robin scheduling of tasks of the same priority can be set as a preemptive kernel or a non-preemptive kernel.

μTenux is based on the ARM microcontroller platform. It is the most suitable for ARM Cortex M0-M4 series microcontrollers. The code is open source and free. It is a powerful preemptive real-time multitasking operating system. In addition to the general characteristics of real-time embedded operating systems: portability, curability, and scalability, μTenux also has the following advantages: (1) Microkernel. No MMU, small ROM/RAM usage, maximum ROM 60KB, minimum 10KB; maximum RAM 12KB, minimum 2KB; (2) Open source and free; (3) Supports all 32-bit ARM7/9 and Cortex M series microcontrollers; (4) Can be configured with up to 256 tasks and 140 task priorities; (5) Good commercial support, and the T-Engine forum is responsible for overall maintenance.


The transplantation mainly includes: chip system clock transplantation, peripheral transplantation, general output/input port transplantation and watchdog module transplantation. Considering the importance of kernel code and its significance in the entire transplantation, and in order to make the whole system have better real-time performance, assembly language can be used to write the startup code of the operating system.


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 program ISR of the VxWorks system has its own context. The VxWorks real-time operating system consists of more than 400 relatively independent, short and refined target modules. Users can select appropriate modules to tailor and configure the system according to their needs, which effectively ensures the security and reliability of the system. The system's linker can automatically link some target modules according to the needs of the application. In this way, through the on-demand combination of target modules, many applications that meet functional requirements can be obtained.

Keywords:ARM Reference address:How to design an embedded operating system based on ARM

Previous article:What is the difference between ARM64 and ARM32 Linux programs?
Next article:New solution for analog signal isolation and acquisition based on ARM core MCU

Latest Microcontroller Articles
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号