I. Overview
CurrentlyAndroid3.0 system standardization process to solve the existing defects and problems of the new systemARMWe will discuss the issue of ARM architecture product standardization. Next we will talk about ARM. The development tools of ARM application software depend on different functions, software compilation, assembly software, link software, debugging software, embedded real-time operating system, function library, evaluation board, JTAG simulator, online simulator, etc, at present, more than 40 companies in the world provide products of different categories.
When using an ARM processor to develop an embedded system, you can select an appropriate development tool to speed up development and save development costs. Therefore, an integrated development environment IDE that includes editing software, compiling software, compiling software, linking software, debugging software, engineering management, and function libraries is generally indispensable, other development tools such as embedded real-time operating systems and evaluation boards can be selected based on the application software scale and development plan.
You can use an integrated development environment to develop ARM-based application software, including editing, compilation, compilation, and linking on a PC, debugging must be completed with other modules or products. Currently, the following common debugging methods are available:
1. Instruction Set Simulator
Some integrated development environments provide instruction set simulators, which allow you to complete some simple debugging work on a PC. However, because the instruction set simulators differ greatly from the real hardware environment, therefore, even if the user uses the instruction set simulator to debug the program, it may not be able to run in a real hardware environment. The user must complete the development of the entire application on the hardware platform.
2. Resident monitoring software
Resident monitoring software Resident Monitors is a program running on the target board. debugging software in the integrated development environment interacts with Resident monitoring software through Ethernet ports, parallel ports, serial ports, and other communication ports, the software control program execution, read/write memory, read/write registers, and breakpoint settings are monitored by the Software Release command notification of the debugging software.
Resident monitoring software is a relatively low-cost and effective debugging method, without any other hardware debugging and simulation equipment. ARM's Angel is such software, and most embedded real-time operating systems also use such software for debugging. The difference is that in embedded real-time operating systems, resident monitoring software is a task of the operating system.
The inconvenience of resident monitoring software lies in its high requirement on hardware devices. Generally, application software development can be carried out after the hardware is stable, and it occupies part of the resources on the target board, in addition, the full-speed running of the program cannot be fully simulated, so it is not suitable for some situations with strict requirements.
3. JTAG Simulator
The JTAG simulator, also known as the JTAG debugger, is a device that is debugged through the JTAG border scanning port of the ARM chip. JTAG simulators are relatively cheap and easy to connect. It communicates with the arm cpu core through the existing JTAG boundary scanning port and is completely non-plug-in (that is, it does not use on-chip resources) debugging, it does not need the target memory and does not occupy any ports of the target system. These are necessary for resident monitoring software. In addition, because the target program for JTAG debugging is executed on the target board and the simulation is closer to the target hardware, many interface problems, such as high-frequency operation restrictions and mismatch of AC and DC parameters, the limit on the length of the wire is minimized. Using the integrated development environment and the JTAG Simulator for Development is currently the most widely used debugging method.
4. Online Simulators
The online simulator uses the simulation header to completely replace the CPU on the target board. It can fully simulate the behavior of the ARM chip and provide more in-depth debugging functions. However, in order to be able to simulate a processor with a clock speed higher than MHz at full speed, such simulators usually have to adopt extremely complex design and technology, so they are expensive. Online simulators are usually used in ARM hardware development and are rarely used in software development. The high price is also a factor that is difficult to popularize online simulators.
In the following chapters, we have selected five integrated development environments: arm sdt, arm ads, MULTI 2000, Hitools for ARM, and Embest IDE for ARM to give readers a brief introduction, these products have relatively smooth sales channels in China and are easy to purchase. The first three are produced by foreign manufacturers, which have a long history and are widely used in the world. The last two are launched by domestic manufacturers and are cost-effective. In addition, two popular JTAG simulators on the international market are selected: The JEENI of EPI and the Multi-ICE of ARM.
Ii. ARM SDT
ARM Software Development Kit (www.arm.com) is a complete set of integrated Development tools launched by ARM corporation (www.arm.com) to help users develop application Software on ARM chips. Arm sdt is maintained and updated year by ARM. The latest version is 2.5.2. However, starting with version 2.5.1, ARM announced the release of a new integrated development tool, arm ads 1.0, the new version of arm sdt will not be seen in the future.
Given the moderate price and long-term promotion and popularization, arm sdt currently has the widest range of ARM software development users, it is also integrated into its own products by third-party development tool partners of a considerable number of ARM companies, such as the JEENI simulator of the American company EPI.
The description of arm sdt below arm sdt is based on version 2.50) can be run on Windows95, 98, NT and Solaris 2.5/2.6, HP-UX 10, support up to arm9-containing ARM9) the development of all ARM processor chips, including StrongARM.
Arm sdt includes a complete set of application software development tools:
Äarmcc ARM's C compiler is optimized and compatible with ansi c.
Ätcc THUMB's C compiler is also optimized and compatible with ansi c.
Äarmasm supports ARM and THUMB assembler.
The äarmlink ARM connector connects one or more target files to generate executable image files in ELF format.
Äarmsd ARM and THUMB symbol debugger.
The above tools are both integrated into the SDT's two Windows development tools, ADW and APM. You do not need to directly use the command line tool.
Äapm Application Project Manageer, ARM Engineering Manager, full graphical interface, manages source files, completes editing, compilation, linking, and finally generates executable image files. For more information, see.
Äadw Application Debugger Windows, ARM debugging tool, ADW provides a full-window source code-level debugging environment for debugging C, C ++, and assembly source files. Here, you can also perform Assembly command-level debugging, you can also view debugging information such as registers, storage areas, and stacks.
Arm sdt also provides some utilities such as fromELF, armprof, and decaxf, which can convert ELF files into different formats, analyze programs, and parse ARM executable file formats.
Arm sdt integrates a fast Instruction Set Simulator. You can complete some debugging before the hardware completes. arm sdt provides ansi c, C ++, and Embedded C function libraries. All libraries are provided in lib format, each database can be divided into two types: ARM Instruction Set and THUMB instruction set. At the same time, each instruction set can also be divided into big endian at the end of the high byte) and little endian at the end of the low byte.
You can develop applications using arm sdt in combination with Angel resident modules or JTAG simulators. Currently, most JTAG simulators support arm sdt.
The retail price of arm sdt 2.50 is generally between USD 4000 and USD 4500.
Iii. ARM ADS
Arm ads is called ARM Developer Suite in English. It is a new generation of ARM integrated development tools released by ARM. It is used to replace arm sdt, a development tool launched by ARM, currently, the latest version of arm ads is 1.2.
Arm ads originated from arm sdt and enhanced some SDT modules and replaced some SDT components, one of the strongest changes that users can feel is that ADS uses CodeWarrior IDE's integrated development environment to replace SDT's APM and uses AXD to replace ADW, some basic features of the modern integrated development environment, such as source file editor syntax highlighting and window resident, are only reflected in ADS.
Arm ads supports all ARM series Processors including the latest ARM9E and ARM10. In addition to operating systems supported by arm sdt, it can also run on Windows2000/Me and RedHat Linux.
Arm ads consists of six parts:
Äcode Generation Tools)
The code generation tool consists of source program compilation, assembly, and link tool set. ARM has specially optimized each structure of the ARM Series. In addition to ARM companies that are the designers of ARM structures, ARM companies cannot do this. ARM claims that, the final executable files generated by its code generation tool can be up to 20% smaller than those generated by other company tool suites.
Äintegrated Development Environment CodeWarrior IDE from Metrowerks)
CodeWarrior IDE is a well-known integrated development environment of Metrowerks. Many vendors integrate it into their own products as interface tools. CodeWarrior IDE includes the Engineering Manager, code generation interface, syntax-sensitive Editor, source file and class browser, source code version control system interface, text search engine, etc. Its functions are similar to Visual Studio, however, the interface style is quite unique. ADS only integrates this IDE in its PC version.
Ädebugger Debuggers)
The Debugger includes two debuggers: the ARM extension debugger AXDARM eXtended Debugger) and the ARM symbol debugger armsdARM symbolic Debugger ).
Based on the Windows9X/NT style, AXD has all the functions of the debugger in a general sense, including simple and complex breakpoint settings, stack display, register and storage area display, and command line interface.
Armsd can be used as a command line tool for debugging or on other operating system platforms.
Äinstruction Set simulator Instruction Set Simulators)
You can use the instruction set simulator to complete some debugging on your PC without any hardware.
Äarm Development Kit ARM Firmware Suite)
The ARM Development Kit consists of some underlying routines and libraries to help you quickly develop ARM-based applications and operating systems. Including the system startup code, serial port drivers, clock routines, and interrupt processing programs. The Angel debugging software is also included.
Äarm application Library)
The ARM application library of ADS improves and enhances the function libraries in SDT, and also includes some useful routines that provide source code.
The development of applications using arm ads is exactly the same as that using arm sdt. It also works with the Angel resident module or JTAG simulator. Currently, most JTAG simulators support arm ads.
The retail price of arm ads is USD 5500. If you use an unfixed license, you need $6500.
Iv. Multi 2000
Multi 2000 is an integrated development environment developed by Green Hills software company (www.ghs.com). It supports the development and debugging of C/C ++/Embedded C ++/Ada 95/Fortran programming languages, it can run on Windows and Unix platforms and supports remote debugging of various devices.
Multi 2000 supports various compilers of Green Hills and other EABI-compliant compilers. At the same time, Multi 2000 supports many popular 16-bit, 32-bit and 64-bit processors and DSPs, such as PowerPC, ARM, MIPS, x86, iSCSI, TriCore, SH-DSP and so on, and support multi-processor debugging.
Multi 2000 contains all the tools required to complete a software project, which can be used independently or integrated with third-party system tools. Shows the interaction between modules and application systems of Multi 2000:
L Project builder)
The project generation tool centrally manages project source files, target files, library files, and subitems, displays program structures, detects file dependencies, and provides a graphic setting window for compilation and linking, you can also set specific environments for programming languages.
L Source code Debugger Source-Level Debugger)
The source code debugger provides a powerful window debugging environment for program loading, execution, operation control, and monitoring. It supports the display and debugging of various languages and observes various debugging information.
Event analyzer)
The event analyzer provides a configurable graphical interface for users to observe and track the running of various application systems and RTOS events. It can be transplanted to many third-party tools or integrated into real-time operating systems, time-based measurement is also provided for the following events: task context switching, semaphore acquisition/release, interruption and exception, message sending/acceptance, and user-defined events.
Performance Profiler)
The performance profiling tool analyzes the code running time and displays the results based on tables or graphs, effectively helping you optimize the code.
Run-Time Error Checking)
The real-time running error check tool provides real-time detection of program running errors, which has only a slight impact on the program code size and running speed, and has the memory leak detection function.
Graphical browser Graphical Brower)
The graphical browser separately displays system units such as classes, structure variables, and global variables in the program, and displays static function call relationships and dynamic function call tables.
L Text Editor)
The Multi 2000 text editor is a user-configurable graphical text editing tool with rich features. It provides auxiliary functions such as keyword highlighting and automatic alignment.
Version Control System)
The version control tool of Multi 2000 is closely integrated with the Multi 2000 environment and provides the function for Multi-user joint development of application projects. The Multi 2000 version control tool supports many popular version control programs through configuration, such as ClearCase of Rational.
V. Embest IDE
Embest IDE is short for Embest Integrated Development Environment. It is a new generation Integrated Development Environment for Embedded Software Development launched by Shenzhen intime Information Technology Co., Ltd. (www.embedinfo.com.
Embest IDE is a highly integrated graphic interface operating environment that includes editors, compilers, compilers, connectors, debuggers, and other tools. Its interface is similar to Microsoft Visual Studio (SEE ). Embest IDE supports ARM, Motorola, and other companies with different series of processors. For ARM series Processors, it currently supports the arm9-series, including the ARM7, ARM5, and other low series chips.
Embest IDE runs in Windows 95/98/NT/Me/2000 and supports Standard C, Embedded C, and assembly languages.
Embest IDE includes the editor, compiler, connector, debugger, engineering manager, and other functional modules. You can also select the Embest JTAG simulator. All Embest IDE modules related to processors and debugging devices use plug-and-play methods to manage multiple application software and library projects in the same workspace, different processors and Simulators can be configured for each project. Users can seamlessly switch between projects.
Embest IDE features:
Project Manager: A graphical engineering management tool that organizes and manages the files of application source programs, and provides the setting Windows for compiling, linking, and library files.
Source code editor: supports standard text editing, including syntax keywords and keyword color display.
Compilation tool: integrates the GCC compiler of the famous Free Software GNU, and has been optimized and strictly tested.
Debugger: source code-level debugging. It provides two debugging methods: graphical and Command Line Debugging, including breakpoint settings, single-step execution, and Exception Handling. You can view and modify memory, registers, and variables, you can view function stacks and perform disassembly.
Debugging device: Embest JTAG simulator. One end is a DB25 interface, connected to the parallel port of the host, and the other end is the IDC plug, connected to the JTAG interface of the target board.
Online Help: online help documentation for Chinese and English versions.
You can use Embest IDE and Embest JTAG simulator to develop application software. Embest IDE also supports common Jtag Cable lines at home and abroad.
The retail price of Embest IDE is 9600 RMB (including the Embest JTAG simulator ).
6. Hitool for ARM
By Hitool International Inc. (www.hitoolsys.com) is a new ARM embedded application software development system, mainly including Hitool ARM Debugger and GNU Compiler built-in) JTAG cable, evaluation board, and embedded real-time operating system ThreadX. The Compiler module can be replaced with arm ads Compiler or arm sdt Compiler.
Its main features are as follows:
1) similar to the debugging interface style of MS Visual Studio, it can be run in Win98, ME, NT, and other Win32 environments;
2) Excellent Engineering Manager, source code and binary code editor, string search engine, and free drag-and-drop debugging target functions;
3) support Compilation, C, and C ++ source code-level debugging, not only through the serial port and parallel port for local debugging, but also through TCP/IP for remote debugging;
4) integrates Memory download tools in S-Record, Binary, and Disassembly formats, and Flash programming tools;
5) supports a variety of commonly used Jtag Cable, and supports automatic debugging through macros and scripts.
For more information about Hitool for ARM, see the appendix and CD attached to this book.
VII. JEENI Simulator
JEENI simulator is a development tool specially used to debug the ARM7 series produced by the American company EPI (www.epitools.com. It is connected to the PC through the Ethernet port or serial port, and to the ARM7 target board through the JTAG port. The simulator uses an independent power supply.
The JEENI simulator supports ARM/THUMB commands and assembly/advanced language debugging. The user application is downloaded to the target RAM using the JEENI simulator. With the JEENI simulator, you can observe/modify the content of the ARM7 registers and memory. You can set breakpoints on the Downloaded Program. You can execute the program in one step in assembly/advanced language, you can also run the program at full speed. You can observe the data structure and content of the advanced language variables and modify the content of the variables online.
JEENI uses an ARM processor with a high-speed cache to quickly respond to debugging operations, such as one step, read/write memory, read/write registers, and downloading applications to the target board. This structure of JEENI allows Ethernet interfaces to access the memory while the processor executes the JTAG command. This design greatly improves the download speed.
The JEENI simulator can be well connected to the SDT2.5 tool. You can use the SDT compiler and debugging interface. JEENI is a plug-and-play alternative for those who are using the ARM BlackICE/EmbeddedICE JTAG interface. JEENI can be used for arm sdt 2.11a or SDT 2.5. In addition, most third-party debuggers also support JEENI.
8. Multi-ICE
Multi-ICE is a JTAG online simulator of ARM. The latest version is version 2.1.
The JTAG chain clock of Multi-ICE can be set to 5 kHz to 10 MHz. Some simple logic for JTAG operations is implemented by FPGA, which minimizes the traffic of parallel ports to improve system performance. Multi-ICE hardware supports up to 1 V of voltage. Multi-ICE 2.1 can also provide external power without consuming the power of the target system. This is important for debugging portable and battery power supply devices such as mobile phones.
Multi-ICE 2. x supports the company's real-time debugging tool MultiTrace, which contains a processor. Therefore, it can track the track before and after the trigger point and debug the foreground task without terminating the background task, changes the memory content when the microprocessor is running, all of which minimizes latency.
Multi-ICE 2. x supports the, ARM9E, ARM 10, and Intel Xscale microstructure series. It is connected through the TAP controller and provides on-chip debugging of multiple ARM processors and hybrid structure chips. It also supports low-frequency or frequency conversion design, debugging of ultra-low-voltage cores, and real-time debugging.
Multi-ICE provides drivers that support Windows NT4.0, Windows 95/98/2000/Me, HPUX 10.20, and Solaris V2.6/7.0.
Main advantages of Multi-ICE:
Fast download and single-step speed.
User-controlled input/output bits.
Programmable JTAG bit transfer rate.
Open interfaces allow debugging of non-ARM cores or DSPs.
The network is connected to multiple debuggers.
Target Board power supply, or external power supply.
Use of Alarm in Android
Uploaded to Google to build the Android-ARM standardized platform
The message says Apple iPhone and iPad will use ARM Processors
Android + ARM combo Computex2009 shine
ARM predicts that its mobile PC market share will reach 2015 in 50%
Intel CEO autonine: will not produce ARM-based mobile chips