Crossware, a leading embedded software tools developer, has enhanced its ARM(R) Development Suite by adding support for the Atmel SAM7 ARM-based microcontrollers. The Atmel SAM7 chips, based upon the ARM7TDMI processor core, feature a wide range of on-chip peripherals including timers, universal synchronous / asynchronous receiver / transmitters (USARTs), serial peripheral interface (SPI), synchronous serial controller (SSC), pulse width modulator (PWM), controller area network controller (CAN), an Ethernet controller and an analogue to digital converter.
The Crossware enhancements allow developers to rapidly exploit the advanced features of these chips by providing a combination of wizards, simulation, debugging, compiler extensions and pre-configuration. This allows the developer to immediately take advantage of the advanced C/C++ compiler and other tool chain components and simplifies the otherwise complex task of setting up an ARM chip. This helps accelerate the development process and significantly reduces new product time-to-market.
Writing embedded software in C++, rather than in C, also significantly aids the development process and makes the final program much easier to understand and to enhance. For example, Crossware’s engineers have just developed firmware for the AT91SAM7X256 Flash microcontroller to control an imaging system and have written a C++ class to control the USB interface and another for the imaging sensor, and two instances of a stepper motor class to control movement of the sensor in the X and Y directions. Crossware also used Code Creation Wizards to insert configuration code directly into the constructors of the various classes to make them self-configuring.
Crossware’s comprehensive set of Code Creation Wizards are provided for all on-chip peripherals and are able to generate configuration code, interrupt routines and, for the USARTs, complete I/O handlers. The simulator simulates the ARM core itself as well as many of the SAM7 on-chip peripherals including the advanced interrupt controller (AIC) and the peripheral DMA controller (PDC). This allows a developer to use the simulator to immediately test the code created using the wizards. The simulator can also be extended using the Virtual Workshop Interface allowing developers to construct a simulation of their complete target system.
‘Virtual Components’ have now been introduced to take advantage of this Virtual Workshop Interface allowing the developer to extend the simulator without any additional coding being required. These pre-written simulator extensions can be rapidly integrated into the development environment and configured to customise their interaction with the simulating microcontroller. At its simplest a component might just toggle a digital input to a SAM7 peripheral. A more complex component might be a multi-line dot matrix character display together with its display controller. In either case, a graphical user interface would allow the developer to choose which pins of the simulating ARM chip it is connected to.
The Crossware Jaguar USB JTAG interface facilitates on-chip debugging. This connects to the standard ARM 20-pin JTAG connector allowing the Crossware source level debugger to drive the on-chip ARM embedded in-circuit emulator (EmbeddedICE) logic. The Crossware debugger together with the Jaguar interface can program the entire 256k flash memory memory of an Atmel AT91SAM7X256 in less than 6 seconds.
With its advanced C/C++ compiler, libraries, wizards, simulator and debugger, the Crossware ARM Development Suite provides a complete and extremely user friendly development environment for the ARM family of microprocessor cores.
Crossware is a leading developer of programmer-friendly C cross compilers and other development tools for embedded systems based on the 8051, ColdFire, ARM, 68000, CPU32 and other chip families. Host environments include Windows 9x, Windows NT, Windows 2000 and Windows XP. The company, founded by Alan Harry in 1984, is headquartered in the UK at Litlington on the outskirts of Cambridge. Crossware’s products are used throughout the world by professional developers, educational establishments and hobbyists.