Embracing Embedded Environments for Development Success
By : Mark Recoskie
3
Embedded Systems
• Small • Special purpose• Solid state• Low power• Less expensive
4
PC versus Embedded Device 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
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
5
Considerations
• Processor• Memory• Cost of the unit• Special hardware integration• Software tools
6
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
7
• “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
8
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
9
Embedded Dev Suites (cont’d)
• Various levelsA) Toolchain (gcc, scripts, etc.)
B) Buildroot concept (on top of toolchain)
C) Buildroot+ (GUI, package manager)
• Assembly line for code
10
The Process
• Automation is the word
• 1) Selection• 2) Compilation• 3) Preparation• 4) Commitment• 5) Debugging
11
The Process (cont’d)
12
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
13
Summary
• A good Embedded Development Environment is essential
• Getting easier and easier to adopt• Embedded development is just different
development – not harder
Top Related