Overview of embedded systems – peripherals, processors, ARM, operating systems

Time:2024-5-30

I. Composition of Embedded System

In general, the compositional architecture of an embedded system can be divided into three layers and four parts:embedded processorEmbedded Peripheralsembedded operating systemandapplicationOverview of embedded systems - peripherals, processors, ARM, operating systems Four-story structures are also common:Embedded Hardware PlatformHardware Abstraction Layer (HAL)embedded operating systemapplicationOverview of embedded systems - peripherals, processors, ARM, operating systems Add Hardware Abstraction Layer (HAL):
  • Also known as Board Support Package BSP (Board Support Package), it is a set of software whose main purpose is to shield the lower level hardware so that the operating system no longer has to deal directly with the specific hardware environment.
  • HAL interacts with the operating system through specific upper layer interfaces, provides the operating system with information about the underlying hardware, and accomplishes direct operations on the hardware according to the operating system’s requirements.
  • The introduction of HAL has greatly contributed to the generalization of embedded systems, providing the possibility of a wide range of embedded system applications.
Typical embedded system components: Overview of embedded systems - peripherals, processors, ARM, operating systems

II. Embedded processors

The core component of the embedded system, most of the work in the system designed specifically for a particular user group, it will be a general-purpose CPU in many of the tasks completed by the board to the chip inside, thus facilitating the embedded system in the design of the tendency to miniaturize, but also has a high degree of efficiency and reliability. Embedded processors include:
  • Low-end Embedded MicroController Unit (MCU)
  • Mid- to high-end Embedded Micro Processor Unit (EMPU)
  • Embedded Digital Signal Processor (EDSP) for computer communications and other fields
  • Highly Integrated Embedded System On Chip (SOC)
The architecture of embedded processors has undergone a transformation from CISC (Complex Instruction Set) to RISC (Reduced Instruction Set) and Compact RISC, while the number of bits has gradually evolved from 4-bit, 8-bit, 16-bit, 32-bit to 64-bit. At present, almost every large semiconductor manufacturer produces embedded processors, the world’s embedded microprocessors have more than 1,000 kinds of popular architecture has more than 30 series, which are most widely used in ARM, x86, MIPS, PowePC and so on. Overview of embedded systems - peripherals, processors, ARM, operating systems

III. Embedded peripherals

In the hardware of the embedded system, in addition to the central control components (MCU, DSP, EMPU, SOC), other hardware components used to complete the storage, communication, display and other supporting functions can be counted as embedded peripherals. Commonly used embedded peripherals can be categorized by function:storage device (computer)communications equipmentanddisplay deviceThree main categories.

1. Storage equipment

Storage devices are mainly used for various types of data storage, commonly used static random memory (SRAM), dynamic memory (DRAM) and non-volatile memory (ROM, UV EPROM, EEPROM, FLASH) three.

2. Communications equipment

The vast majority of communication interfaces currently exist can be directly applied to embedded systems, including UART interface (Universal Asynchronous Serial Communications Interface), IrDA (Infrared Interface), SPI (Serial Peripheral Interface), I2C (INTER IC Bus Interface), USB (Universal Serial Bus Interface), Ethernet (Ethernet Interface), CAN (Fieldbus) and so on. ), etc.

3. Display equipment

For the display devices in the embedded system, according to the characteristics of the application, usually use the digital tube (LED), liquid crystal display (LCD) and touch display (Touch Panel) and other display devices.

IV. Hardware Abstraction Layer HAL

The Hardware Abstraction Layer provides services to the operating system and applications for the abstracted hardware through the HAL interface. It is a set of software. Board Support Package (BSP) It is a program used by commercial embedded operating systems to achieve portability, and is an implementation of the hardware abstraction layer.BSP is a layer between the hardware and the driver layer program in the operating system, and can sometimes be considered to belong to a part of the operating system.BSP implements the support of the operating system, and provides the function packages for the upper layer drivers to access the hardware devices. BSP isolates the correlation between the supported embedded operating system and the hardware platform, makes the operating system common to the hardware platform supported by BSP, and realizes the portability, cross-platform, generalization and reusability of the embedded operating system. Different operating systems require differently defined forms of BSPs
  • For example, for the same CPU, to realize the same function, the writing and interface definition of BSP for VxWorks and BSP for Linux are completely different. BSP must be written according to the form of the definition of the specific operating system’s BSP (or be modified on a certain molded BSP template), to guarantee the correct interface with the upper operating system, and to support the upper operating system well.
The BSP operates the hardware directly, so different boards and different hardware configurations will affect the BSP to varying degrees. The main function of BSP is to shield the hardware and provide operating system and hardware drivers, which include:
  • Single-board hardware initialization, mainly CPU initialization, to provide underlying hardware support for the entire software system
  • Provides device drivers and system interrupt service programs for the operating system
  • Customize operating system functionality to provide a real-time multi-tasking operating environment for software systems
  • Initialize the operating system to prepare it for normal operation

V. Embedded operating systems

In order to make the development of embedded systems easier and faster, there is a need for software modules that specialize in managing functions such as memory allocation, task scheduling, interrupt handling, and so on, which make up the embedded operating system. Embedded operating system is the system software used to support embedded applications, is an extremely important part of the embedded system, usually including the system kernel, hardware-related underlying drivers, device driver interfaces, communication protocols, file systems, graphical user interfaces and so on. Embedded operating systems have the basic characteristics of general-purpose operating systems, such as the ability to effectively manage complex system resources, the ability to abstract hardware, the ability to provide library functions, drivers, development tools and so on. However, compared with general-purpose operating systems, embedded operating systems have distinctive characteristics in terms of system real-time, hardware dependence, software solidification and application specialization. Embedded operating systems can be categorized into two main groups based on their applications:
  • One category is for consumer electronicsnon-real-time operating systemSuch devices include personal digital assistants (PDAs), cell phones, set-top boxes (STBs), and so on;
  • The other category is oriented to control, communication, medical and other fieldsreal-time operating system, such as WindRiver’s VxWorks, QNX Systems Software’s QNX, and so on.
real time systemIt is a system that is capable of performing system functions within a specified or defined time frame and can respond in a timely manner to external and internal events in synchronous or asynchronous time.

VI. Applications

Application Program (APP) It is the upper layer of computer software for specific application areas, based on a fixed hardware and operating system platform, used to achieve the user’s desired goals. Some embedded applications require the support of a specific embedded operating system because user tasks may have time and accuracy requirements. Embedded applications are somewhat different from ordinary applications, which are not only required to meet the needs of practical applications in terms of accuracy, security and stability, but also optimized as much as possible to reduce the consumption of system resources and reduce hardware costs.

VII. Embedded processors

Currently, there are more than 1,000 processors in the world characterized by embedded functions, and popular architectures include more than 30 series of MCUs, MPUs and other types. From microcontrollers, DSPs to FPGAs, there are more and more varieties, faster and faster speeds, stronger performance and lower prices. Embedded processors generally have the following four characteristics:
  • Strong support for real-time multitasking operating systems. Ability to multitask and have short interrupt response times to minimize execution time for internal code and the real-time kernel.
  • With a strong function of the storage area protection function. As the software structure of the embedded system is generally modular, in order to avoid the cross effect of the error between the software modules, it is necessary to design a strong storage area protection function, but also conducive to software troubleshooting;.
  • Processor architecture is scalable. Enables rapid development of embedded processors for a wide range of applications and high performance.
  • Low power consumption. Especially in portable wireless and mobile computing and communication devices embedded systems, the power consumption can reach mW class or even uW class.
In recent years, the main development direction of embedded processors is small size, high performance and low power consumption. Specialized division of labor is also becoming more and more obvious, the emergence of professional IP (Intellentual Property Core, Intellectual Property Core) providers, such as ARM, MIPS, etc., they provide high-quality, high-performance embedded microprocessor core, and by the various semiconductor manufacturers to produce chips for various application areas. Embedded processors are usually divided into four categories: Overview of embedded systems - peripherals, processors, ARM, operating systems

1、MCU

Embedded microcontrollers are typified by 8-bit microcontrollers, which are still extremely widely used in embedded devices. Microcontroller chip internal integrated ROM/EPROM, RAM, bus logic, I/O port, timing/counter, serial communication port, A/D, D/A, watchdog and other common functions and peripherals. Examples: 51 microcontroller, MSP430, PSOC 5LC, etc. The MCU has limited processing power: MCU microcontroller, the data bus width is generally 8-bit or 16-bit, the processing speed is limited, generally in a few ~ dozens of MIPS, for some complex applications is more difficult to run the operating system is even more difficult.

2、MPU

MPU embedded microprocessors evolved from CPUs in general-purpose computers, 80386-80387 Unlike general-purpose computer processors, in actual embedded applications, only the functional hardware closely related to the embedded application is retained, and other redundant functional parts are removed, so that the special requirements of embedded applications can be realized with the lowest power consumption and resources.

3、DSP

DSP processor is a processor specialized in signal processing, its system structure and instruction system in terms of the system structure and instruction system for the common signal processing algorithms required for the special design, in digital filtering, FFT, spectrum analysis and other aspects of the DSP has gained large-scale applications. DSP is an arithmetic-intensive processor, generally used in the fast execution of algorithms, it is more difficult to do control. In order to pursue high execution efficiency, it is not suitable for running operating systems, and the core code sometimes uses assembly.

4、SOC

System-on-a-chip (SoC: System-on-a-chip) refers to a technology that integrates a complete system on a single chip, grouping all or some of the necessary electronic circuits in packages. The so-called complete system generally includes a central processing unit (CPU), memory, and peripheral circuits. SOC (System on Chip) is the development trend of IC design. The use of SOC design technology can dramatically improve the reliability of the system, reduce the area and power consumption of the system, lower the cost of the system, and greatly improve the performance-price ratio of the system. SOC chips have become the core devices to improve the performance of mobile communications, networks, information appliances, high-speed computing, multimedia applications and military electronic systems.

5、SOPC

Putting the entire system on a single piece of silicon using programmable logic technology is called SOPC. programmable system-on-chip (SOPC) is a special kind of embedded system: First of all it is a system-on-chip (SOC), i.e., a single chip that performs the main logic functions of the entire system; Secondly, it is a hardware programmable system with a flexible design that can be cut down, expanded and upgraded. With programmable logic technology can be realized with an embedded small CPU, and have hardware and software in the system programmable functions.

VIII. Introduction to ARM processors

ARM (Advanced RISC Machines) processors are one of the most popular classes of microprocessors today. ARM, which can be thought of as either a company name, a generic term for a class of microprocessors, or the name of a technology. Founded in 1991 in Cambridge, England, ARM is a well-known company in the microprocessor industry whose main business is the design of 16-bit and 32-bit embedded processors. The company has designed a large number of high-performance, inexpensive, low-power RISC (Reduced Instruction Set) processors. ARM company only do design, itself does not produce and sales of chips, but the use of technology licensing, by the cooperation of the company to produce a variety of distinctive chips. The world’s major semiconductor manufacturers from the ARM company to buy its design of the ARM processor core, according to their different application areas, adding the appropriate peripheral circuitry, so as to form their own ARM processor chip into the market. Overview of embedded systems - peripherals, processors, ARM, operating systems Overview of embedded systems - peripherals, processors, ARM, operating systems

Characteristics of ARM processors

  • Small size, low power consumption, low cost, high performance
  • Supports Thumb (16-bit)/ARM (32-bit) dual instruction set, which is well compatible with 8-bit/16-bit devices.
  • Extensive use of registers for fast instruction execution
  • Most data operations are done in registers
  • Flexibility and simplicity in addressing, high implementation efficiency
  • Fixed-length instruction format is used

ARM Processor History

  • The first ARM processor was developed between October 1983 and April 1985 at Acorn Computer in Cambridge, England.
  • In 1990, an independent company was established to widely promote ARM technology.
  • In the 1990s, ARM rapidly entered the world market.
Overview of embedded systems - peripherals, processors, ARM, operating systems

ARM architecture versions and features

Overview of embedded systems - peripherals, processors, ARM, operating systems Overview of embedded systems - peripherals, processors, ARM, operating systems Overview of embedded systems - peripherals, processors, ARM, operating systems Overview of embedded systems - peripherals, processors, ARM, operating systems

ARM processor cores – ARM Cortex family

Released in 2005, ARM Cortex offers a complete set of optimized solutions for a wide range of applications with different performance requirements. The technology divisions of the family are fully tailored to different market applications and performance requirements. There are currently three families of ARM Cortex defined: The “A” series is aimed at cutting-edge virtual memory-based operating systems and user applications; ② The “R” series is for real-time systems; The “M” series is optimized for microcontrollers and low-cost applications.

ARM processor cores – Cortex-M

Embedded processors for price-sensitive applications support only the Thumb-2 instruction set, emphasizing deterministic operation and a balance of performance, power consumption, and price. It is designed for embedded applications (such as microcontrollers, automotive body control systems, and various large appliances) that are very sensitive to development costs and at the same time have increasing performance requirements, and is mainly oriented to the field of microcontrollers, which can be said to be a perfect alternative to the 51 microcontroller. Overview of embedded systems - peripherals, processors, ARM, operating systems Note: “ARM core” is not a chip, ARM core and other components such as RAM, ROM, on-chip peripherals together to form a real chip.

IX. Embedded operating systems

Embedded operating system EOS (Embedded OS): refers to run in the embedded system, the entire embedded system is operated, controlled by a variety of resources for coordination, scheduling and control of the system software. The EOS is responsible for the allocation and scheduling of all software and hardware resources of the embedded system, controlling and coordinating concurrent activities. EOS is the foundation and development platform of embedded application software, which is an extremely important part of embedded system, usually including system kernel, hardware-related underlying driver software, device driver interface, communication protocols, file systems, graphical interfaces and so on. Compared with general-purpose operating systems, embedded operating systems have more prominent features in terms of system real-time efficiency, hardware-related dependencies, software curing and application specificity. The emergence of embedded operating systems has greatly improved the efficiency of embedded system development, changing the previous embedded software design can only be done for specific applications from scratch. Overview of embedded systems - peripherals, processors, ARM, operating systems

Typical embedded operating systems

(1). VxWorks
VxWorks operating system is an embedded real-time operating system designed and developed by WindRiver in 1983. It is currently the most widely used real-time operating system in the field of embedded systems with the highest market share. It supports a variety of processors, such as x86, i960, Sun Sparc, Motorola MC68k, MIPS RX000, PowerPC, ARM and so on. It occupies an important place in the field of embedded real-time operating systems due to its good continuous development capability, high-performance kernel and friendly user development environment. VxWorks is widely used in communication, military, aviation, aerospace and other high-precision technology and real-time requirements of the field, such as satellite communications, military exercises, ballistic guidance, aircraft navigation and so on. VxWorks is used in the F-16, FA-18 fighter, B-2 stealth bomber, and Patriot missiles in the U.S., and even in the Mars rover that landed on the surface of Mars in April 1997, and has almost become the standard embedded real-time operating system for switching communication equipment in China.
(2). Nucleus
Nucleus Plus is a new generation of embedded operating system introduced by ATI (Accelerated Technology Inc.), a U.S. source code operating system vendor. It belongs to the preemptive real-time multitasking operating system kernel, and 95% of its code is written in ANSI C, which is very easy to be ported to various processor families. From the implementation point of view, unlike traditional embedded development, Nucleus Plus is linked to the target application in the form of a function library to form executable object code, which is downloaded to the target board or burned into ROM/FLASH ROM for execution. The Nucleus Plus kernel occupies about 20k of space on a typical CISC architecture, 40k on a typical RISC architecture, and 1.5k bytes of kernel data structures.The Nucleus Plus is widely used for its real-time responsiveness, preemption, multitasking, and open-source features in the fields of communications, defense, industrial control, aviation/aerospace, railway, networking, POS, automation control, smart home appliances, etc. Nucleus Plus is widely used in communication, defense, industrial control, aviation/aerospace, railroad, network, POS, automation control, smart home appliances and other fields.
(3). QNX
The QNX RTOS is a highly reliable microkernel real-time operating system developed by QNX Software Systems in Ottawa, Canada for embedded applications that can be used in real-time applications. It runs on a range of hardware platforms including x86, PowerPC, ARM, XScale, MIPS, SH-4, and more. It consists of a microkernel and a set of co-operating processes, and is highly scalable and can be flexibly tailored, with the smallest configuration occupying only a few tens of KB of memory. As a result, it can be widely embedded in applications such as smart machines, smart instrumentation, set-top boxes, communication devices, PDAs, etc. In July 2005, QNX was used in the Neptec laser camera system on NASA’s re-entry mission.
(4). Windows CE
Windows CE is an open, scalable 32-bit embedded operating system developed by Microsoft, and is an operating system for electronic devices based on the Pocket PC class. The graphical user interface of Windows CE is quite remarkable. The C in CE stands for Compact, Consumer, Connectivity and Companion, and the E stands for Electronics. Windows CE is an embedded operating system with all source codes developed by Microsoft. Although its operating interface is derived from Windows 95/98, Windows CE is a new type of information device platform redeveloped based on the Win32 API, which has the features of modularization, structuring, Win32-based application program interface and processor-independent. Windows CE not only inherits the traditional Windows graphical interface, but also can use tools such as Visual Basic, Visual C++, etc. on the Windows CE platform, using the same functions and the same interface style, so that most of the application software can continue to be used on the Windows CE platform with simple modification and transplantation. CE platform with simple modification and porting.
(5). Linux
Linux is an operating system similar to Unix. It originated from a Finnish hobbyist named Linus Torvalds, but is now one of the most popular open-source operating systems. since its introduction in 1991, Linux has evolved in a short period of time into a powerful and well-designed operating system, whose performance in many ways even exceeds that of many commercial Unix systems. Along with the progress of network technology, Linux OS has become a strong rival to Windows. The Linux system is not only able to run on the PC platform, but also shines in embedded systems, and various embedded Linux OS are rapidly developing. Among the embedded systems currently under development, 49% of the projects choose Linux as the embedded operating system.
(6). IOS/Android/Hongkong
Overview of embedded systems - peripherals, processors, ARM, operating systems
(7). Android
The word Android originally means “robot”, and Android is the name of the open-source smartphone operating system based on the Linux platform announced by Google on November 5, 2007, which consists of an operating system, middleware, user interface and application software. The platform consists of an operating system, middleware, user interface and application software, and is the first truly open and complete mobile software for mobile terminals.
  • Good platform openness: The most shocking thing about the Android cell phone system is its openness and free services. Android is a platform that is completely open to third-party software, and developers have greater freedom in developing programs for it, breaking the shackles of the iPhone, which can only be added to a few fixed software; at the same time, unlike Windows Mobile, Symbian and other vendors, the Android operating system is free to developers to date. Unlike Windows Mobile, Symbian and other vendors, the Android operating system has been provided free of charge to developers so far.
  • Personalized application settings: Android treats all applications equally and does not differentiate between the phone’s core applications and third-party applications. They can enjoy the performance of the phone equally and provide users with a wide range of applications and services. Users can set and replace various applications and plug-ins on the phone screen as they wish to create a personalized phone that fully meets their needs.
  • Seamless integration with Google Apps: Since the Android system is led by Google in research and development, Android OS cell phones can seamlessly incorporate the excellent Google Internet services, such as the well-known Google Map, Google Search, Gmail, etc., which are equally easy to use on cell phones.

Recommended Today

[MySQL] Don’t Allow Data You Don’t Know How to Insert

Article Catalog Previously on MySQL Details of this chapter Data insertion Insert complete rows Inserting multiple rows Insert the retrieved data How to consolidate learning Summary of this article Previously on MySQL Hello everyone, today is the nth time I write about MySQL, but also recently learned MySQL, and also want to record my learning […]