Welcome to the first part of what will probably turn out to be a three part series all about using a combination of cheap and completely free tools to do embedded development on the ARM series of micro processors.
Embedded development for many years has been a bit of a black art as far as the hobbyist is concerned. Due to the large amount of money involved to buy specialist software development tools any type of embedded development has been restricted to companies making products or to those willing and able to fork out the money. Well that time has come to an end. Affordable hardware debuggers are now available and the open source community have brought us the relevant tools required to drive the hardware.
This series is aimed specifically at the Philips LPC2129 ARM7 based chip, as this is what I have been developing on myself. While the board I'm using was specially built by the hardware department in the company I work for, everything in this series will be transferable to other development boards based on ARM7 processors. Most of the time it will only require a small number of settings to be changed to get things up and working.
Tools that will be required.
- Development board
- JTAG
- Compiler tool chain (including debugger)
- IDE
Development board
As I stated above just about any ARM7 development board should work OK with this series. Just to make sure though it would be best to get something based on the Philips LPC2xxx series of CPUs. The development board will also require a JTAG header to be present.
JTAG
A JTAG is a piece of hardware that connects your PC to the development board. It can then be used to upload code into the memory or flash of the device and debug the applications running. It is this piece of equipment that originally used to make embedded development cost so much. Now however there are companies offering cheap JTAGs that can be used with open source software. The JTAG we will be using is from a company called olimex, and is a simple parallel port model. While they also do USB based models which are much faster at uploading code to the device they are relatively new and more expensive than the parallel port version.
Compiler tool chain (including debugger)
Thanks to the open source community all the tools required to build and debug the applications you want to make are available for free. I have been using GNUARM for building my applications, which also handily comes with a debugger. The only other piece of software used is OpenOCD. This is a debug server daemon that allows communication between the JTAG and the debugger being used. In true open source style both of these tools can be found for most operating systems available, so you don't have to be running Windows.
IDE
I decided to use a copy of Visual C++ 2005 that I use at work for Windows development to also do the embedded development. This can be done by using a make file project. You can use any IDE you like or no IDE at all it's up to you. All of the builds will be managed by make files so as long as you have something that can edit text with you'll be OK. I've used Visual C++ 2005 because I find it nice to work with, I can arrange my files etc into projects and it integrates nicely with our source control system. To keep with the theme of doing things for free, the Express edition of Visual C++ 2005 also supports make file projects so that can be used.
So that's basically it for this edition. In the next part of the series I will be going through setting up the compiler and getting it working with Visual C++ 2005.

4 comments:
CG,
This is a very interesting topic for me and was wondering about the next installment. Also, how does GNUArm work with VS C++ 2005? Couldn't you use WinARM instead?
Can't wait for the next exciting installment!!!
celeron504
The next installment should be arriving within the next week or so.
Some tutorials in english for Itron based Open source Toppers/JSP RTOS and Eclipse configuration can be find here,
http://www.arm-eclipse.wikidot.com
http://www.toppers.wikidot.com
http://www.eclipseconf.wikidot.com
I was unable to find part2 & part3 of this article. Please point me to the next part links.
Post a Comment