Running an Atmel ARM from Bare Metal

Ever since I learned that Atmel bundles a ROM bootloader that allows a FLASH program to be loaded via serial without any JTAG hardware, I’ve hankered to program and run an ARM chip from bare metal. Just for experience.

I choose a “cost effective” SAM3n2 variety in a LQFP-48 footprint. These cost $3 to $4 in single unit quantities from Mouser. I stock every variety of Adafruit SMT adapters. So it was only natural that I solder the SAM3n2 to the Adafruit adapter, then build up the circuit on a breadboard.

Several hours later one trip to Fry’s for a 0.007″ soldering tip, some cursing, a lot of solder wick I finally got the the SAM3n on my very own breakout board without any bridges. I’ve done enough surface mount soldering to know what I was getting into, but it did not decrease the amount of labor and frustration that can go into a chip with a lot of pins.

Atmel distributes the SAM-BA “SAM Boot Assistant” program that can talk to the ROM bootloader. It’s very unfortunate that SAM-BA becomes SAMBA. This makes it hard to search for help. Hey Atmel, how about using an unused acronym? SAM-BA talks to the SAM3n2 via UART0. These ARM chips are not 5V tolerant. I used a Sparkfun level shifter and a FTDI interface to connect up SAM-BA. The SAM3n2 starts off using an internal RC oscillator. You do not need to connect an external crystal. Add some bypass capacitors and everything is ready to go.

IMG_0294-0.JPG

IMG_0293-0.JPG