RP2040 Assembly Language Programming: ARM Cortex-M0+ on the Raspberry Pi Pico

Smith, Stephen

  • 出版商: Apress
  • 出版日期: 2021-10-28
  • 售價: $1,650
  • 貴賓價: 9.5$1,568
  • 語言: 英文
  • 頁數: 346
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 148427752X
  • ISBN-13: 9781484277522
  • 相關分類: ARMRaspberry PiAssembly
  • 立即出貨 (庫存=1)


Chapter 1: How to Set Up the Development Environment

About the Raspberry Pi Pico

About the Host Computer

How to Solder and Wire

How to Install Software

A Simple Program to Ensure Things are Working

Chapter 2: Our First Assembly Language Program

About the ARM Processor

Computers and Numbers

CPU Registers

ARM Instruction Format

RP2040 Memory

About the GCC Assembler

Flashing LEDs in Assembly Language

Chapter 3: How to Build and Debug Programs


GNU Make

Print Statements


Chapter 4: Loading and Adding

Negative Numbers

Little Endian Format

How to Shift and Rotate




Chapter 5: How to Controll Program Flow

Unconditional Branch

About the CPSR

Branch on Condition

About the CMP Instruction



Logical Operators

Design Patterns

Chapter 6: Thanks for the Memories

How to Define Memory Contents

How to Load a Register

PC Relative Addressing

How to Load from Memory

How to Index Through Memory

How to Store a Register

Hardware as Memory

Introduction to DMA

Chapter 7: How to Call Functions and Use the Stack

The Stack

Branch with Link

How to Nest Function Calls

Function Parameters and Return Values

How to Manage the Registers

Summary of the Function Call Algorithm

Stack Frames

Chapter 8: Interacting with C and the SDK

How to Call C Routines

How to Call Assembly Routines from C

How to Deal with Inline C Routines

How to Use SDK Header Files

Chapter 9: How to Program the Built-in Hardware

The GPIO Pins

Analog to Digital


Chapter 10: How to Set and Catch Interrupts


How to Create an Interrupt Handler

Timers Example

Chapter 11: How to Initialize and Interact with Programmable I/O


SDK Support

PIO Instructions

How to Control Timing


Chapter 12: How to Connect Pico to IoT

Connectivity Options

Using a UART or I2C

Internet Basics


Chapter 13: Multiplication, Division and Floating Point

Multiplication Coprocessor

Division Coprocessor


Floating Point Library

Chapter 14: Multiprocessing

Using Both CPU Cores

How to Synchronize and Share Resources

Audience: Intermediate