Embedded Systems Building Blocks: Complete and Ready-to-Use Modules in C

Hardcover
from $0.00

Author: Jean J. Labrosse

ISBN-10: 0879306041

ISBN-13: 9780879306045

Category: Computer Hardware - General

- This second edition features revisions that support the latest version of the author's popular operating system and book, MicroC/OS-II - Complete and ready-to-use modules in C Get a clear explanation of functional code modules and microcontroller theory

Search in google:

This second edition features revisions that support the latest version of the author's popular operating system and book, MicroC/OS-II Complete and ready-to-use modules in C Get a clear explanation of microcontroller theory and functional code modules that can be used to create essential embedded system functions. Take the mystery out of embedded systems design with concrete programming examples. You will learn: key concepts unique to embedded systems and real-time kernels. scaled arithmetic, or fixed point math, which is an essential concept for skilled systems developers. Save time building your own products. You will save days — or even weeks — of development time by using the fully functional source code modules that provide the common processes of embedded systems. The author is renowned for his clean and consistent code. Hardware interface functions have been carefully isolated to minimize the work needed to adapt each module to your own microprocessor specific hardware. The modules include some of the most common building blocks used in embedded systems; keyboard scanners, display interfaces, timers, and I/Os, among others. Most of the code is written in highly portable C. This second edition features revisions that permit you to employ the features of the latest generation of real-time kernels, including the author's own MicroC/OS-II. Presentation of the material has been reorganized to make the book easier to use, and the following sections have been improved: A substantially revised chapter on real-time concepts that introduces key concepts unique to embedded systems and the use of real-time kernels. Anew chapter on PC Services to allow you to use industrial PCs as embedded devices. A reference section for each of the building blocks that makes the code easier to use.

Preface What's new in the Second Edition? Goals Intended Audience Portability What Will You Need to Use this Book? Acknowledgments Introduction Figure, Listing, and Table Conventions Source Code Conventions Chapter Contents Web Site Bibliography Sample Code Installing Embedded Systems Building Blocks How Each Chapter Is Organized INCLUDES. H. Complier Independent Data Types CFG.C and CFG.H Global Variables OS_ENTER_CRITICAL () and OS_EXIT_CRITICAL () ESBB Sample Code Bibliography Real-Time Systems Concepts Foreground/Background Systems Critical Section of Code Resource Shared Resource Multitasking Task Context Switch (or Task Switch) Kernel Schedular Non-Preemptive Kernel Preemptive Kernel Reentrancy Round-Robin Scheduling Task Priority Static Priorities Dynamic Priorities Priority Inversions Assigning Task Priorities Mutual Exclusion Deadlock (or Deadly Embrace) Synchronization Event Flags Intertask Communication Message Mailboxes Message Queues Interrupts Interrupt Latency Interrupt Response Interrupt Recovery Interrupt Latency, Response, and Recovery ISR Processing Time Nonmaskable Interrupts (NMIs) Clock Tick Memory Requirements Advantages and Disadvantages of Real-Time Kernels Real-Time Systems Summary Bibliography Keyboards Keyboard Basics Matrix Keyboard Scanning Algorithm Matrix Keyboard Module Internals Interface Functions KeyFlush () KeyGetKey () KeyGetKeyDownTime () KeyHit () KeyInit () Configuration How to Use the Matrix Keyboard Module Bibliography Multiplexed LED Displays LED Displays Multiplexed LED Display Module Internals Interface Functions DispClrScr () DispInit () DispStatClr () DispStatSet () DispStr () Conifugration How to Use the Multiplexed LED Display Module Bibliography Character LCD Modules Liquid Crystal Displays Character LCD Modules Character LCD Module, Internals Interface Functions DispChar () DispClrLine () DispClrScr () DispDefChar () DispHorBar () DispHorBarInit () DispInit () DispStr () LCD Module Display, Configuration LCD Module Manufacturers Time-of-Day Clock Clocks/Calendars Clock/Calendar Module Internals Interface Functions ClkFormatDate () ClkFormatTime () ClkFormatTS () ClkGetTS () ClkInit () ClkMakeTS () ClkSetDate () ClkSetDateTime () ClkSetTime () Clock/Calendar Module, Configuration Bibliogrpahy Timer Manager Timer Manager Module Timer Manager Moduler, Internals Timer Manager Module, Interface Functions TmrCfgFnct () TmrChk () TmrFormat () TmrInit () TmrReset () TmrSetMST TmrSetT () TmrStart () TmrStop () Timer Manager Module, Configuration Bibliography Discrete I/Os Discrete Inputs Discrete Outputs Discrete I/O Module Discrete I/O Module, Internals Discret I/O Module, Interface Functions DICfgEdgeDetectFnct () DICfgMode () DIClr () DIGet () DIOInit () DISetBypass () DISetBypassEn () DOCfgBlink () DOCfgMode () DOGet () DOSet () DOSetBypass () DOSetBypassEn () DOSetSyncCtrMax () Configuration How to Use the Discrete I/O Module Fixed-Point Math Fixed-Point Numbers Fixed-Point Addition and Subtraction Fixed-Point Multiplication Fixed-Point Division Fixed-Point Comparison Using Fixed-Point Arithmetic, Example #1 Using Fixed-Point Arithmetic, Example #2 Using Fixed-Point Arithmetic, Example #3 Conclusion Bibliography Analog I/Os Analog Inputs Reading an ADC Temperature Measurement Example Analog Outputs Temperature Display Example Analog I/O Module Internals Interface Functions AICfgCal () AICfgConv () AICfgScaling () AIGet () AIOInit () AISetBypass () AISetBypassEn () AOCfgCal () AOCfgConv () AOCfgScaling () AOSet () AOSetBypass () AOSetBypassEn () Analog I/O Module, Configuration How to Use the Analog I/O Module Bibliography Asynchronous Serial Communications Asynchronous Communications RS-232C RS-485 Sending and Receiving Data Serial Ports on a PC Low-Level PC Serial I/O Module (COMM_PC) CommCfgPort () CommRxFlush () CommRxIntDis () CommRxIntEn () CommTxIntDis () CommTxIntEn () CommSetIntVect () CommRclIntVect () Buffered Serial I/O Module (COMMBGND) CommGetChar () CommInit () CommIsEmpty () CommIsFull () CommPutChar () Buffered Serial I/O Module (COMMRTOS) CommGetChar () CommInit () CommIsempty () CommIsFull () CommPutChar () Configuration How to use the COMM_PC and the COMMBGND Module How to use the COMM_PC and the COMMRTOS Module Bibliography PC Services Character Based Display Saving and Restoring DOS's Context Elapsed Time Measurement Miscellaneous Interface Functions PC_DispChar () PC_DispClrcol () PC_DispClrRow () PC_DispClrScr () PC_DispStr () PC_DOSReturn () PC_DOSSaveReturn () PC_ElapsedInit () PC_Elapsedstart () PC_ElapsedStop () PC_GetDateTime () PC_GetKey () PC_SetTickRate () PC_VectGet () PC_VectSet () Bibliography Appendix A C/OS-II, The Real-Time Kernel OSInit () OSSemCreate () OSSemPend () OSSemPost () OSStart () OSStatInit () OSTaskCreate () OSTaskCreateExt () OSTimeDly () OSTimeDlyHMSM () OSVersion () OS)ENTER_CRITICAL () and OS_EXIT_CRITICAL () Appendix B Programming Conventions B.00 Directory Structure B.01 C Programming Style B.02 Bibliography Appendix C Acronym, Abbreviation, and Mnemonic Dictionary Appendix D HPLISTC and TO D.00 HPLISTC D.01 TO Appendix E Companion CD-ROM E.00 Hardware/Software Requirements E.01 Installation E.02 Directory Structure E.03 Finding Errors E.04 Licensing Index