ARM Assembler

My ARM assembler cheat sheet. ARM7: Load-and-Store Architecture Von Neumann Architecture ARM7TDMI-S: T - Thumb architecture extension ARM Instructions are all 32 bit Thumb instructions are all 16 bit Two execution states to select which instruction set to execute D - Core has debug extensions M - Core has enhanced multiplier I - Core has... Continue Reading →


ARM Toolchain – Crosstool

Was able to get an arm-elf toolchain built and working fine, but not so much luck in building an arm-elf-linux toolchain. It cross-compiled programs without errors, but the compiled executable crapped out at runtime. So googling for answers... I came across Dan Kegel's crosstool - a really cool GNU toolchain builder. It downloads all the... Continue Reading →

ARM Toolchain

Updated (April 26, 2008) Here's my cheat-sheet for building a 64-bit GNU ARM toolchain (cross-compiler x64 to ARM). So far this has been working well for me on an LPC2148 (ARM7TDMI-S), i.e. gcc and gdb via OpenOCD JTAG. Notes: Some builds (like binutils-2.18 and newlib-1.15) needed the setting MAKEINFO=/usr/bin/makeinfo to be passed to the make... Continue Reading →

ARM boards

Just got back from a trip to Chicago - Oak Park, a renovated "gentrified" neighbourhood, west of Chicago. Just spent the night researching a good ARM board to buy. Narrowed it down to these (all these boards have USB and SD card reader): ARM7TDMI-S boards: Olimex SAM7-P256 (SAM7-Pxxx Rev. E) - Atmel AT91SAM7S256, 256K Flash,... Continue Reading →

Arduino GPS

Just to get my hands dirty and wrap it up with the AVR's, I created a GPS data logger - using an Arduino board, GPS receiver chip, 4x20 LCD, and a uALFAT microSD board. A good document on NMEA commands and data formats used by GPS chips is here. Regarding the GPS unit, it was... Continue Reading →

Arduino LCD

My first step, in my foray into embedded systems: interfaced a 4x20 character LCD panel to the Arduino. Details on interfacing any Hitachi HD44780 based LCD panel can be found here. Went for the default parallel LCD's. They're cheap, about $15 for a 20x4 panel on eBay (HD44780). The serial ones cost about 2-3 more.... Continue Reading →

The Arduino

Just got it today :-). The Arduino is a great learning platform for anyone interested in the embedded world. The entire platform is open (hardware schematics, bootloader, lots of examples, etc.). Comes with a programming language that abstracts out lot of the bit-level stuff... but for learning purposes I'd recommend just using straight C -... Continue Reading →


The Atmel ATmega128 AVR is a nice little full featured general purpose 8-bit MCU (i.e. not including MCUs which add on a host of other features like controllers for LCD, USB, Ethernet MAC, DSP, MMU, etc.). For my own quick reference: Feature ATmega128 ATmega168 ATmega8 Flash 128K 16K 8K SRAM 4K 1K 512 EEPROM 4K... Continue Reading →

Which RTOS?

After scouring through a number of MCU's I've decided to go with the Atmel AVR, in particular the ATmega168. But then, my recent adventure into the Slug's hardware, got me thinking ARM. I settled for Atmel's AT91SAM7 series of ARM MCU's. My next thought was how I can run Debian/ARM on it. But unfortunately that... Continue Reading →

Create a free website or blog at

Up ↑