Abstract
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.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
D. Harel, State Charts: A visual Formalism for Complex Systems, Science of Computer Programming, 1987
Rajesh Gupta, mesl.ucsd.edu - /gupta/cse237b-f07/Lectures/, 2007
Michael Point, Embedded C, Addison Wesley, 2002
C51 Primer, www.esacademy.com/automation/docs/c51primer/
Embedded software design tutorial, www.freertos.org/tutorial/solution1.html, 2007
RTX51 Tiny User’s Guide, http://www.keil.com/support/man/docs/tr51/
μVision®; User’s Guide, http://www.keil.com/support/man/docs/uv3/
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2009 Springer Science+Business Media, LLC
About this chapter
Cite this chapter
Qian, K., den Haring, D., Cao, L. (2009). Embedded Software Design and Development. In: Embedded Software Development with C. Springer, Boston, MA. https://doi.org/10.1007/978-1-4419-0606-9_2
Download citation
DOI: https://doi.org/10.1007/978-1-4419-0606-9_2
Published:
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4419-0605-2
Online ISBN: 978-1-4419-0606-9
eBook Packages: Computer ScienceComputer Science (R0)