Motorola Semiconductor has recently released its new addition to the Coldfire microprocessor family. With on chip 10/100 Ethernet controller and USB modules and the promise of sub - R100 unit prices in quantity, the MFC5272 is well positioned for the Internet appliance market. However, for most South African companies, their enthusiasm for using this kind of new and exciting technology is often dampened by the prospect of having to find cost-effective, high quality development tools and support.
If your company belongs in this category, you will be delighted to know that your search is officially over. One of the best development tool sets available can now be downloaded - for free - off the Internet with excellent support provided by the online community that uses it. Welcome to the wonderful world of GNU tools.
A tool is defined as a GNU tool if it is published under the General Public Licence (GPL), a so-called 'Copyleft' licence designed by the Free Software Foundation ( www.fsf.org). While copyright provides a monopoly on the right to create copies and derivative works, Copyleft grants unlimited permission to copy and modify. However, Copyleft compels the user to distribute, without fee or additional licence terms other than Copyleft, the source code to all derivative works.
This does not imply that any code written and compiled with GNU tools must be 'open' and 'free'. It simply means that any source code used and modified that is published under this licence must likewise be licensed under the GPL. So when, for example, you encounter a bug in the tools, you do not have to wait for anyone to fix it - you can simply do it yourself. It is this process that has led to the development of a robust set of tools supported by a geographically diverse user community.
At the core of the tool set is the GNU C compiler. Contrary to its name, the compiler does not support C only, but a number of other languages as well. In fact, the compiler supports seven languages including C++, Fortran and Java and over 30 different hardware architectures. Together with the GNU linker and binary utilities, the tool set provides all one needs to take an application from source code to the binary image for the embedded system. And if you are unfortunate enough to have bugs (like the rest of us), do not despair. A GNU source debugger (GDB) with a great graphical user interface (GUI) is available courtesy of Redhat and provides all you need to either debug locally on the system or remotely from a host. In addition, the tools include many standard libraries optimised for different hardware configurations. For example, if your system is low on resources you can utilise the Newlib library ( sources.redhat.com/newlib) - a standard C library optimised for small embedded systems.
There are two ways to set up a GNU development environment. The first option is to download the source onto your Windows (running Cygwin) or Linux machine, then apply any required patches and finally compile the code for your architecture with your host GNU C compiler. This is not for the faint-hearted. An alternative is to fire up your web browser, search for someone who is ahead of you on the learning curve and download the already compiled tools.
The place to go for the Coldfire processor is David Fiddes Coldfire development resource website ( www.fiddes.net/Coldfire). His Coldfire GNU tools distribution contains the full suite of GNU core tools including C examples. These can be compiled and run on a number of development boards including the Motorola M5272C3. The site also contains links to download a BDM driver that together with P&E's (www.pemicro.com) BDM interface provides GDB access to the on-chip debug hardware. The site also provides links to a number of other software resources that offer a helpful boost to your development cycle. The most noteworthy is a distribution of Linux, called uClinux ( www.uclinux.org), developed for processors that do not have a memory management unit. The port for the Coldfire processor is actively maintained by Greg Ungerer from Lineo ( www.lineo.com). It currently supports a number of development boards (including the M5272C3) and is capable of acting as a dial-up-server with full VPN support and a web server.
If your application requires a Real Time Operating System (RTOS), then take a look at RTEMS from Oarcorp ( www.oarcorp.com). RTEMS is an actively developed RTOS with a TCP/IP stack and backed by the full suite of GNU tools. An alternative to RTEMS is eCOS (embedded configurable operating system) from Redhat ( sources.redhat.com/eCos). eCos is highly configurable, includes a full TCP/IP stack and specifically targets deeply embedded systems. Although it currently supports a number of high-end Motorola Power PC processors, a port for the Coldfire is not yet available.
This all sounds great, but what about support? One of the greatest advantages of using GNU tools is access to the user community. The Coldfire is actively supported by a mailing list, which includes contributions from technical staff at Motorola, the maintainers of the GNU tools, ucLinux developers and many other people actively developing Coldfire-based applications. If you do not want to actively participate in the online discussions, you can always search through the mail archives ( www.wildrice.com/Coldfire). You will be amazed to discover that most of your problems and their solutions have already been documented.
The GNU community not only favours embedded software engineers. For the hardware engineer there exist a number of reference designs for the Coldfire processors. OpenH.org ( www.openh.org), a local 'SourceForge' website for free embedded hardware designs and software, includes a reference design for a PC104 16 bit card using the MFC5272. The goal behind this project is to develop a standard open reference platform for the development of free and open source embedded tools.
Gone are the days where the prospect of asking your manager for expensive tools and skills sends shivers down your spine. There is no longer an excuse to push aside a new and exciting processor that will reduce your hardware costs and extend the life of your product. Find out how the GNU and other open source tools can help you. Just because something is free, does not mean that it is not as good as commercial systems. In some cases, it is even better...
If you would like to know more, Motorola in association with Openfuel ( www.openfuel.com), University of Cape Town and Dataweek will be hosting a practical seminar in mid September during which a web browser will be implemented on a Coldfire processor using only free GNU tools. Please contact the following to book in either Johannesburg, Cape Town or Durban: Arrow Altech: Les Bidgood (011) 923 9600 firstname.lastname@example.org; Avnet Kopp:Yolande Putter (011) 444 2333 email@example.com; EBV: Kevin Lesser (011) 236 1900 firstname.lastname@example.org