- Asked 3/19
- 2069 Bhadra · 6 marks
- 2073 Magh · 4 marks
- 2074 Bhadra · 4 marks
Embedded software development process
Short answer
Embedded software development flow: requirements analysis, design, coding, cross-compile/assemble, link/locate, simulate on host, download to target, debug using ICE/JTAG, test, and release/maintenance. It uses a host PC for development and target hardware for deployment.
Explain the design flow (software development processes) of embedded software development.
Embedded software is developed on a host (PC) and run on a target (the embedded board), so extra stages are needed compared with ordinary software. The usual flow is:
Requirements -> Design -> Coding -> Cross compile/assemble
-> Link and locate -> Simulate/test on host
-> Download (burn) to target -> Debug and test -> Maintain
- Requirement analysis and specification: determine functions, timing, memory, power and cost constraints.
- Design: divide into hardware/software, choose processor and RTOS; design modules, state machines and flowcharts.
- Coding: write source code in assembly, C or C++, one module per function.
- Cross compiling/assembling: a cross compiler on the host generates object code for the target processor.
- Linking and locating: the linker joins object files and libraries; the locator assigns real ROM/RAM addresses to code, data and stack, producing the final hex/binary file.
- Simulation: test logic on the host with an instruction-set simulator before hardware is ready.
- Download to target: burn the image into ROM/flash with a programmer, or load through bootloader/JTAG.
- Debugging on the target: use an in-circuit emulator (ICE), JTAG debugger, monitor program, logic analyser, with breakpoints and single stepping.
- Testing and verification: unit, integration, system and acceptance tests against requirements.
- Release and maintenance: documentation, bug fixing and upgrades via firmware updates.
✓ Answer checked by Claude Opus 5.5 (high effort)
Related questions
- Spiral model of embedded software life cycle · Embedded System, chapter 3
- Design metrics of embedded system · Embedded System, chapter 1 · asked 3×
- Algorithm/pseudo-code for software PID · Embedded System, chapter 7 · asked 3×
- Process versus thread differences · Embedded System, chapter 6 · asked 4×
- Process vs thread and task states · Embedded System, chapter 6
- Process management in OS · Embedded System, chapter 6
- Development process and mapping design to code · Object Oriented Analysis and Design, chapter 4
- Spiral model of software development · Instrumentation II, chapter 9 · asked 3×
- Why software development is complex; man-month myth · Software Engineering, chapter 1
- Embedded real-time software; model for project · Instrumentation II, chapter 9