Download off-the-shelf embedded-network connectivity

Transcript
hands-onproject Embedded-network connectivity
complete range of sample apfact that Java and C are similar,
plications were easier to
the Java class code and C code oflearn and use and offered a
ten used different commenting
more competitive edge.
conventions. Some code has a full
From this perspective, the empage of comments describing
bedded-TCP/IP market has inwhat it is doing, the variables it
deed reached a point at which
uses, and the methods into and
TCP/IP is off-the-shelf, meaning
out of the function. The other
that you can buy everything neccode within the same demo has
essary to embed connectivity into
comments that seem like an afa device. Given the maturity and
terthought and offer little guidlow cost of stacks, you no longer
ance to understanding how the
need to develop your own stack.
code works.
You can use a well-defined API to
Some vendors cram all the relaccess it. However, the market is
evant demo files into a single dinow racing to also bring the derectory. Other vendors scatter the
velopment tools and environcode throughout several directoments up to off-the-shelf stan- The RCM3000 evaluation kit from Rabbit Semiconductor comes
ries, making it more difficult to
dards, moving from requiring you with an evaluation board, a connectivity module, a power suplocate files or even understand
to learn a complex API to letting ply, a compiler and other application tools, a manual, board
which files are in use for a demo.
you work with templates that il- specs, and schematics.
A proper project manager lists all
lustrate how the API works. A
sources files and their dependenproper collection of applications enabled less of a differentiating factor as slacking cies with one-click access to each. In sevme to create templates to learn how to vendors begin to fill out their offerings.
eral cases, I had to break open build files
use functions and to use as foundations
Still out on the horizon, even for ven- to locate code modules. Connectivity apthat I could drop into my own applica- dors with a fairly complete demo base, is plications are written in several lantion. Demos needn’t be full-blown ap- further abstracting connectivity func- guages, and, if the flow of code isn’t docplications; rather, they need to illustrate tions into a parameterized library for- umented, it’s not always clear which role
key aspects of a function. To the vendors mat. Templates are great, but even when a function plays (and thus which lanwho argue that it would take only a few you tear them apart, you’re still working guage it should be written in). One feahours to develop the code to implement at a fairly low level. Further reducing ture I missed in too many instances was
a function such as FTP, I ask: Then, why complexity to a few canned and config- a simple list and description of sample
don’t you have one of your engineers do urable functions makes network connec- code. More than once and only after
it?
tivity even more accessible.
complaining to vendors, I discovered that
Thus, one key differentiation among
Second to the breadth of the applica- code for a function was available but
systems is the available application li- tion library is how well the code is doc- buried in some nondescript directory or
brary. If the demos are insufficient for umented and organized. Even within a documented only through an obscure
building your application, you need to single demo, the documentation often reference.
work the cost of learning the API and lacks consistency. Often, an editor, such
I appreciate it when vendors write docbuilding your application from scratch as Microsoft Front Page, generates the umentation assuming that the user un(both in dollars and time to market) into HTML (Hyper Text Markup Language) derstands neither the API nor the details
your final decision. If you’re still a few documents, resulting in code without of TCP/IP. Some Getting Started manumonths out on your project, the lack of sufficient comments that is not format- als reveal explicitly how to set up the
sufficient demos will probably become ted to read when you print it. Despite the computer and the evaluation board, even
EVALUATING IN TANDEM
Working with several kits at one
time has its drawbacks. Sometimes, I confused the function
names. Also, because each vendor uses a different directory
scheme for managing the various
types of files—HTML (Hyper Text
Markup Language), Java, C, compiled code, headers, and so on—I
sometimes forgot where I should
put files. This lapse led to various
compilation problems, such as
52 edn | November 14, 2002
using the old, incorrect version of
code instead of my new code.
Another difficulty was that each
evaluation board used a different
subnet, requiring my computer to
use a different IP (Internet
Protocol) address. If I wanted to
try an idea between two boards, I
would have to change the IP
address and reboot my computer. To keep my sanity, I created a
profile for each board, describing
the equipment, including cable
type and the setting to use on
the switch box, if required, and
each IP address it used. A profile
serves as a checklist to ensure
that you always correctly set up
the board. It also works for a single evaluation board when you
have to clear your desk to work
on another project.
Working with multiple boards
allowed me to see just how
portable my code was among
boards. Ideally, I should have
been able to use the same Web
pages and Java applets and support C code, but each board
worked slightly differently with
the stack. Abstracting the stackfunction calls and creating my
own API (application-programming interface) made it easier to
port all types of code.
www.edn.com