I. 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 widely used processors in the above-mentioned products due to their high speed, low power consumption and many other excellent performances.
2. arm kernel
ARM cores are divided into ARM7, ARM9, ARM10 and Strongarm. Each of these types is divided into multiple components according to the functional modules they contain.
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. This core can be expanded from a 16-bit instruction set to a 32-bit arm instruction set.
D: stands for Debug. A debugging structure is placed in the core, usually a boundary scan chain JTAG, which allows the CPU to enter debug mode, making it easy to set breakpoints and perform single-step debugging.
M: stands for Multiplier, which is an 8-bit multiplier.
I: stands for EmbeddedICE Logic, which is the logic circuit part used to implement breakpoint observation and variable observation. The TAP controller can be connected to the boundary scan chain.
arm7
ARM7 uses ARMV4T (Newman) structure, divided into three-stage pipeline, unified space instruction and data cache, average power consumption is 0.6mW/MHz, clock speed is 66MHz, and each instruction executes 1.9 clock cycles on average. Among them, ARM710, ARM720 and ARM740 are arm cores with built-in cache.
arm9
ARM9 uses ARMV4T (Harvard) architecture, five-stage 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 an average of 1.5 clock cycles. Similar to the ARM7 series, the ARM920, ARM940 and arm9E are CPU cores with cache. The performance is 132MIPS (120MHz clock, 3.3V supply) or 220MIPS (200MHz clock).
arms 10
ARM10 uses 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 executes an average of 1.2 cycles. ARM1020 is a version with cache.
ARM10TDMI: compatible with all ARM cores at the binary level, with a high-speed 32X16MAC and a 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 100mW (1.5V power supply). Instruction Cache and data Cache are 32K and 64bits wide respectively. It can run a variety of commercial operating systems. It is suitable for the next generation of high-performance handheld Internet devices and digital consumer applications.
Strongarm
The StrongARM processor uses the five-stage pipeline structure of armV4T. Currently there are three versions: SA110, SA1100 and SA1110.
3. arm7 series development tools and development environment
1. Software Development Tools
Green Hills Tools: Green Hills' ARM software toolkit supports ARM6, ARM7, ARM7M, ARM7TM, ARM7TDMI, ARM7500FE, ARM8, ARM9, ARM10 and Strongarm processors. It consists of compilers, cross toolkits, integrated development environment and debugging interface.
Compiler: C/C++ compiler with high optimization performance.
Cross Tool Chain: Cross development tools. Including assembler, linker, library functions and target code format converter.
MULTI: 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, 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 emulators, and EPI's JEENI JTAFG emulators, etc.; the other type is used for commercial operating systems and operating systems written by users themselves.
ASDT2.5: SDT2.5 is a large development software package provided by ARM, which consists of a C compiler, a link 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-function 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 simulator 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 simulators for ARM processors on the market are EPI's JEENI and MAJIC. The famous German Lauterbach company has a universal JTAG/BDM/ONCE simulator TRACE32-ICD that can also support ARM series processors well. For full-function online simulators, since their signal headers completely replace the CPU on the target board, they are very powerful. However, in order to be able to simulate processors with a clock speed higher than 100MHz at full speed, this type of simulator 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-cost JTAG emulator. It can be well connected with SDT2.5 tools. Users can use its compiler and debugging interface.
MAJIC emulator: Compared with JEENI, MAJIC can be connected to the host via 100base-T Ethernet and supports multiple processors and low-voltage I/O.
TRACE32-ICD: This is a general-purpose 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 troubleshooting capabilities.
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. They only need to purchase the license of ARM7 core from ARM to start production. Currently, the commonly used ARM7 chips include AT91M40400 of tmel, CL-PS7500FE/EP7211 of Cirrus Logic, GMS30C7201 of Hyundai, L7200 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 cores are the same, so they are the same in software programming and debugging.
Among various commercial RTOS (real-time multi-tasking operating systems), Nucleus PLUS real-time multi-tasking operating system is a source code OS, 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 web browser. Many well-known domestic companies have selected Nucleus to implement PDA, STB, DVD, POS, GPS, mobile phones and smart terminals on the arm platform.
5. 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
*Emulator: JENNI / TRACE32-ICD
On this platform, we chose ATI's NUCLEUS operating system and the corresponding file system, graphics software package, network module and browser to implement the various functions of the PDA. Now most of the software porting work has been completed: the MUCLEUS kernel, file system, graphics software package, TCP/IP network module (using PPP dial-up Internet access) and the drivers of various on-chip devices, and the browser porting is also about to be completed.
Previous article:Design of I2C communication between ARM/DSP and other machines based on Linux operating system
Next article:Transplantation and Implementation of uC/OS-II on ARM System
- Popular Resources
- Popular amplifiers
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- 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
- Huawei's Strategic Department Director Gai Gang: The cumulative installed base of open source Euler operating system exceeds 10 million sets
- Download from the Internet--ARM Getting Started Notes
- Learn ARM development(22)
- Learn ARM development(21)
- Learn ARM development(20)
- 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
- [Summary] DCExpert takes you to the "full stack" hands-on: rechargeable touch-controlled creative LED lamp based on ESP8266
- UWB (Ultra-Wideband)
- 【Perf-V Evaluation】+Test of serial communication function
- After a busy year, I finally have a holiday.
- How to ensure high accuracy of measurement results due to nonlinear changes in NTC resistors
- How to solve the motor efficiency and temperature rise problems caused by motor controllers
- MY-8188EUS Linux-3.14.52 Test
- MSP430 MCU Development Record (12)
- [The answer has been announced] "I draw and you guess" and become a happy big kid!
- How to find the pspise simulation model of pt1000 thermistor? ? Help!!