Atmel has been turning out development kits for ages. The latest is the AT91SAM9261-EK, based on the 180-MHz 200-MIPS AT91SAM9261 (Fig. 1) microcontroller. It comes in a compact 15- × 15-mm, 217-ball LBGA. It contains up to 128 Kbytes of ROM and 160 Kbytes of SRAM. It supports external SRAM and SDRAM, and offers glueless support for NAND flash, CompactFlash, and SmartMedia. The ROM allows booting from a range of peripheral memory. This allows the chip to be used with some powerful but lightweight multimedia solutions.
The AT91SAM9261 is based on the ARM926EJ-S, which supports the Thumb instruction set with DSP extensions and Jazelle for Java hardware acceleration. It has 16-Kbyte caches for instructions and data. Its memory management unit (MMU) can handle high-end embedded operating systems like Windows CE and Linux. Internally, the system is based on a bus matrix with up to 5 masters and 5 slaves.
The chip can use the on-chip 20-MHz oscillator, which is cranked up to higher speeds using two PLLs (phase-locked loops). Applications that are timing critical can utilize off-chip crystals or clocks. A low-power, realtime clock with independent battery backup is also available. The chip supports sophisticated clock and power management with programmable shutdown and wake-up circuitry.
The AT91SAM9261 incorporates the best ARM debug support. This includes a mid-level Implementation Embedded Trace Macrocell (ETM). It is possible to program the system using JTAG and via USB.
The most noticeable peripheral will be the LCD display linked to the built-in LCD controller. It supports passive and active displays. It can handle up to 16 bits/pixel in STN mode and 24 bits/pixel in TFT mode. The latter resolution may be as high as 2048 by 2048 pixels.
The Full Speed USB 2.0 support includes two host ports and one device port. Both types incorporate on-chip transceivers, minimizing system chip count. The chip also has three Synchronous Serial Controllers (SSC) and three USARTS with support for ISO7816 T0/T1 Smart Cards, RS485, IrDA and all modem control lines. There is a pair of Master/Slave Serial Peripheral Interface (SPI) ports and a Two Wire Interface (TWI), also known as I2C. The 3-channel, 16-bit timer/counter can deliver a range of PWM services. The three 32-bit GPIO ports provide access to 96 IO lines with individual drive and pull-up resistor control.
The Ethernet interface on the development board is provided by an external chip.
AT91SAM9261 Development Board
The development board (Fig. 2) has the AT91SAM9261, of course, but it adds 64 Mbytes of SDRAM, 256 Mbytes of NAND Flash, and an Atmel 32-Mbit serial DataFlash. Either Flash can be used as a boot device. As noted earlier, the board adds an Ethernet 100-base TX port under the LCD (Fig. 3). Audio support is augmented with an Atmel AT73C213 Audio DAC. The display is a backlit, 3.5-in., 1/4 VGA TFT LCD module with touchscreen support.
The USB interfaces and some serial interfaces are brought out the top of the board (Fig. 4). The board has a number of small development areas and there are a number of buttons, LEDs and jumpers that can be used for application purposes, including a reset and wake-up pushbutton that can be handy in some applications. These are all invaluable for development purposes. Headers can be soldered to the center of the board to provide off-board expansion if necessary.
There is a removable SD/MMC flash card connector on the bottom of the board under the LCD. A 12-mm lithium-ion battery supports the realtime clock. There is no area for an on-board battery for the system, but you could always Vecro one under the board to provide portability. You know the board can be used for portable applications when the box it comes in has more space for the cables than the board itself.
It's The Software Stupid
I really liked Atmel's support CD. The CD is designed to handle the range of Atmel ARM processors and development kits. It boots up in a web browser. The interface is dynamic and has links to CD and web-based files. The CD contains all the software needed to get started with basic system evaluation. Documentation for the chips, boards and software are on the CD as well. A standard Microsoft Windows CE CD is part of the package as well with the Windows CE board support on Atmel's CD.
There is a range of software referenced or found on the CD, including Linux from TimeSys, Microsoft's Windows CE, Green Hills Software's Multi development system and Integrity RTOS, IAR's tool suite, and Keil's uVision 3. The support on the CD varies, depending on the type of kit. For the AT91SAM9261-EK, TimeSys Linux or Microsoft Windows CE will be the primary choices, at least out of the box.
The SmartFlash or MultiFlash software is used to program the on-board flash memory using the serial or USB port. For development support, I flashed the Windows CE or Linux platform and worked on application development using the Ethernet interface at the application level. JTAG debugging is supported, but this requires additional development hardware available from Atmel or third parties, so I didn't take the time to check it out. The JTAG port is easily accessible, but the ETM socket was not installed.
I checked out the system using the Windows CE 5 platform (the disk came with the kit). Flashing the system takes a few minutes, and linking the system via Ethernet takes a little longer. Your mileage may vary, depending on your familiarity with the Windows CE platform tools and Visual Studio tools.
The TimeSys Linux support should be comparable. Their LinuxLink system generates a custom configuration for you, including an Eclipse-based IDE, GNU compiler tools, and support tools for the platform you selected — in this case, the AT91SAM9261-EK.
Keep in mind that the Windows CE and TimeSys Linux are evaluation versions — as are most of the other tools on the CD, with the exception of the Atmel-supplied and platform-specific tools.
Out of the box, the AT91SAM9261-EK provides a quick way to do a basic application level evaluation of the AT91SAM9261. It is possible to roll your own Linux development, but don't waste the time: stick with TimeSys, or Microsoft if you want Windows.