1. Introduction
As a typical application of Soc (System On Chip), the market demand for products such as handheld phones, set-top boxes, digital cameras, GPS, personal digital assistants and Internet devices is increasing. At present, ARM-based processors have become the most popular processors in the above-mentioned products due to their high speed, low power consumption and many other excellent performances.
2. ARM core
ARM cores are divided into several categories such as ARM7, ARM9, ARM10 and StrongARM. Each category is divided into multiple structures according to the functional modules it contains. There are four functional modules in the ARM core that can be configured and produced by manufacturers according to the different requirements of different users. These four modules are represented by T, D, M and I respectively.
T: stands for Thumb. The core can be expanded from a 16-bit instruction set to a 32-bit ARM instruction set.
D: stands for Debug. The core is placed with a structure for debugging. It is usually a boundary scan JTAG, which can put the CPU into debug mode, so that breakpoints can be set and single-step debugging can be easily performed.
M: stands for Multiplier, which is an 8-bit multiplier.
I: EmbeddedICE Logic, which is used to implement the logic circuit part of breakpoint observation and variable observation. The TAP controller can be connected to the boundary scan chain.
ARM7
ARM7 adopts ARMV4T (Newman) structure, divided into three-level pipeline, unified space instruction and data cache, average power consumption of 0.6mW/MHz, clock speed of 66MHz, and average execution of 1.9 clock cycles per instruction. Among them, ARM710, ARM720 and ARM740 are ARM cores with built-in cache.
ARM9
ARM9 adopts ARMV4T (Harvard) structure, five-level pipeline processing and separate cache structure, with an average power consumption of 0.7mW/MHz. The clock speed is 120MHz-200MHz, and each instruction executes 1.5 clock cycles on average. Similar to the ARM7 series, ARM920, ARM940 and ARM9E are CPU cores with cache. The performance is 132MIPS (120MHz clock, 3.3V supply) or 220MIPS (200MHz clock).
ARM10
ARM10 adopts ARMV5T structure, six-stage pipeline processing, and a cache structure with separated instructions and data. The average power consumption is 1000mW, the clock speed is 300MHz, and each instruction is executed in an average of 1.2 cycles. Among them, ARM1020 is a version with cache.
ARM10TDMI: compatible with all ARM cores at the binary level, with high-speed 32X16MAC, and reserved DSP coprocessor interface. The VFP10 (vector floating point unit) is a seven-stage pipeline structure.
ARM1020T: ARM10TDMI+32KI&D Caches+MMU structure, 300MHz clock, power consumption is 1W (2.0V power supply) or 00mW (1.5V power supply). The instruction cache and data cache are 32K respectively, with a width of 64bits. It can run a variety of commercial operating systems. Suitable for the next generation of high-performance handheld Internet devices and digital consumer applications.
StrongARM
The StrongARM processor adopts the five-stage pipeline structure of ARMV4T. There are currently three versions: SA110, SA1100 and SA1110.
III. ARM7 series development tools and development environment
1. Software development tools
Green Hills Tools: Green Hills' ARM software toolkit can support ARM6, ARM7, ARM7M, ARM7TM, ARM7TDMI, ARM7500FE, ARM8, ARM9, ARM10 and StrongARM series processors. It consists of a compiler, a cross toolkit, an integrated development environment and a debugging interface. [page]
Compiler: A C/C++ compiler with high optimization performance.
Cross Tool Chain: A cross development tool. Including an assembler, a linker, library functions and a target code format converter.
MULTI: An integrated development environment. Green Hills' MULTI integrated environment integrates various tools used in the software development and debugging process, such as source-level debugger, project manager, version controller, text editor, performance analyzer, and graphical browser. Runtime error detector, ARM instruction set simulator, and low-level debugging interface. Users can easily use the above tools to develop applications in the MULTI environment. Servers
: Low-level debugging interface. Green Hills' Servers provide two types of debugging interfaces for users to choose from. One type is used for Angel monitors, online simulators, and EPI's JEENI JTAFG simulators, etc.; the other type is used for commercial operating systems and operating systems written by users themselves.
ASDT2.5: SDT2.5 is a large set of development software packages provided by ARM, consisting of a C compiler, a connection locator, a C language debugger, and an Angel monitor. It is widely used because of its moderate price.
2. Hardware development tools
ARM's hardware development tools mainly include two types of simulators, one is the JTAG simulator, and the other is the full-featured online simulator. The former uses the function of the debugging module in the ARM processor to connect to the simulator through its JTAG boundary scan port. This type of emulator is relatively cheap and convenient to connect. However, since it is debugged through only a dozen lines, its functions are limited. At present, the more popular JTAG emulators for ARM processors on the market are EPI's JEENI and MAJIC. The famous German company Lauterbach has a universal JTAG/BDM/ONCE emulator TRACE32-ICD that can also support ARM series processors well. For full-function online emulators, since its signal header completely replaces the CPU on the target board, its functions are very powerful. However, in order to be able to emulate processors with a clock speed higher than 100MHz at full speed, this type of emulator usually has to adopt extremely complex designs and processes, so its price is relatively expensive. Lauterbach's TRACE32-Fire is a leader in this type of product.
JEENI emulator: This is a low-priced JTAG emulator. It can be well connected to the SDT2.5 tool. Users can use its compiler and debugging interface.
MAJIC emulator: Compared with JEENI, MAJIC can be connected to the host through 100base-T Ethernet, supporting multiple processors and low-voltage I/O.
TRACE32-ICD: This is a general JTAG/BDM/ONCE emulator that can support Motorola series 68K, ColdFire, MPC5XX/8XX, MPC82XX, and can support ARM7 series CPU by replacing modules. It can also support SIEMENS ONCE mode, such as TriCore, C166, etc. In addition, TRACE32-ICD provides a unique RISC logic tracing function. TRACE32Fire
: This is a full-featured ICE that provides powerful debugging and error detection functions.
4. RTOS supporting ARM7 and its system development
At present, ARM7 is widely used in China, and the use of ARM9 and ARM10 has not yet begun. In this introduction, we use the application of ARM7 as an example to illustrate the composition of the ARM7 system and the application of its OS.
There are many manufacturers of ARM7 processors, and they only need to purchase the license of the ARM7 core from ARM to produce. At present, the commonly used ARM7 chips include AT91M40400 of tmel, CL-PS7500FE/EP7211 of Cirrus Logic, GMS30C7201 of Hyundai, L
7200 of Linkup, KS32C4100/50100 of Samsung, etc. In addition, TI, LSI Logic, NS, NEC and Philips also produce corresponding ARM7 chips. Although many manufacturers provide a variety of processors, except for some external functional modules, their kernels are the same, so they are the same in software programming and debugging. Among the various
commercial RTOS (real-time multi-tasking operating systems), Nucleus PLUS real-time multi-tasking operating system is an OS with source code, which is very popular at present. It also has a large number of practical applications in China. Nucleus is one of the earliest operating systems that supports ARM series CPUs. It provides complete solutions such as kernel, graphics interface module, communication protocol module, file system and embedded online browser. Many well-known domestic companies have chosen Nucleus to implement PDA, STB, DVD, POS, GPS, mobile phones and intelligent terminals on the ARM platform.
V. PDA solution based on ARM7
The ARM7 series chips have the characteristics of high speed, low power consumption and high integration, which are very suitable for the development of PDA devices. Here we introduce a PDA solution provided by Hyundai Electronics of South Korea with GMS30C7201 chip as the core.
* Operating system: NUCLEUS PLUS;
* Compiler: ARM SDT / GREEN HILL;
* Simulator: JENNI / TRACE32-ICD.
On this platform, we choose ATI's NUCLEUS operating system and the corresponding file system, graphics software package, network module and browser to implement various functions of PDA. Now most of the software transplantation work has been completed: MUCLEUS kernel, file system, graphics software package, TCP/IP network module (using PPP dial-up to access the Internet) and the drivers of various on-chip devices, and the transplantation of browsers is about to be completed.
Previous article:Single chip microcomputer short message receiving and sending system based on Q2403A
Next article:Design and Analysis of ARM Startup Code
Recommended ReadingLatest update time:2024-11-16 20:23
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- 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
- Reconstructing the antenna design solution for mobile devices in the 5G era
- What exactly are those “special pads” on PCB boards used for?
- CC2640 power configuration modification
- Is there a conflict between CircuitPython and MicroPython?
- What is the relationship between embedded and microcontroller?
- Problems encountered in debugging Pingtouge's scenario-based Bluetooth Mesh
- Can S0 on the coil be understood as an ordinary auxiliary relay?
- Noise Suppression Basics Tutorial - Noise Suppression in Differential Transmission
- What content do you most want to see about Bluetooth?
- [Erha Image Recognition Artificial Intelligence Vision Sensor] 4. Object Recognition and Line Patrol Function Test