ARM Cortex-M0+ on the Raspberry Pi Pico
Stephen Smith

#RP2040
#ARM
#Cortex-M0+
#Raspberry_Pi
#Pico
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
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.
Table of Contents
Chapter 1: How to Set Up the Development Environment
Chapter 2: Our First Assembly Language Program
Chapter 3: How to Build and Debug Programs
Chapter 4: How to Load and Add
Chapter 5: How to Control Program Flow
Chapter 6: Thanks for the Memories
Chapter 7: How to Call Functions and Use the Stack
Chapter 8: Interacting with C and the SDK
Chapter 9: How to Program the Built-in Hardware
Chapter 10: How to Initialize and Interact with Programmable 1/0
Chapter 11: How to Set and Catch Interrupts
Chapter 12: Multiplication, Division, and Floating Point
Chapter 13: Multiprocessing
Chapter 14: How to Connect Pico to loT
Appendix A: ASCII Character Set
Appendix B: Assembler Directives
Appendix C: Binary Formats
Appendix D: The ARM Instruction Set
Stephen Smith is a retired Software Architect, located in Gibsons, BC, Canada. He's been developing software since high-school, or way too many years to record. Since retiring he has pursued Artificial Intelligence programming, earned his Advanced HAM Radio License and enjoys mountain biking, hiking, and nature photography. He continues to write his popular technology blog at smist08.wordpress.com.









