Front cover image for Embedded software development with C

Embedded software development with C

Embedded Software Development With C Kai Qian About this textbook: Intelligible presentation of the fundamentals of embedded systems design and development using the C programming language and the 8051 microcontroller. Examines the longevity and relevancy of the 8051 microcontroller for designing embedded systems in present applications. Includes extensive appendices for reference work. Encourages a hands-on, incremental learning approach with comprehensive tutorial materials provided both in textbook and online. Embedded Software Development With C offers both an effectual reference for professionals and researchers, and a valuable learning tool for students by laying the groundwork for a solid foundation in the hardware and software aspects of embedded systems development. Key features include a resource for the fundamentals of embedded systems design and development with an emphasis on software, an exploration of the 8051 microcontroller as it pertains to embedded systems, comprehensive tutorial materials for instructors to provide students with labs of varying lengths and levels of difficulty, and supporting website including all sample codes, software tools and links to additional online references
eBook, English, ©2009
Springer, New York, ©2009
1 online resource (1 volume)
9781441906069, 9781441906052, 1441906061, 1441906053
437345775
Printed edition
Cover
Contents
1 Introduction to Embedded Systems
1.1 Overview
1.2 Categories of Embedded Systems
1.3 Application Areas of Embedded Systems
1.4 Characteristics of Embedded systems
1.5 Hardware Overview
1.5.1 Overall Architecture
1.5.2 Memory
1.5.3 Bus
1.5.4 I/O Ports
1.5.5 Clock Oscillator, Timer and Watchdog
1.5.6 Analog to Digital Converter (ADC) and DAC
1.6 Embedded Software Design and Development
1.6.1 Software Engineering Life cycle
1.6.2 Choose RTOS and Programming Language
1.7 Practice Labs
1.7.1 Getting Started with the Keil 181;Vision3 C51 Development Kit
1.7.2 Lab with 8051 Microcontroller Development Kit
1.8 Summary
1.9 Review questions
1.10 Exercises
References
2 Embedded Software Design and Development
2.1 Overview
2.2 Software Requirement Specification
2.3 Embedded Software Modeling Analysis and Design
2.3.1 Context Diagram
2.3.2 Finite State Machine (FSM) and State Chart
2.4 Time Requirement Analysis for Real-Time Systems
2.4.1 Non-Preemptive Scheduling
2.4.2 Pre-emptive Scheduling
2.4.3 RMS
2.4.4 Dynamic scheduling with EDF
2.5 Multi-Tasking Design Methodology
2.5.1 Polling
2.5.2 Interrupts
2.5.3 RTOS
2.6 Software Design Issues
2.6.1 Task Interactions
2.6.2 Resource Sharing
2.7 Lab Practice: A Traffic Light Control System Modeling and Design
2.8 Summary
2.9 Review Questions
2.10 Exercises
References
3 8051 Microcontroller
3.1 Overview
3.1.1 8051 Chip Pins
3.1.2 System Clock and Oscillator Circuits
3.1.3 8051 Internal Architecture
3.2 Ports
3.2.1 Port Reading and Writing
3.2.2 The Port Alternate Functions
3.3 Memory and SFR
3.3.1 Memory
3.3.2 Special Function Registers (SFRs)
3.4 SFRs and Interrupts
3.4.1 External Interrupts
3.4.2 Timer/Counter Interrupts
3.4.3 Serial Interrupts
3.5 Summary
3.6 Review Questions
3.7 Exercises
References
4 Embedded C Programming with 8051
4.1 Overview
4.2 Memory in 8051 C Programming
4.2.1 8051 Memory Types
4.2.2 Memory Models
4.3 Data Types of 8051 C
4.4 Functions
4.4.1 Interrupt Functions
4.4.2 Reentrant Functions
4.4.3 Real Time Function
4.5 Pointers
4.6 Mix C and Assembly Code
4.7 Modular Programming in C
4.7.1 Scope of Functions and Variables
4.7.2 Header Files
4.7.3 Multi-module C Programming
4.8 Lab: Debug and Test Embedded C Program with the Keil 181;Vision3
4.9 Practice Examples
4.10 Summary
4.11 Review Questions
4.12 Programming Exercises
References
5 Real-Time Operating Systems
5.1 Overview
5.2 RTX51-Tiny
5.3 Task Scheduling
5.3.1 Round Robin Multitasking
5.3.2 Cooperative Multitasking
5.3.3 Priority-Driven Preemptive Multitasking
5.4 RTOS Events
5.4.1 Signal Event Based Communication
5.4.2 Message Event Based Communication
5.4.3 Semaphores
5.4.4 Attaching Interrupts to Tasks
5.5 When to Use RTOS
5.6 Practice Labs
5.7 Summary
5.8 Review Questions
5.9 Exercises
References
6 Serial Communications
6.1 I
English