1. Home
2. Science & Engineering
3. Electrical & Computer Engineering
4. Computer Engineering

Fundamentals of Embedded Software with the ARM Cortex-M3, 1st edition

• Daniel W. Lewis

1st edition

Chosen format
View all

ISBN-13: 9780132916615

Includes: Unassigned

This product is not available in your country

• Unassigned

Overview

1 Introduction

1.1  WHAT IS AN EMBEDDED SYSTEM?

1.2  WHAT’S UNIQUE ABOUT THE DESIGN GOALS FOR EMBEDDED SOFTWARE?

1.3  What Does "Real-Time" Mean?

1.5  HOW POWERFUL ARE EMBEDDED PROCESSORS?

1.6  WHAT PROGRAMMING LANGUAGES ARE USED?

1.7  HOW IS BUILDING AN EMBEDDED APPLICATION DIFFERENT?

1.8  HOW BIG ARE TYPICAL EMBEDDED PROGRAMS?

PROBLEMS

2 Data Representation

2.1  FIXED-PRECISION BINARY NUMBERS

2.2 POSITIONAL NUMBER SYSTEMS

2.2.1 Binary-to-Decimal Conversion

2.2.2 Decimal-to-Binary Conversion

2.2.3 Hexadecimal — A Shorthand for Binary

2.2.4 Fixed Precision, Rollover and Overflow

2.3 BINARY REPRESENTATION OF INTEGERS

2.3.1 Signed Integers

2.3.2 Positive and Negative Representations of the Same Magnitude

2.3.3 Interpreting the Value of a 2’s-Complement Number

2.3.4 Changing the Sign of Numbers with Integer and Fractional Parts

2.3.6 Range and Overflow

2.4 BINARY REPRESENTATION OF REAL NUMBERS

2.4.1 Floating-Point Real Numbers

2.4.2 Fixed-Point Real Numbers

2.5 ASCII REPRESENTATION OF TEXT

2.6 BINARY-CODED DECIMAL (BCD)

PROBLEMS

3 Implementing Arithmetic

3.1  2’s Complement and hardware complexity

3.2   MULTIPLICATION AND DIVISION

3.2.1 Signed vs. Unsigned Multiplication

3.2.2 Shifting Instead of Multiplying or Dividing by Powers of 2

3.2.3 Multiplying by an Arbitrary Constant

3.2.4 Dividing by an Arbitrary Constant

3.3   ARITHMETIC FOR FIXED-POINT REALS

3.3.1 Fixed-Point Using a Universal 16.16 Format

3.3.2 Fixed-Point Using a Universal 32.32 Format

3.3.3 Multiplication of 32.32 Fixed Point Reals

3.3.4 Example: Multiplying two 4.4 Fixed Point Reals

PROBLEMS

4 Getting the Most Out of C

4.1   Integer Data Types

4.1.1 Integer Range and the Standard Header File LIMITS.H

4.2   BOOLEAN Data Types

4.3 Mixing Data Types

4.4 Manipulating Bits in Memory

4.4.1 Testing Bits

4.4.2 Setting, Clearing, and Inverting Bits

4.4.3 Extracting Bits

4.4.4 Inserting Bits

4.5 Manipulating Bits in INPUT/OUTPUT PORTS

4.5.1 Write-Only I/O Devices

4.5.2 I/O Devices Differentiated by Reads Versus Writes

4.5.3 I/O D

For teachers

All the material you need to teach your courses.

Discover teaching material