140 likes | 155 Views
Explore the world of embedded systems development with this comprehensive guide by Mark Recoskie. Learn about the benefits of small, special-purpose, solid-state, and low-power embedded devices compared to traditional PCs. Discover the differences in development processes, skill sets, and tools required for building embedded systems. Dive into the realm of embedded development environments, featuring toolchains, Buildroot concepts, and automation processes. Understand the advantages, considerations, and nuances of working with embedded environments for successful development. With the right tools and knowledge, embracing embedded systems is just a different, not harder, kind of development journey.
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