April 1, 2010 -- There’s probably no design engineer more familiar with working at a high level of abstraction than a software developer. Whether it’s creating PC software, embedded applications, Web services, or database systems, there’s a high-level development system and associated language to remove the pain of dealing with the native code.
Software design has progressed through a long path of programming languages and systems that all serve to free developers from the mire of assembly language. Using the now-familiar implementations of programming interfaces, code syntax, and compilers, software development harnesses high-level abstraction via a wide range of languages — from Pascal to C++. Embedded software is the lean, mean cousin of PC applications and shares some of the same principles and systems.
The abstraction systems used for developing both hardware and software in electronic design are in fact so familiar they’re considered the normal, rather than abstracted, ways to work.
The clear benefit for software engineers is a reduction in complexity and faster development times. Thanks to the use of C for embedded firmware, the need to battle with register stacks or reams of packed, sequential code is a thing of the past.
By Rob Evans. (Evans is with Altium, Ltd.)
This brief introduction has been excerpted from the original copyrighted article.
View the entire article on the Electronic Products Magazine website.
Read more about