An ADuC7020 Development Environment 2006-10-08

I'm using Debian Linux as my development platform, and followed a combination of the instructions from the and the GNUARM websites when setting up my development environment.

I needed to setup a cross compiler which will allow me to compile code on my Linux development machine (i386) and run it on my ADuC7020 (ARM).

The first step is to download the lastest version of the source code for the GNU toolchain.

binutils (binutils-2.17.tar.bz2 13473 KB)
GNU assembler, GNU linker, and a collection of other binary tools.
GCC (gcc-4.1.1.tar.bz2 38254 KB)
GNU Compiler Collection, C and C++ compiler.
Insight Debugger (insight-6.5.tar.bz2 21676 KB)
A graphical user interface for GDB the GNU Debugger.
I don't plan on using a C library so I don't need think I'll need to download the latest version of Newlib.

The next step is to compile and install the toolchain. Run the following commands from the directory where you downloaded the bz2 files, it will install the executables into the bin/arm-elf under your home directory.

	# extract, build and binutils
	tar -jxf binutils-2.17.tar.bz2
	mkdir binutils-build
	cd binutils-build
	../binutils-2.17/configure --target=arm-elf --prefix=${HOME}/bin/arm-elf --enable-interwork --enable-multilib
	make all install
	cd ..

	export PATH=${PATH}:${HOME}/bin/arm-elf/bin

	# extract, build and gcc
	tar -jxf gcc-4.1.1.tar.bz2
	mkdir gcc-build
	cd gcc-build
	../gcc-4.1.1/configure --target=arm-elf --prefix=${HOME}/bin/arm-elf --enable-interwork --enable-multilib --enable-languages="c" --disable-libssp
	make all install

	# extract, build and install insight
	cd ..
	tar -jxf insight-6.5.tar.bz2
	mkdir insight-build
	cd insight-build
	../insight-6.5/configure --target=arm-elf --prefix=${HOME}/bin/arm-elf --enable-interwork --enable-multilib
	make all install
	cd ..
To make the cross compiler executables available we need to add them to our path.
	export PATH=${PATH}:${HOME}/bin/arm-elf/bin

I will need a way to program the firmware on the ADuC7020, I will use the lpc21isp program written by Martin Maurer. The source for lpc21isp is just one file and is very easy to compile. Update: 2007-09-08 I had problems getting lpc21isp working, so I wrote my own download program for Linux (aducloader).

	gcc lpc21isp.c -o lpc21isp
	cp lpc21isp ${HOME}/bin/arm-elf/bin

I'm still working on a suitable linker script and header files for a ADuC2070, so I'll post them later when there ready.