Embedded Systems Engineering
C R Sarma
Price
725
ISBN
9788173716768
Language
English
Pages
208
Format
Paperback
Dimensions
180 x 240 mm
Year of Publishing
2011
Territorial Rights
World
Imprint
Universities Press

This introductory book on embedded systems focuses on the basic concepts of embedded computing. The reader is familiarised with the 8051 processor architecture and assembly-level programming concepts before being introduced to application-level embedded programming and issues related to design—resource management, real-time operating constraints, RTOS, interfacing of embedded processors with networks and other electronic devices, among others. The book also looks at the architectures of advanced processors like ARM and SHARC for embedded systems. The examples included in the book are well thought-out and help to ground the theory of the embedded design process. This, together with the plentiful self-evaluation questions at the close of each chapter makes the book an ideal introductory text for a course on embedded systems engineering.

C R Sarma is an associate professor in the Department of Electronics and Communications Engineering at the G Narayanamma Institute of Technology and Science, Hyderabad. His areas of interest are microprocessors, microcontrollers, embedded systems, computer networks and robotics. His passion lies in developing innovative applications using embedded systems and training young professionals in the subject. He is the author of several books including Computer Networks: A Pragmatic Approach (Jaico Publishing House), Intel Microprocessors (Pearson Education), Microprocessors and Microcontrollers (Premier Publishing House).
Preface ix

1 Embedded Computing
1.1 Embedded Systems and Human Intelligence
1.2 Complex Systems and Microprocessors
1.3 The Embedded System Design Process
1.4 Formalisms for System Design
1.5 Design Example: Automatic Cooking Oven
1.6 A few Brief Examples of the Possibilities of Embedded Systems
Self Evaluation Questions

2 The 8051 Architecture
2.1 Introduction
2.2 8051 Microcontroller Hardware
2.3 Input/Output Ports and Circuits
2.4 Internal and External Memory
2.5 Counter and Timers
2.6 Serial Data Input/Output
2.7 Interrupts
Self Evaluation Questions

3 Concepts in Assembly Language Programming
3.1 Introduction
3.2 Assembly Language Programming: The Process
3.3 Programming Tools and Techniques
3.4 Programming the 8051: Data Transfer and Logical Instructions
Self Evaluation Questions

4 Arithmetic Transfer Control Instructions
4.1 Arithmetic Operations
4.2 Logic Instructions
4.3 Flags Affected by Instructions
4.4 Bit Manipulation Instructions
4.5 Jump and Call Instructions
4.6 Examples of Binary and Decimal Arithmetic Operations
Self Evaluation Questions

5 Application Programming
5.1 Developing Applications
5.2 Display
5.3 The Keyboard
5.4 Conversion and Interfacing of Different Data Types
5.5 Multiple Interrupts
Self Evaluation Questions



6 Real–Time Operating Systems
6.1 Real-Time Processing
6.2 What is a Real-Time Operating System?
6.3 The Mode of Operation of an RTOS
6.4 Differences Between a Desktop OS and an RTOS
6.5 More about Tasks and Task States
6.6 Blocked States, Semaphores and Messages
6.7 Semaphores and Shared Data
6.8 Message Queues, Mailboxes and Pipes
6.9 Timer Functions and Events
6.10 Events Management
6.11 Inter-Task Communication
6.12 Interrupt Routines in an RTOS Environment
Self Evaluation Questions

7 Basic Design Using a Real-Time Operating System
7.1 Designing with Real Time Operating Systems: Criteria for using RTOS
7.2 Designing with Real Time Operating Systems: Points to be considered
7.3 Hard Real-Time Scheduling Considerations
7.4 Saving Memory and Power
7.5 An example of an RTOS: C-OS (Open Source)
7.6 Embedded Software Development Tools: Host and Target Machines
7.7 Linker/Locators for Embedded Software
7.8 Getting Embedded Software into the Target System
7.9 Debugging Techniques: Testing on a Host Machine
Self Evaluation Questions

8 Introduction to Advanced Architectures
8.1 ARM and SHARC
8.2 Bus Protocols: I2C Bus and CAN Bus
8.3 Networked Embedded Systems
8.4 Internet-Enabled Systems
8.5 Design Example: Elevator Controller
Self Evaluation Questions

Appendix A: Instruction Set of 8051

Appendix B: 8051 Timer Programming
B.1 Initialising a Timer
B.2 Reading the Timer

Appendix C: 8051 Counter Programming
C.1 Limits to Reading Counters
C.2 Frequency Measurement: Tachometers

Appendix D: 8051 Serial Programming
D.1 Setting the Serial Port Baud Rate
D.2 Writing to the Serial Port
D.3 Reading the Serial Port
Appendix E: 8051 Interrupt Programming
E.1 Serial Interrupts
E.2 Common Problems with Interrupts

Appendix F: Keil IDE Project, Build, Debug
F.1 The Keil Integrated Design Environment

Index