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.