树莓派PICO示意图

官方版本示意图

 

 

这样GPIO似乎最多可以拉到72M?

因为有两个SPI所以要注意开发时的选择(可能会有选择问题的坑

UF2拖放固件尽量有重制固件

PIO不太会玩

 

import machine

print(machine.freq()) # 打印当前CPU频率
machine.freq(24000000) # 设置CPU频率

为什么133M是24000000

 根据文档,bus fabric 内部是如此实现的:AHB-Lite crossbar 在 4 个上游(处理器核、DMA)与 10 个下游(内置 ROM、6 个 SRAM、APB Brigdge、Flash XIP、AHB Lite Splitter)之间传输地址和数据,每个时钟周期内可以发生 4 次传输。APB Bridge 连接到 UART、SPI 等低速外设。

 

 
尽管 RP2040 是无状态的,但它内部仍然有一小块 ROM,用于存储固化的 bootloader 代码,这些代码支撑了 uf2 下载、高速除法等功能。
RP2040 的 SRAM 分为 6 个 bank,其中 4 个 64kB 的 bank 是主内存。从 0x20000000 开始的地址空间,会被以 4 byte 为单位轮流映射到这 4 个 bank 中,以提升并行能力。具体可参考 datasheet 2.6. Memory 章节。
Single-cycle IO 并未接入 bus fabric。它是与处理器直接连接的。

RP2040 的地址空间如下表:

 

设备地址备注
ROM 0x00000000 RP2040 的内置 16kB ROM
XIP 0x10000000 外置 flash
SRAM 0x20000000 6个SRAM bank
APB Peripherals 0x40000000 低速外设(UART、I2C 等)
AHB-Lite Peripherals 0x50000000 高速外设(USB、PIO、XIP)
IOPORT Registers 0xd0000000 Single-cycle IO
Cortex-M0+ internal registers 0xe0000000

 

posted @ 2025-01-14 09:36  mcwhirr  阅读(53)  评论(0)    收藏  举报