Summary of ARM development tools

ARM software development tools according to different functions, respectively, build the software, compiling the software, link software, debugging software, embedded real time operating system, libraries, evaluation board, JTAG emulator, online simulators, at present, around the world more than forty companies offer different types of products.
Users to choose an embedded ARM processor development system, choose the right development tools can speed up development, and save development costs. So a set containing the editing software, compiler software, compilation of software, links, software, debugging software, project management and integrated development environment libraries (IDE) in general is essential, as embedded real-time operating system, evaluation boards, etc. Other application development tools you can use the software size and development plans.
Use integrated development environment to develop ARM-based applications, including editing, compile, assemble, link, etc. all in the PC, to complete, and commissioning work is required in conjunction with other modules or products to be completed, the current testing method has the following common categories:
1, the instruction set simulator
Part of the integrated development environment provides the instruction set simulator, can be easily done on the user PC, part of the commissioning of a simple, but due to instruction set simulator and real hardware environment very different, so even if the user instruction set simulator debugging by using the procedures may not be in a real hardware environment to run, users will eventually have to complete the entire hardware platform application development.
2, the presence of monitoring software
Presence of monitoring software (Resident Monitors) is a program running on the target board, integrated debugging software development environment through an Ethernet port, parallel port, serial ports and other communication port to interact with the presence of monitoring software, the debugging issued an order notification software control program resides on the implementation of monitoring software, read and write memory, read and write registers, set breakpoints and so on.
Presence of monitoring software is a relatively cheap and effective way of debugging, do not need any other hardware debugging and simulation equipment. ARM's Angel is the type of software, most embedded real-time operating system is the use of such software debugging, the difference is in the embedded real-time operating system, the presence of monitoring software is a task as the operating system exists.
Presence of monitoring software is its inconvenience hardware requirements are relatively high, generally carried out only after the hardware stable development of application software, and it takes some of the resources on the target and can not run at full speed on the program full simulation Therefore, some critical situation is not very suitable.
3, JTAG Emulator
JTAG emulator, also known as JTAG debugger, through the ARM chip JTAG boundary scan debug port equipment. JTAG emulator cheaper, more convenient connections through the existing JTAG boundary scan port and the ARM CPU core communication, is completely non-intrusive (ie, not using on-chip resources) debugging, it does not require the target memory, do not take up any port of the target system , which is required for resident monitoring software. In addition, the JTAG debug the target program is the implementation on the target board, the simulation closer to the target hardware, so a lot of interface issues, such as high-frequency limits of operation, AC and DC parameters do not match, wire length restrictions are minimized . Use integrated development environment with JTAG emulator for development is the most widely used debug mode.
4-Circuit Emulator
Online Simulation uses simulation completely replace the target board header CPU, you can complete simulation of the behavior of ARM chip, providing more in-depth debugging. However, such simulators to be able to clock faster than 100MHz full simulation of the processor, usually have to use extremely complex design and technology, so its price is more expensive. Line is usually used in the ARM emulator hardware development, software development in the less used, and their high cost is also difficult to popular online emulator factors.
In the following sections, we selected the ARM SDT, ARM ADS, MULTI 2000, Hitools for ARM, Embest IDE for ARM five integrated development environment for the reader a brief introduction, these products are relatively smooth in domestic sales channels user can easily buy. The first three produced by foreign manufacturers, relatively long history in the world, is widely used within the latter two launched by the domestic manufacturers, with a high price. Also selected for the more popular on the international market, the two JTAG emulator: EPI's JEENI and ARM's Multi-ICE.
Second, ARM SDT
ARM SDT's English name is ARM Software Development Kit, is the ARM Corporation ( as a user on the ARM chip, application development and launch of a complete set of integrated development tools. ARM, ARM SDT year after the maintenance and updating, the current latest version is 2.5.2, but version 2.5.1 starting, ARM announced the launch of a new set of integrated development tools for ARM ADS 1.0, ARM SDT taken and replaced, the future will no longer see a new version of ARM SDT.
ARM SDT because the price is moderate, while the promotion and popularization through a long, now has the most extensive ARM software development user groups, has also been a considerable number of ARM's partners, third-party development tools integrated in their products, such as the U.S. EPI Corporation The JEENI simulator.
ARM SDT (the following description on the ARM SDT version 2.50 are based on an object) can Windows95, 98, NT and Solaris 2.5/2.6, HP-UX 10 on the run, support up to ARM9 (including ARM9) all ARM processors chip development, including the StrongARM.
ARM SDT includes a complete set of application software development tools:
? Armcc ARM's C compiler with optimization, compatible with ANSI C.
? Tcc THUMB's C compiler, with the same optimization, compatible with ANSI C.
? Armasm support for ARM and THUMB assembler.
? Armlink ARM connector, one or more object files, the resulting executable ELF image file format.
? Armsd ARM and THUMB symbolic debugger.
These tools for the command-line development tools, the two are integrated in the SDT ADW and APM Windows development tools, users do not need to directly use the command-line tool.
? APM Application Project Manageer, ARM Project Manager, fully graphical interface, responsible for managing the source file, complete edit, compile, link and ultimately produce an executable image file and other functions, see below.
? ADW Application Debugger Windows, ARM debug tools, ADW provides a debugging C, C + + and assembler source files in the full window source-level debugging environment, where you can perform assembly instruction-level debugging, and can view the register, store, stack, etc. debugging information.

ARM SDT also provides utilities, such as fromELF, armprof, decaxf etc., can be ELF files into different formats, perform analysis, and analytical procedures ARM executable file format.
ARM SDT integrated fast instruction set simulator, the user can debug the hardware part of the work done to complete; ARM SDT provides ANSI C, C + +, Embedded C library, all libraries are provided in the form lib, each library is divided into the ARM instruction set and THUMB instruction sets of two, while in the instruction set is also divided into high byte at the end (big endian) and the low byte at the end (little endian) two.
Users to develop applications using the ARM SDT Angel resides with the module or the optional JTAG emulator for the majority of the JTAG emulator support the ARM SDT.
ARM SDT 2.50 retail price is generally $ 4,000 to $ 4,500.
Third, ARM ADS
English full name ARM ADS ARM Developer Suite, is a new generation of ARM ARM has introduced an integrated development tools, to replace the ARM development tools company previously announced ARM SDT, ARM ADS is currently the latest version is 1.2.
ARM ADS originated in the ARM SDT, SDT's module for some and replace some of the enhanced component of SDT, the user can feel the change is the most powerful ADS CodeWarrior IDE integrated development environment using the alternative the SDT's APM, use the AXD replacement the ADW, modern integrated development environment of some basic features such as syntax highlighting source editor, windows, and other functions reside only be reflected in the ADS.
ARM ADS supports all ARM family of processors including the latest ARM9E and ARM10, ARM SDT support in addition to running the operating system and the outside can also Windows2000/Me run on RedHat Linux.
ARM ADS consists of six parts:
? Code generation tool (Code Generation Tools)
Compile the source code generation tools, assembly, composed of linked tools. ARM, ARM series for each structure is optimized for the special, which is in addition to the structure as a designer ARM ARM companies, other companies can not do, ARM company claims its code generation tool generates the final executable file can generate than other companies, the paper kit is 20%.
? Integrated development environment (CodeWarrior IDE from Metrowerks)
Metrowerks CodeWarrior IDE is a relatively well-known company integrated development environment, many companies will be integrated as interface tools in their products. CodeWarrior IDE includes project management, code generation interface, syntax-sensitive editor, source and class browser, source code version control system interface, text search engines, similar to its function with Visual Studio, but the interface style unique. ADS only version of its integrated PC, the IDE.

? Debugger (Debuggers)
Debugger debugger consists of two parts: ARM Extended Debugger AXD (ARM eXtended Debugger), ARM Symbolic Debugger armsd (ARM symbolic debugger).
AXD based Windows9X/NT style, with a general sense all the features of the debugger, including simple and complex breakpoints set, the stack display, register, and store display, command line interface.
Armsd as a command-line tools help debugging or used in other operating system platforms.

? Instruction set simulator (Instruction Set Simulators)
Users do not need any hardware instruction set simulator can be done on the PC, as part of debugging.
? ARM Development Kit (ARM Firmware Suite)
ARM development kit by some of the underlying routines and libraries to help users quickly develop ARM-based applications and operating systems. Specifically including boot code, serial port driver, the clock routine, interrupt handling procedures, Angel debugging software is also included.
? ARM Application Library (ARM Applications Library)
The ARM ADS application libraries improve and enhance the SDT in the library, but also includes some very useful routine source code provided.
Users to develop applications using the ARM ADS and ARM SDT uses exactly the same, the same choice resides with the Angel JTAG emulator module, or the majority of the JTAG emulator support the ARM ADS.
ARM ADS retail for $ 5,500, if the choice is not fixed the way you need $ 6,500 license.
IV, Multi 2000
Multi 2000 Green Hills Software, Inc. in the United States ( the development of integrated development environment that supports C / C + + / Embedded C + + / Ada 95/Fortran programming language development and debugging, can run on Windows platforms and Unix platforms, and various types of equipment to support remote debugging.
Support the Green Hills Multi 2000 compiler and the company's various other compiler follows the EABI standard, while Multi 2000 supports many popular 16-bit, 32-bit and 64-bit processors and DSP, such as the PowerPC, ARM, MIPS, x86, Sparc , TriCore, SH-DSP, and support multi-processor debugging.
Multi 2000 to complete a software project contains all the tools needed, these tools can be used alone or integrated third-party system tools. Multi 2000, and the relationship between the modules and application systems interact as shown below:

l Engineering generation tool (Project Builer)
Project generation tool to achieve the project source files, object files, libraries, and sub-unified management, display the program structure, test file interdependencies, provide compile and link the graphics settings window, and on the programming language designed for specific environments set.

l the source code debugger (Source-Level Debugger)
Source code debugger provides program loading, execution, control and monitoring needed to run a powerful debugging environment window to support the display of various languages ​​and debugging, and can observe the various types of debugging information.

l Event Analyzer (EventAnalyzer)
Event Analyzer provides the user to observe and track various types of applications running and RTOS events configurable graphical interface, it can be ported to many third-party tools or integrated into real-time operating system, and these events provide time-based measurements: task context switch, semaphore access / release, interrupt and exception, the message send / receive, user-defined events.

l performance profiler (Performance Profiler)
Performance Analysis provides analysis of the running time of the code, you can display the results on tables or graphics, effectively help users optimize the code.

l run-time error checking tool (Run-Time Error Checking)
Run-time error checking tool provides real-time run error detection, the program code size and speed only a minimal impact, and has a memory leak detection.
l graphical browser (Graphical Brower)
Graphical browser, the program provides a class, structure variables, global variables, a separate display system unit and display the function calls between the static and dynamic function call table.

l text editor (Text Editor)
Multi 2000's text editor is a feature-rich graphical user-configurable text editing tool that provides keyword highlighting, automatic alignment and other auxiliary functions.
l version control tools (Version Control System)
Multi 2000 version control tools and the environment closely integrated Multi 2000, providing application engineering to develop multi-user functionality. Multi 2000 version control tool configured to support many of the popular version control program, such as Rational's ClearCase and so on.
V., Embest IDE
Embest IDE English name is Embest Integrated Development Environment, Shenzhen City, Embest Information Technology Co., Ltd. ( introduced a new generation of embedded software development applied to an integrated development environment.
Embest IDE is a highly integrated graphical operating environment, including the editor, compiler, assembler, linker, debugger and other tools, and its interface with the Microsoft Visual Studio like (see below). Embest IDE support for ARM, Motorola and other companies in different series of processors, the ARM family of processors, now supports the ARM9 family, including the ARM7, ARM5 low-series chips.

Embest IDE running on the host environment Windows95/98/NT/Me/2000, to support the development of language, including standard C, Embedded C and assembly language.
Embest IDE includes editor, compiler, linker, debugger, project manager and other functional modules, the user at the same time matching Embest JTAG emulator. Embest IDE and debug of all equipment associated with the processor module uses plug and play approach can work in the same area to manage multiple applications and database engineering, the project can be configured with different processors and simulators, the user can switch seamlessly in various projects.
Embest IDE main features:
l Project Manager: graphical project management tool, responsible for the application source file organization and management, providing compile, link, library settings window.
l Source Editor: standard text editing features, support for grammar keywords, color display.
l compilation tools: Integrated known good free software GNU's GCC compiler and optimized and rigorously tested.
l debugger: source-level debugger, provides a graphical and a command line in debug mode can be set breakpoints, single stepping, exception handling, you can see to modify memory, registers, variables, etc., can view the function stack, can be counter- assembly and so on.
l debugging equipment: Embest JTAG emulator, one end is a DB25 interface, connected to the host's parallel port, IDC plug the other end is connected to the target board's JTAG interface.
l Online Help: Chinese and English versions on-line help documentation.
Users can use the Embest IDE Embest JTAG emulator with the development of application software, Embest IDE also supports a number of domestic and foreign common Jtag Cable line.
Embest IDE retail price of 9,600 yuan (including Embest JTAG Emulator).
VI, Hitool for ARM
By the Hitool International Inc. ( produced, is a relatively new ARM embedded application software development system, including Hitool ARM Debugger, GNU Compiler (built), JTAG cable, and embedded real-time evaluation board ThreadX operating system, and so on. The compiler module which can replace ARM ADS Compiler, or ARM SDT Compiler.
Its main features are as follows:
1) similar to MS Visual Studio's debugging interface style, and many in the Win98/ME/NT run under Win32;
2) excellent project manager, source code and binary code editor, and debugging target string search engine features such as the free drop;
3) support assembly, C and C + + source-level debugger, not only through the serial port and parallel port for local debugging, you can also TCP / IP for remote debugging;
4) integration of the S-Record, Binary, and Disassembly format, download the tool of memory, Flash programming tools;
5) support a variety of commonly used Jtag Cable, have achieved through the automation of the macro and script debugging.
For more information Hitool for ARM and the book comes with CD-ROM appendix.
VII, JEENI emulator
JEENI emulator EPI Corporation in the United States ( produced specifically for debugging development tools for ARM7 family. Between it and the PC connected via Ethernet or serial port, and between the ARM7 target through JTAG port connection. The simulation uses an independent power supply.
JEENI emulator supports ARM / THUMB instruction, support assembly / high-level language debugging. User application via JEENI emulator download to the target RAM. By JEENI emulator, the user can observe / modify registers and memory ARM7 content, users can download the program by setting breakpoints on, the user can compile / single-step high-level language program, you can run the program at full speed, the user can Observation of high-level language data structure and content of the variable content and variable line changes.
JEENI internal use of an ARM processor with cache, support for debugging operation rapid response, such as: single-step, read and write memory, read-write register and download the application to the target board. JEENI of this structure, the Ethernet interface allows the implementation of JTAG instructions while the processor to access memory. This design greatly improves the download speed.
JEENI emulator can connect well with SDT2.5 tool, users can use the SDT compiler and debug interface. JEENI for those who are using ARM BlackICE / EmbeddedICE JTAG interface, the user is plug and play replacement. JEENI for ARM SDT 2.11a or SDT 2.5, the majority of other third-party debugger support JEENI.
Multi-ICE is a JTAG ARM's own online simulator, the current latest version is 2.1.
Multi-ICE JTAG chain, the clock can be set to 5 kHz to 10 MHz, to achieve some simple logic JTAG operations realized by the FPGA, making the minimum parallel port traffic to improve system performance. Multi-ICE hardware support voltage as low as 1V. Multi-ICE 2.1 can also be an external power supply, without the power consumption of the target system, which is similar to mobile phones and other portable debugging, battery-powered equipment is very important.
Multi-ICE 2.x support the company's real-time debugging tools MultiTrace, MultiTrace includes a processor, so you can track the trajectory before and after the trigger point, and can not terminate the background task while on the foreground task to debug, run in the microprocessor Time to change the contents of memory, all of these features to minimize the delay.
Multi-ICE 2.x supports ARM7, ARM9, ARM9E, ARM 10, and Intel Xscale micro-structure series. It is through the TAP controller in series to provide multiple ARM processors and chip-chip hybrid structure debugging. It also supports ultra low frequency or low frequency of nuclear design and debug, and support real-time debugging.
Multi-ICE supports Windows NT4.0, Windows95 / 98/2000/Me, HPUX 10.20 and Solaris V2.6/7.0 drivers.
The main advantage of Multi-ICE:
l fast download speed and single step.
l user-controlled input / output bit.
l Programmable JTAG bit transfer rate.
l open interface that allows debugging of nuclear or non-ARM DSP.
l network connected to multiple debugger.
l target board power supply, or external power supply.