You don’t need to know anything about processors!
Posted by benoit on 19 Sep 2006 at 06:59 pm | Tagged as: embedded
To your average software engineer, the type of processor used to run a program does not matter. Want some proof? Look at the decision by Apple to move from the PowerPC to the Pentium. How many application developers will be affected by this decision? Not many.
These days, the underlying hardware is so abstracted that the processor type is almost irrelevant. No one working on FireFox for the Macintosh will be affected. Why should they? Just as an application does not care what the specific graphic card is, it does not care what the processor is. Most applications use the OS API, the graphic library, etc…
You want to know a dirty little secret? The same is often true of software designers working on embedded systems with 32-bit processors!
The reason is simple: 32-bit processors (80×86, PowerPC, MIPS and ARMS being the market leaders) almost invariably use an Operating System. Rarely will you do bare metal programming. Windows CE, VxWorks, Integrity, Embedded Linux (and a plethora of others) all abstract away the hardware.
If you use an off–the-shelf board, chances are the board vendor already has the Board Support Package (e.g. the low level drivers) ready for your given OS. If you have a custom embedded device you are working on, clearly someone will have to write the BPS.
But let’s face it, writing yet another ethernet chip driver is not where the value added portion is. It’s in the application! That is what most of your engineers will be working on. And to (most of) them, it’s just another software program. It simply resides in a funny box without a keyboard or screen.
Leave a Reply
You must be logged in to post a comment.