| Introduction |
External Memory Interface |
Using The Debugger |
| Chapter 1: The ARM7 CPU Core |
Using The External Bus Interface |
Using The ULINK Hardware Debugger |
| Outline |
Booting From ROM |
Setting up the ULINK JTAG hardware debugger: |
| The Pipeline |
Phase Locked Loop |
Exercise 2: Startup code |
| Registers |
VLSI Peripheral Bus Divider |
Exercise 3: Using THUMB code |
| Current Program Status
Register |
Example Code: |
Exercise 4: Using STDIO
libraries |
| Exception Modes |
Power Control |
Exercise 5: Simple interrupt |
| ARM 7 Instruction Set |
LPC2000 Interrupt System |
Exercise 6: Software Interrupt |
| Branching |
Pin Connect Block |
Exercise 7: Memory Accelerator Module |
| Data Processing Instructions |
External Interrupt Pins |
Exercise 8: In-Application programming |
| Copying Registers |
Interrupt Structure |
Exercise 9: External Bus Interface |
| Copying Multiple Registers |
FIQ interrupt |
Exercise 10 Phase Locked Loop |
| Swap Instruction |
Leaving An FIQ Interrupt |
Exercise 11: Fast Interrupt |
| Modifying The Status Registers |
Example Program: FIQ
Interrupt |
Exercise 12: Vectored Interrupt |
| Software Interrupt |
Vectored IRQ |
Exercise 13: Non Vectored Interrupt |
| MAC Unit |
Leaving An IRQ Interrupt |
Exercise 14: Nested
Interrupts |
| THUMB Instruction Set |
Leaving An IRQ Interrupt |
Exercise 15: General purpose IO pins |
| Summary |
Example Program: IRQ interrupt |
Exercise 16: Timer Capture |
|
Non-Vectored Interrupts |
Exercise 17: Timer Match |
| Chapter 2: Software
Development |
Leaving A Non-Vectored IRQ Interrupt |
Exercise 18: Dual-Edge (Symmetrical) PWM Generation. |
| Outline |
Example Program: Non-Vectored Interrupt |
Exercise 19: Real Time Clock |
| Which Compiler? |
Nested Interrupts |
Exercise 20: UART |
| uVISION IDE |
Summary |
Exercise 21: I2C interface |
| Tutorial |
|
Exercise 22: SPI |
| Startup Code |
Chapter 4: User Peripherals |
Exercise 23: Analog To Digital Converter |
| Interworking ARM/THUMB Code |
Outline |
Exercise 24: Digital
to Analogue Converter |
| STDIO Libraries |
General Purpose I/O |
Exercise 25: Transmitting CAN Data |
| Accessing Peripherals |
General Purpose Timers |
Exercise 26: Receiving CAN Data |
| Interrupt Service Routines |
PWM Modulator |
|
| Exception source |
Real Time Clock |
Chapter 6: Tutorial With GNU Tools |
| Software Interrupt |
Watchdog |
Intoduction |
| Locating Code In RAM |
UART |
GCC Startup Code |
| Operating System Support |
I2C Interface |
Interworking ARM/THUMB Code |
| Fixing Objects At Absolute
Locations |
SPI Interface |
Accessing Peripherals |
| Inline Assembler |
Analog To Digital Converter |
Interrupt Service Routines |
| Hardware Debugging Tools |
Digital To Analog Converter |
Software Interrupt |
| Important! |
CAN Controller |
Inline Functions |
| Even More Important |
ISO 7 Layer Model |
Exercise 1: Using The Keil Tools With GNU |
| Summary |
CAN Node Design |
Exercise 2: Startup Code |
|
CAN Message Objects |
Exercise 3: Using THUMB Code |
| Chapter 3: System Peripherals |
CAN Bus Arbitration |
Exercise 4: Using The GNU Libraries |
| Outline |
Bit Timing |
Exercise 5: Simple Interrupt |
| Bus Structure |
CAN Message Transmission |
Exercise 6: Software Interrupt |
| Memory Map |
CAN Error Containment |
|
| Register Programming |
CAN Message Reception |
Appendices |
| Memory Accelerator Module |
Acceptance Filtering |
Appendix A |
| Example MAM Configuration |
Configuring The Acceptance Filter |
Bibliography |
| FLASH Memory Programming |
Summary |
Webliography |
| Memory Map Control |
|
Reference Sites |
| Bootloader |
Chapter 5: Keil Tutorial |
Tools and Software Development |
| Philips ISP Utility |
Installation |
Evaluation Boards And Modules |
| In-Application Programming |
Using the Keil UVISION IDE |
|
| External Bus Interface |
Exercise 1: Using the Keil Toolset |
|
|
|
|