130 likes | 244 Views
Embracing Embedded Environments for Development Success. By : Mark Recoskie. Embedded Systems. Small Special purpose Solid state Low power Less expensive. PC versus Embedded Device. Embedded Device embedded processor small-med applications low cost
E N D
Embracing Embedded Environments for Development Success By : Mark Recoskie
Embedded Systems • Small • Special purpose • Solid state • Low power • Less expensive
PC versus Embedded Device Embedded Device • embedded processor • small-med applications • low cost • little or no integration effort required • purpose built, solid state, more reliable • small in size • embedded development environment – different skill set required PC • x86 processor • small-med-large applications • greater cost • greater integration effort (cards & drivers, choosing components and building PC) • stigma – PC not as reliable as a proprietary PBX • large in size • familiar development environment
Considerations • Processor • Memory • Cost of the unit • Special hardware integration • Software tools
Development Differences • Why is development different? • Cross compile (Host Target) • Different tools and libraries • Dependencies and packages • File systems • Optimizations • Debugging • Special skill set required
“Building a gcc / glibc cross-toolchain for use in embedded systems development used to be a scary prospect, requiring iron will, days if not weeks of effort, lots of Unix and Gnu lore, and sometimes willingness to take dodgy shortcuts.” - Dan Kegel : a Google software engineer
Embedded Development Environments • What are they? • Usually consist of a set of tools and framework • Installed on a independent computer • Most are a toolchain + Buildroot concept • Examples, • OpenWrt • PADS • Astfin • BAPS • AADK • Scripts
Embedded Dev Suites (cont’d) • Various levels A) Toolchain (gcc, scripts, etc.) B) Buildroot concept (on top of toolchain) C) Buildroot+ (GUI, package manager) • Assembly line for code
The Process • Automation is the word • 1) Selection • 2) Compilation • 3) Preparation • 4) Commitment • 5) Debugging
Benefits of Embedded Development Environments • Much less technical knowledge of an embedded environment is required • Much less setup time • Consistent and reproducible • Portable mechanism from machine to machine • Automation
Summary • A good Embedded Development Environment is essential • Getting easier and easier to adopt • Embedded development is just different development – not harder