|
|
|
|
|
|
Taking the
C out of
embedded
control
Traditional
embedded programming vs. microCommander embedded development
Traditionally,
embedded programming is done in C with a compiler and
perhaps a debugger, employing an iterative process of
coding, compiling, downloading, and debugging - a cycle
sometimes referred to as the "crash and burn"
method.
microCommander
embedded development is done in a graphical user interface,
which is designed to let you build applications by dragging
and dropping Components. The Components are immediately
downloaded to the microcontroller where they take action
via Jobs and respond to Events. microCommander has no
compiling or downloading cycles because Components are
created and configured on the microcontroller in real
time - that is, changes made using your PC are instantly
updated on the microcontroller.
|
|
Traditional
embedded programming in C
|
|
microCommander
embedded development |
|
|
| Pros |
| Power
& Flexibility |
Complete
control over everything the micro does. Limited
by your project requirements and the microcontroller
hardware |
| Free |
For
some platforms, compilers and debuggers are available
for free (you tend to get what you pay for, however...) |
| Familiarity |
C
is the "old way" of doing things. Most
developers have a working knowledge of C. |
| Libraries |
For
most platforms, there are a variety of pre-written
libraries available that implement common functionality |
|
|
| Pros |
| Rapid
Development |
Applications
are built out of Components, which are created in
a few mouse-clicks. Development that would take
days or weeks in C, can be done in minutes or a
few hours. |
| Easy
to learn and use |
Components
do all of the work. Components properties are configured
to your specifications and checked automatically
to minimize errors. |
| Powerful |
Handles
many common embedded tasks such as I/O, data acquisition,
logic, closed-loop control, scheduling, event handling,
etc. |
| Low
Cost |
Relatively
inexpensive, starting at around $450US. Includes
everything you need to begin embedded development. |
| GUI
Development |
Builds
GUIs out of Visual Controls. Visual Controls are
graphic elements such as knobs, dials, meters, LEDs,
etc. that connect to Components and let the user
of the control system make adjustments or monitor
its behavior. |
| Internet
support |
Develop
or control the embedded system over the Internet.
This is built into microCommander and is transparent
to the developer. |
| Password
Security |
Protects
your embedded system using multi-user password authentication. |
| Multi-platform |
Available
for a wide number of popular microcontroller platforms.
All development is done using mVisual, meaning you
don't have to learn a new tool if you change microcontrollers. |
| New
Components |
We
are working on new Components to expand our ever
growing library of Components |
| Online
reference |
Features
an extensive, cross-referenced online help file,
as well several step-by-step wizards to help get
you started. |
|
|
|
|
|
|
|
|
|
| Cons |
|
|
| Very
Difficult |
C
programs are often large, complex, poorly documented,
cryptic, and unmaintainable. Each microcontroller
requires very specialized knowledge, which can take
months or years to acquire. |
| Error
Prone |
Errors
are inevitable. Bugs can be exceedingly difficult
and costly to track down and fix. Errors that show
up after deployment can be disastrous. |
| Time
consuming |
At
best, embedded C projects can be completed in days,
but more realistically, span months. Delays due
to bugs can be impossible to predict and changes
to the requirements can set the project back to
where it started |
| Expensive |
Most
good embedded development toolchains (compiler,
debugger, emulator, flasher, libraries
) cost
anywhere from several hundred to tens of thousands
of dollars. This doesn't include the cost of the
developer's salaries. |
| Platform
Dependence |
Code
written and tools used are typically restricted
to a single microcontroller platform. Changing the
platform requires learning a new set of tools and
rewriting the code entirely. |
| Built
from scratch |
Each
additional feature requires more code, integration,
testing and debugging. The developer may use commercial
libraries, but these may be costly, not only to
purchase, but also to learn, integrate and test. |
|
|
|
|
|
|
|
| Cons |
| Not
for all projects |
microCommander
controls just about, but not quite, everything.
Though sufficient for 90% of embedded projects,
microCommander cannot meet the requirements of projects
that are especially unique or unusual. However,
the number of these cases drops each time we add
a new Component, so contact us to learn if microCommander
can help you. |
| Not
available for all platforms |
Though
the number of supported platforms is growing, microCommander
is not available on all current microcontroller
platforms. Let us know if there is a platform you
would like to see microCommander ported to. |
| Does
not interface with legacy code |
At
this time, microCommander is a stand-alone product
and does not work with existing code |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|