: Kai Qian, David den Haring, Li Cao
: Embedded Software Development with C
: Springer-Verlag
: 9781441906069
: 1
: CHF 55.00
:
: Programmiersprachen
: English
: 397
: DRM
: PC/MAC/eReader/Tablet
: PDF

Embedded Software Development With C Kai Qian About this textbook:

  • Intellig ble presentation of the fundamentals of embedded systems design and development using the C programming language and the 8051 microcontroller.
  • Exam nes the longevity and relevancy of the 8051 microcontroller for designing embedded systems in present applications.
  • Include 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.

Embedded Software Development with C2
1 Introduction to Embedded Systems14
1.1 Overview14
1.2 Categories of Embedded Systems15
1.3 Application Areas of Embedded Systems17
1.4 Characteristics of Embedded systems17
1.5 Hardware Overview19
1.5.1 Overall Architecture19
1.5.2 Memory22
1.5.3 Bus24
1.5.4 I/O Ports25
1.5.5 Clock Oscillator, Timer and Watchdog27
1.5.6 Analog to Digital Converter (ADC) and DAC28
1.6 Embedded Software Design and Development28
1.6.1 Software Engineering Life cycle29
1.6.2 Choose RTOS and Programming Language30
1.7 Practice Labs32
1.7.1 Getting Started with the Keil mVision3 C51 Development Kit32
1.7.2 Lab with 8051 Microcontroller Development Kit40
1.8 Summary48
1.9 Review questions49
1.10 Exercises50
References50
2 Embedded Software Design and Development51
2.1 Overview51
2.2 Software Requirement Specification53
2.3 Embedded Software Modeling Analysis and Design54
2.3.1 Context Diagram54
2.3.2 Finite State Machine (FSM) and State Chart54
2.4 Time Requirement Analysis for Real-Time Systems61
2.4.1 Non-Preemptive Scheduling63
2.4.2 Pre-emptive Scheduling64
2.4.3 RMS65
2.4.4 Dynamic scheduling with EDF67
2.5 Multi-Tasking Design Methodology68
2.5.1 Polling69
2.5.2 Interrupts70
2.5.3 RTOS72
2.6 Software Design Issues74
2.6.1 Task Interactions74
2.6.2 Resource Sharing75
2.7 Lab Practice: A Traffic Light Control System Modelingand Design78
2.8 Summary80
2.9 Review Questions81
2.10 Exercises82
References83
3 8051 Microcontroller84
3.1 Overview84
3.1.1 8051 Chip Pins85
3.1.2 System Clock and Oscillator Circuits86
3.1.3 8051 Internal Architecture87
3.2 Ports89
3.2.1 Port Reading and Writing89
3.2.2 The Port Alternate Functions90
3.3 Memory and SFR91
3.3.1 Memory91
3.3.2 Special Function Registers (SFRs)93
3.4 SFRs and Interrupts101
3.4.1 External Interrupts102
3.4.2 Timer/Counter Interrupts103
3.4.3 Serial Interrupts103
3.5 Summary105
3.6 Review Questions105
3.7 Exercises107
References107
4 Embedded C Programming with 8051108
4.1 Overview108
4.2 Memory in 8051 C Programming109
4.2.1 8051 Memory Types109
4.2.2 Memory Models110
4.3 Data Types of 8051 C111
4.4 Functions115
4.4.1 Interrupt Functions115
4.4.2 Reentrant Functions120
4.4.3 Real Time Function122
4.5 Pointers122
4.6 Mix C and Assembly Code123
4.7 Modular Programming in C124
4.7.1 Scope of Functions and Variables125
4.7.2 Header Files127
4.7.3 Multi-module C Programming127
4.8 Lab: Debug and Test Embedded C Program with the KeilmVision3131
4.9 Practice Examples137
4.10 Summary144
4.11 Review Questions144
4.12 Programming Exercises146
References146
5 Real-Time Operating Systems147
5.1 Overview147
5.2 RTX51-Tiny150
5.3 Task Scheduling152
5.3.1 Round Robin Multitasking152
5.3.2 Cooperative Multitasking155
5.3.3 Priority-Driven Preemptive Multitasking157
5.4 RTOS Events159
5.4.1 Signal Event Based Communication159
5.4.2 Message Event Based Communication159
5.4.3 Semaphores160
5.4.4 Attaching Interrupts to Tasks160
5.5 When to Use RTOS161
5.6 Practice Labs161
5.7 Summary184
5.8 Review Questions184
5.9 Exercises186
References188
6 Serial Communications189
6.1 Introduction189
6.1.1 Serial vs. Parallel190
6.1.2 Simplex and Duplex190
6.2 UARTs and Transceivers191
6.2.1 UART191
6.2.2 Transceivers (aka Line Drivers)192
6.2.3 Asynchronous vs. Synchronous192
6.2.4 Data Transfer Rate193
6.3 Configuring the Serial Port194
6.4 Setting the Baud Rate195
6.5 Reading and Writing197
6.6 Handshaking198
6.6.1 Software Handshaking198
6.6.2 Hardware Handshaking198
6.7 Examples200
6.7.1 Example 1 – Hello World (Using STDIO)200
6.7.2 Example 2 – Hello World (Beyond the Serial Port)202
6.7.3 Example 3 – Interactive Console Using the Serial Port206
6.8 Summary210
6.9 Review Questions211
6.9.1 Key to the Review Questions:211
6.10 Exercises212
7 Survey of Popular Microcontrollers213
7.1 Introduction213
7.2 Features for Comparison214
7.2.1 Packages215