The average ESP reader has more than a decade of embedded systems development under his or her belt. That's why our articles and columns so often contain advanced treatments of very specific subjects. That's just the kind of information experienced developers most need. And it makes for great reference material.
However, judging from some of the letters I've received since taking over as editor in chief, there is also a need for more basic types of information about embedded programming. There are certainly less experienced readers to think about-only in mythical Lake Wobegon can everyone be above average. And even those of us with lots of experience in this field may not be knowledgable about all aspects of it.
Newcomers to embedded systems often wonder about the meaning and significance of terms like cross compiler, direct memory access, big/little-endian, interrupt latency, memory-mapped I/O, priority inversion, real-time, startup code, PWM, watchdog timer, and much more. It can be difficult to learn about these things, as there is a general lack of sufficient published information on embedded programming.
In the past, my efforts to help educate programmers new to embedded systems have been mostly separate from my work for the magazine. I wrote a book for such folks, Programming Embedded Systems in C and C++ (O'Reilly, 1999), actively maintain online resources like the Embedded Systems Glossary (www.netrino.com/Publications/Glossary/), and answer beginner questions in comp.arch.embedded whenever I can. However, I'd like to do more. And the magazine is a great way to do it.
So beginning with this issue, we will devote some space each month to the fundamentals of embedded software development. Our new “Beginner's Corner” department will have many authors, including ESP columnists and contributing editors, previous authors, and yours truly. Each piece will be short and to the point and will be presented in a format that can be easily cut out of the magazine and saved for later reference. Each will also include a list of references to specific articles and columns from our 12-year archive that cover related topics in greater depth.
The subject of the first “Beginner's Corner” is reentrant software, about which the aforementioned glossary states: “Software that is reentrant can be executed multiple times simultaneously. A reentrant function can be safely called recursively or from multiple tasks.”
The author of this first piece is ESP columnist and contributing editor Jack Ganssle. In addition to more fully defining the term reentrant, he'll explain how software can be made so.
I hope that every reader of the magazine will find the “Beginner's Corner” a useful addition. Even if a specific topic is not new to you, you may want to save the information for later reference. Or save them all in a binder, perhaps for use in educating more junior members of future project teams. We hope eventually to publish these features on a heavier paper, pre-perforated for easy removal from the magazine. And we'll be archiving them all at the new and improved www.embedded.com website, right from the start.
Return to April ESP Index