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 : ARM Cortex M0+ on the Raspberry Pi Pico