Introduction to Embedded Systems: Interfacing to the Freescale 9S12
Jonathan W. Valvano, Cengage Publishing, ISBN-10: 049541137X | ISBN-13: 9780495411376
1. Introduction to Embedded Microcomputer Systems
• Basic Components of an Embedded System
• Applications Involving Embedded System
• Flowcharts and Structured Programming
• Concurrent and Parallel Programming
• Product Development Cycle
• Successive Refinement
• Quality Design
• Debugging Theory
• Tutorial 1. Getting Started
• Homework Assignments
2. Introduction to Assembly Language Programming
• Binary and Hexadecimal Numbers
• Addresses, Registers and Accessing Memory
• Assembly Syntax
• Simplified 9S12 Machine Language Execution
• Simple Addressing Modes
• The Assembly Language Development Process
• Memory Transfer Operations
• Subroutines
• Input/Output
• Tutorial 2. Running with TExaS
• Homework Assignments
• Laboratory Assignments
3. Representation and Manipulation of Information
• Precision
• Boolean Information
• 8-Bit Numbers
• 16-Bit Numbers
• Extended Precision Numbers
• Logical Operations
• Shift Operations
• Arithmetic Operations: Addition and Subtraction
• Arithmetic Operations: Multiplication and Division
• Character Information
• Conversions
• Debugging Monitor using a LED
• Tutorial 3. Arithmetic and Logical Operations
• Homework Assignments
• Laboratory Assignments
4. 9S12 Architecture
• Introduction
• Understanding Software Execution At The Bus Cycle Level
• 9S12 Architecture Details
• The Stack
• 16-Bit Timer
• Memory Allocation
• Performance Debugging
• Tutorial 4. Building a Microcomputer and Executing Machine Code
• Homework Assignments
• Laboratory Assignments
5. Modular Programming
• Modular Design
• Making Decisions
• Macros
• Recursion
• Writing Quality Software
• How Assemblers Work
• Functional Debugging
• Tutorial 5a. Editing and Assembling
• Tutorial 5b. Microcomputer-Based Lock
• Homework Problems
• Laboratory Assignments
6. Pointers And Data Structures
• Indexed Addressing Modes used in Implement Pointers
• Arrays
• Strings
• Matrices
• Structures
• Tables
• Trees
• Finite State Machines with Statically-Allocated Linked Structures
• Dynamically Allocated Data Structures
• 9S12 Paged Memory
• Functional Debugging
• Tutorial 6. Software Abstraction
• Homework Assignments
• Laboratory Assignments
7. Local Variables And Parameter Passing
• Local versus Global
• Stack Rules
• Local Variables Allocated on the Stack
• Stack Frames
• Parameter Passing using Registers, Stack and Global Variables
• Tutorial 7. Debugging Techniques
• Homework Problems
• Laboratory Assignments
8. Serial and Parallel Port Interfacing
• General Introduction to Interfacing
• Serial Communications Interface, SCI
• Synchronous Peripheral Interface, SPI
• Scanned Keyboards
• Parallel Port LCD Interface with the HD44780 Controller
• Binary Actuators
• Pulse-Width Modulation
• Stepper Motors
• Homework Problems
• Laboratory Assignments
9. Interrupt Programming and Real-Time Systems
• I/O Synchronization
• Interrupt Concepts
• Key Wakeup Interrupts
• Periodic Interrupt Programming
• Real-Time Interrupt (RTI)
• Timer Overflow, Output Compare and Input Capture
• Pulse Accumulator
• Direct Memory Access
• Hardware Debugging Tools
• Profiling
• Tutorial 9. Profiling
• Homework Problems
• Laboratory Assignments
10. Numerical Calculations
• Fixed-Point Numbers
• Extended Precision Calculations
• Expression Evaluation
• IEEE Floating-Point Numbers
• Tutorial 10. Overflow and Dropout
• Homework Problems
• Laboratory Problems
11. Analog I/O Interfacing
• Approximating Continuous Signals In The Digital Domain
• Digital to Analog Conversion
• Music Generation
• Analog To Digital Conversion
• Multiple Access Circular Queues
• Real-Time Data Acquisition
• Control Systems
• Tutorial 11. Analog Input Programming
• Homework Problems
• Laboratory Assignments
12. Communication Systems
• Introduction
• Reentrant Programming and Critical Sections
• Interthread Communication and Synchronization
• Serial Port Interface Using Interrupt Synchronization
• Distributed Systems.
• Design and Implementation of a Controller Area Network (CAN)
• Inter-Integrated Circuit (I2C) Interface
• Wireless Communication
• Tutorial 12. Performance Debugging
• Homework Problems
• Laboratory Assignments
Appendix 1. Embedded System Development Using TExaS
• Introduction to TExaS
• Major Components of TExaS
• Embedded System Design Process
• Running and Modifying Existing Assembly Language Programs
• TExaS Editor
• Assembly Language Syntax
• TExaS Viewbox
• Microcomputer Interfacing In TExaS
Appendix 2. Running on an Evaluation Board
Appendix 3. Systems Engineering
• Design for Manufacturability
• Battery Power
Appendix 4. Glossary of Terms
Appendix 5. Solutions Manual
• Checkpoint Solutions
• Tutorial Solutions
Index
How to download and install TExaS
A) Go to Cengage site
http://www.cengage.com/engineering/valvano
B) Click Student Companion Site for Introduction to Embedded Systems:
Interfacing to the Freescale 9S12, 1st Edition
C) Click TExaS Software (on left)
D) Download 54 Meg zip file and unzip
E) Execute setup.exe in folder created by the zip file.
F) In Setup Type, choose Custom.
G) Select only 9S12DP (whatever microcontroller you will be using). The
GCC is a huge and not very efficient compiler, and the examples and
manuals on the web are more recent.
H) Delete zip file and the folder created containing the setup.exe.
Last updated January 1, 2010 Send comments to: Jonathan W. Valvano .