RP2040 Assembly Language Programming

  • 3h 20m
  • Stephen Smith
  • Apress
  • 2021

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 with more advanced programming skills.

What You'll Learn

  • Read and understand the Assembly Language code that is part of the Pico’s SDK
  • Integrate Assembly Language and C code together into one program
  • Interface to available options for DIY electronics and IoT projects

Who This Book Is For

Makers who have already worked with microcontrollers, such as the Arduino or Pico, programming in C or Python. Those interested in going deeper and learning how these devices work at a lower level, by learning Assembly Language.

In this Book

  • Introduction
  • How to Set up the Development Environment
  • Our First Assembly Language Program
  • How to Build and Debug Programs
  • How to Load and Add
  • How to Control Program Flow
  • Thanks for the Memories
  • How to Call Functions and Use the Stack
  • Interacting with C and the SDK
  • How to Program the Built-In Hardware
  • How to Initialize and Interact with Programmable I/O
  • How to Set and Catch Interrupts
  • Multiplication, Division, and Floating Point
  • Multiprocessing
  • How to Connect Pico to IoT