Description

Book Synopsis
Learn to program the Raspberry Pi Pico''s dual ARM Cortex M0+ CPUs in Assembly Language.  The Pico contains a customer System on a Chip (SoC) called the RP2040, making it the Foundation''s first entry into the low-cost microcontroller market. The RP2040 contains a wealth of coprocessors for performing arithmetic as well as performing specialized I/O functionality. This book will show you how these CPUs work from a low level, easy-to-learn perspective.     

There are eight new Programmable I/O (PIO) coprocessors that have their own specialized Assembly Language supporting a wide variety of interface protocols. You''ll explore these protocols and write programs or functions in Assembly Language and interface to all the various bundled hardware interfaces. Then go beyond working on your own board and projects to contribute to the official RP2040 SDK. Finally, you''ll take your DIY hardware projects to the next level of performance and functionality w

Table of Contents
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

CMake

GNU Make

Print Statements

GDB

Chapter 4: Loading and Adding

Negative Numbers

Little Endian Format

How to Shift and Rotate

MOV/MVN

ADD/ADC

SUB/SBC

Chapter 5: How to Controll Program Flow

Unconditional Branch

About the CPSR

Branch on Condition

About the CMP Instruction

Loops

If/Then/Else

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

PWM

Chapter 10: How to Set and Catch Interrupts

Overview

How to Create an Interrupt Handler

Timers Example

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

Overview

SDK Support

PIO Instructions

How to Control Timing

Examples

Chapter 12: How to Connect Pico to IoT

Connectivity Options

Using a UART or I2C

Internet Basics

Security

Chapter 13: Multiplication, Division and Floating Point

Multiplication Coprocessor

Division Coprocessor

Interpolation

Floating Point Library

Chapter 14: Multiprocessing

Using Both CPU Cores

How to Synchronize and Share Resources


Audience: Intermediate

RP2040 Assembly Language Programming

    Product form

    £44.99

    Includes FREE delivery

    RRP £49.99 – you save £5.00 (10%)

    Order before 4pm today for delivery by Fri 12 Jun 2026.

    A Paperback by Stephen Smith

    Out of stock


      View other formats and editions of RP2040 Assembly Language Programming by Stephen Smith

      Publisher: APress
      Publication Date: 1/28/2021 12:10:00 AM
      ISBN13: 9781484277522, 978-1484277522
      ISBN10: 148427752X

      Description

      Book Synopsis
      Learn to program the Raspberry Pi Pico''s dual ARM Cortex M0+ CPUs in Assembly Language.  The Pico contains a customer System on a Chip (SoC) called the RP2040, making it the Foundation''s first entry into the low-cost microcontroller market. The RP2040 contains a wealth of coprocessors for performing arithmetic as well as performing specialized I/O functionality. This book will show you how these CPUs work from a low level, easy-to-learn perspective.     

      There are eight new Programmable I/O (PIO) coprocessors that have their own specialized Assembly Language supporting a wide variety of interface protocols. You''ll explore these protocols and write programs or functions in Assembly Language and interface to all the various bundled hardware interfaces. Then go beyond working on your own board and projects to contribute to the official RP2040 SDK. Finally, you''ll take your DIY hardware projects to the next level of performance and functionality w

      Table of Contents
      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

      CMake

      GNU Make

      Print Statements

      GDB

      Chapter 4: Loading and Adding

      Negative Numbers

      Little Endian Format

      How to Shift and Rotate

      MOV/MVN

      ADD/ADC

      SUB/SBC

      Chapter 5: How to Controll Program Flow

      Unconditional Branch

      About the CPSR

      Branch on Condition

      About the CMP Instruction

      Loops

      If/Then/Else

      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

      PWM

      Chapter 10: How to Set and Catch Interrupts

      Overview

      How to Create an Interrupt Handler

      Timers Example

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

      Overview

      SDK Support

      PIO Instructions

      How to Control Timing

      Examples

      Chapter 12: How to Connect Pico to IoT

      Connectivity Options

      Using a UART or I2C

      Internet Basics

      Security

      Chapter 13: Multiplication, Division and Floating Point

      Multiplication Coprocessor

      Division Coprocessor

      Interpolation

      Floating Point Library

      Chapter 14: Multiprocessing

      Using Both CPU Cores

      How to Synchronize and Share Resources


      Audience: Intermediate

      Recently viewed products

      © 2026 Book Curl

        • American Express
        • Apple Pay
        • Diners Club
        • Discover
        • Google Pay
        • Maestro
        • Mastercard
        • PayPal
        • Shop Pay
        • Union Pay
        • Visa

        Login

        Forgot your password?

        Don't have an account yet?
        Create account