110 likes | 227 Vues
This overview highlights the core distinctions between embedded and PC application programming. Both follow the software design cycle, involving specification, design, coding, and testing. However, differences arise in hardware interaction, resource management, and coding techniques. Embedded systems deal directly with hardware, utilize native data types, and often have limited resources, leading to more efficient algorithms. Testing strategies also vary significantly. Understanding these aspects is crucial for successful software development.
E N D
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 http://rabatech.com
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 PC Application Abstracted Hardware Plenty of Resources Has an Operating System • Closer to the Hardware • Use native data types • Fewer System Resources • No Operating System • More efficient algorithms • Higher frequency = higher power
Testing Embedded PC Application Usually simple to get a basic debug output Can be very sophisticated testing • Testing must be planned in • Usually a simple interface • Often involves extra hardware
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.
Code Size Example • Using the example code on the web explore the Wunderboard lights and code size based on variable types.
Things to Remember • There are parallels between embedded and PC programming • When coding embedded, it is better to use native data types