Embedded Software Design and Development

  • Kai Qian
  • David den Haring
  • Li Cao


The embedded system software development has the same Software Development Life Cycle (SDLC) just like any other software development, plus special consideration for resource constraints, including CPU, time, memory, operating system, multi-tasking concurrency, and many other non-functional attribute constraints. In order to reduce the time-to-market and guarantee the reliability of the embedded system product, software engineering methodology is recommended for the software design and development. Because the embedded software is not deployed on a general purpose computer system, the embedded software in C/C++ or other high level programming languages must be developed and tested on a cross-platform machine such as a PC, and then loaded to a target microcontroller memory to be tested as shown in Figure 2.1.

For a successful embedded system development, embedded system hardware and software co-design based on the system specification is also very necessary to get the prototype working smoothly. In the co-design phase, software analysts/designers need to work with hardware team members to decide on the type of microcontrollers and microprocessors in accordance with the requirements of the speed and memory, power consumption, the number of I/O devices such as ADC, cost per unit, size and packaging, and others. Also, software development tools must be selected and the partition between software and hardware implementation should be decided in the co-design phase, as well as decisions such as time delay implementation by software program or with a hardware timer.


Embed System Finite State Machine Earliest Deadline First Context Switch Embed Software 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    D. Harel, State Charts: A visual Formalism for Complex Systems, Science of Computer Programming, 1987Google Scholar
  2. 2.
    Rajesh Gupta, - /gupta/cse237b-f07/Lectures/, 2007Google Scholar
  3. 3.
    Michael Point, Embedded C, Addison Wesley, 2002Google Scholar
  4. 4.
  5. 5.
    Embedded software design tutorial,, 2007
  6. 6.
    RTX51 Tiny User’s Guide,
  7. 7.
    μVision®; User’s Guide,

Copyright information

© Springer Science+Business Media, LLC 2009

Authors and Affiliations

  1. 1.Dept. of Computer ScienceSouthern Polytechnic UniversityMariettaUSA
  2. 2.Atronix Engineering Inc.NorcrossUSA
  3. 3.University of Texas at AustinAustinUSA

Personalised recommendations