Recent Updates
RP2040 UART in Baremetal
In this article, we will discuss how to use the UART on RP2040 in a bare metal application.
Paspberry Pi Pico, RP2040, ARM, Cortex M0+, Baremetal, UART, Serial communication, MCU
Compare RP2040 Executable Memory Regions and Load Program From Flash into SRAM
Compare RP2040 executable memory regions (flash XIP space, striped SRAM and banked SRAM). Discuss memory strategies, data hazard and structural hazard. Load program from flash into SRAM then execute from SRAM.
Paspberry Pi Pico, RP2040, ARM, Cortex M0+, Assembly, Baremetal, Memory, Memory structural hazard, Linker script, Virtual memory address, Load memory address, MCU
Switch RP2040 Clock Source in Baremetal: ROSC, XOSC and PLL
Compare the RP2040 clock sources, switch the clock source in bare metal.
Paspberry Pi Pico, RP2040, ARM, Cortex M0+, Assembly, Baremetal, Clock source, Clock tree, ROSC, Ring oscillator, XOSC, crystal oscillator, PLL, Phase locked loop, MCU
RP2040 Baremetal Dual-core Application and Core 1 Launch Protocol
Analysis the RP2040 Core 1 launch protocol. Launch core 1 in bare metal multi-processor application with minimum code.
Paspberry Pi Pico, RP2040, ARM, Cortex M0+, Assembly, Baremetal, Bootloader, MCU, Dualcore, Multi-processor
W25Q Flash and RP2040 SDK Bootloader in Baremetal
Analysis the W25Q flash memory communication and the RP2040 SDK 2nd stage bootloader in disassembled code from the perspective of an 8-bit MCU developer's view.
Paspberry Pi Pico, RP2040, Flash, W25Q, ARM, Cortex M0+, Assembly, Baremetal, Bootloader, MCU, XIP, SSI, SDK
Raspberry Pi Pico (RP2040) SRAM and Flash Programming
Program the Pico (RP2040) from the perspective of an 8-bit MCU developer’s view, focus on details in SRAM and flash memory programming.
Paspberry Pi Pico, RP2040, Flash, uf2, Linker script, ARM, Assembly, Baremetal, Bootloader, MCU, XIP
Keywords
Assembly (8), MCU (7), Paspberry Pi Pico (6), RP2040 (6), ARM (6), Baremetal (6), AVR (6), Cortex M0+ (5), Bootloader (3), Embedded system (3), UART (2), Linker script (2), Flash (2), XIP (2), AVR-GCC (2), C language (2), disassembly (2), compiler (2), ABI (2), ISA (2), Application Binary Interface (2), Instruction Set Architecture (2), object file (2), embedded (2), Stack (2), PDF (2), Web app (2), ATtiny (2), PCB (2), Serial communication (1), Memory (1), Memory structural hazard (1), Virtual memory address (1), Load memory address (1), Clock source (1), Clock tree (1), ROSC (1), Ring oscillator (1), XOSC (1), crystal oscillator (1), PLL (1), Phase locked loop (1), Dualcore (1), Multi-processor (1), W25Q (1), SSI (1), SDK (1), uf2 (1), Bearweb (1), PHP (1), Memory usage (1), Memory optimization (1), File size (1), OOM (1), Out of memory (1), Output buffer (1), RAM (1), stream (1), Web dev (1), Multilingual (1), Accept-Language (1), Navigator.language (1), Alternative language (1), SEO (1), HTML (1), lang (1), hreflang (1), Custome HTML Element (1), HTML dataset (1), AVR-AS (1), AVR-LD (1), Assembly language (1), linker (1), Bare metal (1), Memory layout (1), Static variable (1), local variable (1), optimization (1), Tiling (1), Enlarge (1), Divide large file (1), WS2812 (1), LED (1), LED stripe (1), Segment design (1), Parallel signal (1), CH340 (1), CH340E (1), USB (1), Interface IC (1), ATtiny25 (1), ATtiny24 (1), ATtiny441 (1), ATtiny261 (1), ATtiny2313 (1), ATtiny48 (1), GCC (1), Function frame (1), SP (1), Stack pointer (1), FP (1), Frame pointer (1), Engineering drawing (1), titleblock (1), 68hc11 (1), 6800 (1), microprocessor (1), ASCII (1), string (1), memory structure (1), printf (1), C (1), ISR (1), interrupt service routine (1), ISR_NAKED (1), avr-asm (1), CNC (1), KiCad (1), FlatCAM (1), PCB prototyping (1), Gerber (1), Level shifter (1), voltage (1), NMOS (1), diode (1), 2N7002 (1), LL4148 (1), circuit design (1), PCB layout (1), MODBUS (1), MODBUS RTU (1), PLC (1), serial (1), industry control (1), CRC (1), MSC-51 (1), 89C52 (1), Micro controller (1), Nixie tube (1), Clock (1),