130 likes | 266 Vues
Discover the advantages and differences of embedded development environments in this comprehensive overview by Mark Recoskie. Learn how embedded systems, characterized by their small size and specialized purpose, offer cost-effective solutions with low power consumption. Compare embedded devices to traditional PCs, exploring their unique development requirements and tools. Understand the essential processes, from toolchains to debugging, and find out why adapting to embedded environments is becoming easier. Optimize your development approach with the right embedded solutions for your projects.
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