Fundamentals to Embedded Software : Where C and Assembly Meet by Daniel W. Lewis (2001, Trade Paperback)

Better World Books (2742781)
98.9% positive Feedback
Price:
US $7.86
Approximately£5.92
+ $8.00 postage
Estimated delivery Fri, 23 May - Fri, 30 May
Returns:
30 days return. Buyer pays for return postage. If you use an eBay delivery label, it will be deducted from your refund amount.
Condition:
Very Good
Book

About this product

Product Identifiers

PublisherPrentice Hall PTR
ISBN-100130615897
ISBN-139780130615893
eBay Product ID (ePID)1954861

Product Key Features

Number of Pages266 Pages
LanguageEnglish
Publication NameFundamentals to Embedded Software : Where C and Assembly Meet
SubjectProgramming / General, Programming Languages / C, Programming Languages / Assembly Language, Computer Engineering
Publication Year2001
TypeTextbook
Subject AreaComputers
AuthorDaniel W. Lewis
FormatTrade Paperback

Dimensions

Item Height0.7 in
Item Weight22.1 Oz
Item Length7.2 in
Item Width9.4 in

Additional Product Features

Intended AudienceCollege Audience
LCCN2001-036058
Dewey Edition21
IllustratedYes
Dewey Decimal005.13/3
Table Of Content1. Introduction. What is an Embedded System? What's Unique About the Design Goals for Embedded Software? What Does "Real-Time" Mean? What Does "Multitasking" Mean? How Powerful Are Embedded Processors? What Programming Languages Are Used? What Is a "Real-Time Kernel"? How Is Building an Embedded Application Unique? How Big Are Typical Embedded Programs? The Software Used in This Book. 2. Data Representation. Fixed-Precision Binary Numbers. Binary Representation of Integers. Binary Representation of Real Numbers. ASCII Representation of Text. Binary-Coded Decimal (BCD). 3. Getting the Most Out of C. Integer Data Types. Mixing Data Types. Useful Typedefs and Defines. Manipulating Bits in Memory. Manipulating Bits in 1/O Ports. Accessing Memory-Mapped I/O Devices. Structures. Variant Access. 4. A Programmer's View of Computer Organization. Memory. The Central Processing Unit (CPU). Input/Output (I/O). Introduction to the Intel Architecture. The Intel Real Mode Architecture. The Intel Protected Mode Architecture. Operand and Address-Size Override Prefixes. The Intel Data Manipulation Instructions. 5. Mixing C and Assembly. Programming in Assembly. Register Usage Conventions. Typical Use of Addressing Options. Instruction Sequencing. Procedure Call and Return. Parameter Passing. Retrieving Parameters. Everything is Pass by Value. Temporary Variables. 6. Input/Output Programming. The Intel I/O Instructions. Synchronization, Transfer Rate, and Latency. Polled Waiting Loops. Interrupt-Driven I/O. Direct Memory Access. Comparison of Methods. 7. Concurrent Software. Foreground/Background Systems. Multithreaded Programming. Shared Resources and Critical Sections. 8. Scheduling. Thread States. Pending Threads. Context Switching. Round-Robin Scheduling. Priority-Based Scheduling. Assigning Priorities. Deadlock. Watchdog Timers. 9. Memory Management. Objects in C. Scope. Lifetime. Automatic Allocation. Static Allocation. Three Programs to Distinguish Static from Automatic. Dynamic Allocation. Automatic Allocation with Variable Size (alloca). Recursive Functions and Memory Allocation. 10. Shared Memory. Recognizing Shared Objects. Reentrant Functions. Read-Only Data. Coding Practices to Avoid. Accessing Shared Memory. 11. System Initialization. Memory Layout. The CPU. C Run-Time Environment. System Timer. Interrupt System. Appendix A: Contents of the CD-ROM. Appendix B: The DJGPP C/C++ Compiler. Installation. Compilation. On-Line Documentation (Info). Appendix C: The NASM Assembler. Installation. Running NASM. Appendix D: Programming Projects. Files Required from the CD-ROM for All Applications. Files Required for Nonpreemptive Multithreaded Applications. Files Required for Preemptive Multithreaded Applications. Compiling and Assembling Your Embedded Application. Linking Your Embedded Application. Preparing the Boot Diskette. Running Your Embedded Application. Appendix E: The LIBEPC Library. Memory Layout and Initialization. Display Functions (display.c). Window Functions (window.c). Keyboard Functions (keyboard.c). Speaker Functions (speaker.c). Timer Functions (timer.c, cycles.asm). Interrupt Vector Access Functions (init-idt.c). Dyamic Memory Allocation Functions (heap.c). Fixed Point (fixedpt.asm). Interfunction Jumps (setjmp.asm). Miscellaneous Functions (init-crt.c). Appendix F: The Boot Loader.
SynopsisThis book is intended to provide a highly motivating context in which to learn procedural programming language. It is designed for 2nd year courses in assembly language programming in computer science, embedded systems design, real-time analysis, computer engineering, or electrical engineering curricula and requires prior knowledge of C, C++, or Java., For sophomore-level courses in Assembly Language Programming in Computer Science, Embedded Systems Design, Real-Time Analysis, Computer Engineering, or Electrical Engineering curricula. Requires prior knowledge of C, C++, or Java. This book is intended to provide a highly motivating context in which to learn procedural programming language. Using a non-product specific approach and a programming (versus hardware) perspective, this text lays a foundation that supports the multi-threaded style of programming and high-reliability requirements of embedded software. Reflecting current industrial applications and programming practice, it focuses on the more modern 32-bit protected mode processors and on C as the dominant programming languagewith coverage of assembly and how it can be used in conjunction with, and support of, C., For sophomore-level courses in Assembly Language Programming in Computer Science, Embedded Systems Design, Real-Time Analysis, Computer Engineering, or Electrical Engineering curricula. Requires prior knowledge of C, C++, or Java. This book is intended to provide a highly motivating context in which to learn procedural programming language. Using a non-product specific approach and a programming (versus hardware) perspective, this text lays a foundation that supports the multi-threaded style of programming and high-reliability requirements of embedded software. Reflecting current industrial applications and programming practice, it focuses on the more modern 32-bit protected mode processors and on C as the dominant programming language with coverage of assembly and how it can be used in conjunction with, and support of, C.
LC Classification NumberTK7895.E42L49 2001

All listings for this product

Buy it now
Pre-owned

Ratings and reviews

5.0
1 product rating
  • 1 users rated this 5 out of 5 stars
  • 0 users rated this 4 out of 5 stars
  • 0 users rated this 3 out of 5 stars
  • 0 users rated this 2 out of 5 stars
  • 0 users rated this 1 out of 5 stars

Would recommend

Good value

Compelling content

Most relevant reviews

  • Will recommend it to teachers

    Verified purchase: YesCondition: Pre-owned