This page is is part of my embedded system notes.

Software Development Notes

Developing the software for an embedded system involves pulling together a set of software and hardware. The software consists of the editor, compiler, debugger, etc. The hardware is used to program and/or debug the microcontroller.

One of the web sites I found that talked about all of this stuff is called ODev.

The focus of these notes are towards open source tools for which the end-user can access the source code. There are some excellent closed source tools out there, but my lack of budget prelcudes me from even looking at those tools.

The issues break down to:

Host Platform Selection
Over the years, the number of viable host development platforms has narrowed down to mainly Microsoft Windows, MacOS, and Linux.
IDE Selection
An IDE (integrated development enviroment) provide the ability to edit, comple, download, and sometimes debug your code. These days the Eclipse IDE is the one that seems to have pulled to the front of the crowd. Have some Eclipse Notes.
Toolchain Selection
Finding a compiler that worked for your selected microcontroller used to be both expensive and tedious. These days many embedded microcontrollers can be programmed using the popular Gnu Compiler toolchain.
OpenOCD
Again, it used to be really painful to find the hardware to use to program and/or debug your compiler. Over time, the JTAG protocol has become the front runner. These days OpenOCD is the free software tool of choice for managing JTAG dongles.
RTOS Selection
Not all embedded systems use a RTOS (real-time operating system.) Indeed, the smaller microcontrollers tended not to have the room and/or performance. The higher end embedded microcontrollers do have both the room and performance, so an RTOS
After you have assembled all of the relevant software comes the fun and joy of actually using all of it.


Copyright 2012 by Wayne C. Gramlich All rights reserved.