Embedded vs. PC Application Programming
Overview The software design cycle Designing differences Code differences Test differences
In general... They are the same All programs have: Inputs Processing/Decisions Outputs Always use the Software Design Cycle
Software Design Cycle Specification Design Code Test
Specification Understand the Requirements The same words mean different things to different people As a group, what does the following mean: The program must respond quickly to input. Write down the Requirements Once you know what you plan to do (with numbers) write it down!
Design Decide the ‘best approach’ to meet your requirements Hardware Programming Language Customer Education(Change the Requirements)
Coding Embedded Closer to the Hardware Use native data types Fewer System Resources No Operating System More efficient algorithms Higher frequency = higher power PC Application Abstracted Hardware Plenty of Resources Has an Operating System
Testing Embedded Testing must be planned in Usually a simple interface Often involves extra hardware PC Application Usually simple to get a basic debug output Can be very sophisticate testing
Other big differences Take a few minutes and talk in small groups. I’ll be asking one group to give some of the ideas they came up with.
Things to Remember There are parallels between embedded and PC programming When coding embedded, it is better to use native data types