Hardware APIs

Modules

 hardware_adc
 Analog to Digital Converter (ADC) API.
 
 hardware_base
 Low-level types and (atomic) accessors for memory-mapped hardware registers.
 
 hardware_claim
 Lightweight hardware resource management API.
 
 hardware_clocks
 Clock Management API.
 
 hardware_divider
 RP2040 Low Low-level hardware-divider API. Non-RP2040 platforms provide software versions of all the functions.
 
 hardware_dcp
 Assembly macros for the Double Coprocessor.
 
 hardware_dma
 DMA Controller API.
 
 hardware_exception
 Methods for setting processor exception handlers.
 
 hardware_flash
 Low level flash programming and erase API.
 
 hardware_gpio
 General Purpose Input/Output (GPIO) API.
 
 hardware_hazard3
 Accessors for Hazard3-specific RISC-V CSRs, and intrinsics for Hazard3 custom instructions.
 
 hardware_i2c
 I2C Controller API.
 
 hardware_interp
 Hardware Interpolator API.
 
 hardware_irq
 Hardware interrupt handling API.
 
 hardware_pio
 Programmable I/O (PIO) API.
 
 hardware_pll
 Phase Locked Loop control APIs.
 
 hardware_powman
 Power Management API.
 
 hardware_pwm
 Hardware Pulse Width Modulation (PWM) API.
 
 hardware_resets
 Hardware Reset API.
 
 hardware_riscv
 Accessors for standard RISC-V hardware (mainly CSRs)
 
 hardware_riscv_platform_timer
 Accessors for standard RISC-V platform timer (mtime/mtimecmp), available on Raspberry Pi microcontrollers with RISC-V processors.
 
 hardware_rtc
 Hardware Real Time Clock API.
 
 hardware_rcp
 Inline functions and assembly macros for the Redundancy Coprocessor.
 
 hardware_spi
 Hardware SPI API.
 
 hardware_sha256
 Hardware SHA-256 Accelerator API.
 
 hardware_sync
 Low level hardware spin locks, barrier and processor event APIs.
 
 hardware_ticks
 Hardware Tick API.
 
 hardware_timer
 Low-level hardware timer API.
 
 hardware_uart
 Hardware UART API.
 
 hardware_vreg
 Voltage Regulation API.
 
 hardware_watchdog
 Hardware Watchdog Timer API.
 
 hardware_xosc
 Crystal Oscillator (XOSC) API.
 

Detailed Description

This group of libraries provides a thin and efficient C API / abstractions to access the RP-series microcontroller hardware without having to read and write hardware registers directly.