Today’s gift guide is a guide for friends, family and relatives who want to learn ARM. ARM is a type of chip, a very powerful one and it’s something we’ve taken an interest here at Adafruit. We asked our friend Kevin who makes the MicroBuilder LPC1343 (ARM Cortex M3) board for ideas this holiday season and we also tossed in some of our own. We stock two of the items, you can add them to your Adafruit wishlist! For today only the MicroBuilder LPC1343 (ARM Cortex M3) is 10% off (sorry we are not allowed to discount the Chumby at this time).
The Beagle Board is a low-power, low-cost single-board computer produced by Texas Instruments in association with Digi-Key. The Beagle Board was designed with open source development in mind, and as a way of demonstrating the Texas Instrument’s OMAP3530 system-on-a-chip. The board was developed by a small team of TI engineers.
The LPC1343 is a low-power, 32-bit ARM Cortex-M3 microprocessor designed specifically for embedded devices. This is a fully assembled version of the LPC1343 Reference Design from talented Parisian designer, Microbuilder. No soldering required (female header pins are pre-soldered onto the board), this devboard is ready to go out of the box.
Please note that while there are some great introductory getting-started tutorials for this board, its best used by those with microcontroller experience. If you’ve played with AVR or PICs and are intrigued by the low cost and ultra fast 32-bit ARM Cortex M3 series, this is the dev board to get! If you’re just getting started with microcontrollers and electronics you should check out the Arduino which is very beginner-friendly.
In addition to publishing the schematics and layout files, MicroBuilder has written a full software library for the LPC1300 family. This allows you to quickly get started with all on-board peripherals, so you can focus on your own application functionality. The software library includes complete GCC-based startup code and details on setting up an ARM development environment using open source tools. Along with a standard Makefile, project files for the open-source CodeLite C/C++ IDE and the commercial GCC-based Crossworks for ARM are provided.
Within minutes, you’ll be using the USB interface for printf() debugging, reading from the analog inputs using analogRead(), tweaking pins without having to look up registers, etc. and best of all no ARM or JTAG programmer is required! The chip comes with a built in USB bootloader that appears as a very small disk drive. To reprogram, simply press the Bootload button and drag your new firmware file into the USB drive that appears. Then press Reset and your code is running. Is that cool or what?
- Power the board via the 2.1mm DC jack (6-12V) or the mini-B USB connector (5V). There’s an onboard 3.3V regulator (LT1113)
- Debugging LED on pin 2.10 and SWD connectors for programming and debugging
- Open source toolchain (GPL) and software library (BSD)
- USB 2.0 HID and Mass Storage support built right into the ROM
- 32K of flash, 8K of SRAM…running at 72 MHz
- Built-into-ROM USB bootloader works with any computer and OS
- Full Speed USB, TTL UART, SPI and I2C interfaces
- Up to 42 General Purpose I/O (GPIO) pins with configurable pull-up/pull-down resistors
- 8 10-bit Analog-to-Digital Converter pins
- Four general purpose counter/timers with a total of four capture inputs and 13 match outputs
- Programmable WatchDog Timer (WDT)
- System tick timer for ez timekeeping
- LPC1343 datasheet has a lot of information about this chip
Segger J-Link for ARM (EDU Edition)
This is the Swiss-Army Knife of HW debuggers for ARM, supporting the classic JTAG interface used by ARM7/ARM9 and more importantly the new-and-improved(TM) SWD interface native to all ARM Cortex chips (M0, M3, M4, etc.). If you are a non-commercial user or hobbiest, this is by and far the best deal out there for the most flexible ARM HW debuggers on the market. Supports on-the-go programming of supported ARM chips, step-through-debugging, etc., using all the major IDEs (Keil uVision, IAR, Crossworks for ARM [Windows-only], and also include GDB Server software that can be used on Windows for debugging with GCC and open-source ARM toolchains like Yagarto). At 49€ VAT included in Europe and $60 in North America it’s a no-brainer if your serious about working with ARM.
The Definitive Guide to the ARM Cortex-M3 (2nd Edition)
The go-to book for anyone seriously interested in using one of the many new Cortex M3-based chips that are popping up everywhere. The book is accessible, and also includes a lot of examples aimed at open-source GCC-based toolchains for ARM. Be sure to get the second edition since it has a number of important updates and includes information on the Cortex-M0 (low-cost, low-power) as well.
It’s not cheap if you’re just getting started in electronics, but if you really want to do any sort of low-level programming and driver development in C using common serial interfaces like I2C, SPI, etc., the money spent on Saleae’s Logic will be an investment you’ll be glad you
made for years to come. It quickly allows you to capture and analyse digital lines using a remarkably easy-to-use interface, and will save days of frustration when you’re trying to get new sensors or components working. There’s nothing ARM-specific about it … but if you’re going to be writing drivers for custom HW in C, you’ll save yourself a lot of frustration having one of these laying around. Now works for Linux and Mac as well as Windows.
Chumby Hacker Board
While actually programming the 454MHz ARM9-based iMX.233 processor directly in C gets messy pretty quick, the Chumby Hacker Boards takes all the really dreary work off your hands and lets you start developing in the relative comfort of Linux without too much work on your part (other than the inevitable Linux learning curve if you’re new to it). At $90 it’s also a pretty amazing deal (especially compared to the price of the official iMX.233 development board from Freescale!). This is definitely approaching the deep-end of the pool for ARM, but it’s probably a bit more accessible than something like a BeagleBoard. Cheers to Chumby Industries and Bunnie for making this great little board possible and at such a reasonable price.
C Programming Language (Kernighan and Ritchie)
If you’re going to be doing anything with ARM, it will probably be in C (or maybe C++ on the high-end), and the original book is probably still the most accessible. Amidst the thousands of IT and programming books published every years, this one stand out for it’s clarity and emminent readability. If you’re just getting started with C, or need a bit of brushing up, this is probably the best investment you can make both in terms of time and money. (If you just want a quick refresher, O’Reilly’s “C Pocket Reference” is very handy as well in an easy to transport size.