Introduction to Embedded Systems

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Author(s): Hamblen
Year: 2007

Language: English
Pages: 294

Preface......Page 8
Examples of Embedded Systems......Page 12
Real-Time Operating Systems......Page 15
Operating Systems for Embedded Systems......Page 16
Processors and Software used in new Embedded System Designs......Page 17
Introduction to the Embedded System Design Process......Page 21
Development of an Embedded Systems Design......Page 22
Memory Technologies used in Embedded Devices......Page 23
For additional information:......Page 24
Example of a first generation microprocessor bus......Page 26
Building I/O interface hardware that attaches to a bus......Page 31
Software used to transfer data to I/O Ports......Page 35
Example of a second generation microprocessor bus......Page 36
Example of a third generation microprocessor bus......Page 40
An Example X86 Embedded System......Page 41
Program Driven I/O Transfers......Page 42
Interrupt Driven I/O Transfers......Page 43
Direct Memory Access (DMA) I/O Transfers......Page 45
Unicode and ASCII character encodings......Page 46
Laboratory Exercises......Page 48
Parallel Printer Interface......Page 50
RS-232C Serial I/O Interface......Page 51
The PS/2 Keyboard and Mouse Interface......Page 54
SPI Bus Interface......Page 56
I2C Bus Interface......Page 57
Analog Inputs and Outputs......Page 60
The Universal Serial Bus (USB)......Page 61
Software support for USB devices......Page 63
Audio I/O Devices......Page 64
Interfacing to motors and relays......Page 65
For Additional Information......Page 66
Terminology......Page 68
Frame Types......Page 69
CSMA/CD over a Shared Medium Ethernet......Page 70
Segmentation, Bridges, and Routers......Page 71
The TCP/IP Network Protocol......Page 72
Application Protocols......Page 73
Software support for Networking......Page 74
For Additional Information......Page 75
Architecture of the eBox 2300......Page 78
Booting the eBox......Page 80
Interfacing external hardware to the eBox 2300......Page 82
Interfacing external hardware using USB......Page 83
Interfacing external hardware using the Serial Port......Page 84
Low-cost Sensors for Embedded System Projects......Page 85
Using Servos for Embedded System Projects......Page 87
Example Student Projects using the eBox......Page 88
Laboratory Exercises......Page 92
Architecture of a Real-Time Embedded OS – CE 6.0......Page 94
User Applications......Page 96
The Kernel......Page 98
Memory Architecture......Page 99
File systems......Page 106
Processes and Threads......Page 108
Multitasking and Scheduling......Page 110
Priority Levels......Page 111
Priority inversion......Page 112
Real-Time Performance......Page 113
Synchronization Primitives......Page 115
Interprocess Communication......Page 118
Interrupt Processing......Page 119
Device Drivers......Page 123
User Mode Drivers......Page 124
The Registry......Page 126
Hive-Based Registry......Page 127
Device Manager......Page 128
Device Manager Components......Page 129
I/O Resource Manger......Page 130
Loader......Page 131
Power Management......Page 132
OS Security Features......Page 135
OS Networking Features......Page 137
The OS Build System and Platform Builder......Page 141
Platform Builder Terminology......Page 142
Building a Run-time image......Page 143
Build System Configuration Files......Page 145
For Additional Information......Page 149
Videos & Virtual Labs: An introduction to the CE tools via t......Page 152
Windows Embedded CE 6.0 Writing C# Managed Applications......Page 153
Software Installation Instructions......Page 154
Start the Visual Studio 2005 IDE......Page 156
Creating a new OS Design Project......Page 157
Selecting the BSP for the eBox......Page 159
Selecting an initial Design Template......Page 160
Selecting the Design Template Variant......Page 161
Selecting Applications and Media Options......Page 162
Selecting Networking and Communications Options......Page 163
Acknowledge Security Notifications......Page 164
Customizing the OS Design......Page 165
Configuration Manager and the Debug & Release Build......Page 167
Setting Project Build Options......Page 168
Setting OS Environment Variables......Page 169
Network Setup Options for the eBox......Page 172
Setting the Target Device Connectivity Options......Page 173
Downloading the Image to the eBox 2300......Page 176
Tutorial III: Creating, compiling, and debugging a C/C++ Sub......Page 179
Creating a MyOS Release Build......Page 184
Tutorial IV: Generating a new SDK for use by application dev......Page 185
OS Build Requirements to Deploy Applications......Page 189
Creating and Writing a C# Project......Page 190
Tutorial VI: Deploying new application code to the target de......Page 194
Laboratory Exercises......Page 203
FileIO example program......Page 206
SerialIO example program using OS File I/O Calls......Page 207
PortIO example program using the CE Device Driver Kit......Page 211
Linking to other modules using the Project’s sources file......Page 215
ILASMIO example program using in-line X86 assembly code......Page 217
Thread and synchronization event example program......Page 220
The Producer Consumer Problem......Page 224
AC97 example program using CE API audio functions......Page 230
A basic Windows application, the Hello World example......Page 231
Managed Code vs. Native Code......Page 235
The C# Hello World Example Program......Page 236
Phidget USB drivers and example programs......Page 237
Calling C/C++ functions from C#......Page 240
Laboratory Exercises......Page 241
Introduction to I/O Device Drivers......Page 246
The Stream Interface Model for Device Drivers......Page 247
ISR & IST Processing for Device Drivers......Page 252
DMA operations in Device Drivers......Page 258
A simple example device driver for the Ebox......Page 259
For Additional Information......Page 269
Laboratory Exercises......Page 270
Porting the OS to a new device......Page 272
Developing a BSP for a new board design......Page 273
Developing a Bootloader for a new device......Page 274
Modifying the OEM Adaptation Layer......Page 275
Moving a new OS image to the eBox for standalone booting......Page 278
Tools for Testing......Page 279
Safety-Critical Coding......Page 283
Licensing and IP issues for Embedded Systems......Page 284
Laboratory Exercises......Page 286
Appendix A: Automatically running an Application......Page 287
Appendix B: Using the CE Remote Display Application......Page 289
Appendix C: Making a bootable USB drive for the eBox......Page 291
Appendix D: Information on the CD-ROM Design Files......Page 293