Cortex-M 设备开发与性能优化指南
1. Raspberry Pi Pico 启动代码与内存映射
在开发基于 Cortex - M 的软件时,确定软件的起始点至关重要。对于 Raspberry Pi Pico,起始代码位于 SDK 文件 src/rp2_common/pico_standard_link/crt0.S 中。这里有 _reset_handler 函数,它会调用 runtime_init() 函数,该函数用于初始化所有硬件外设,之后调用 main() 函数。
Raspberry Pi Pico 的内存映射是比较标准的 Cortex - M 内存映射,各区域起始地址如下表所示:
| 内存区域 | 起始地址 |
| ---- | ---- |
| ROM | 0x00000000 |
| XIP (Flash execute in place) | 0x10000000 |
| SRAM | 0x20000000 |
| 连接到 Advanced Peripheral Bus (APB) 的外设 | 0x40000000 |
| 连接到 APB 的外设 | 0x50000000 |
| IOPORT 寄存器 | 0xd0000000 |
| Cortex - M0+ 内部寄存器 | 0xe0000000 |
gcc 编译器的链接文件位于 src/rp2_common/pico_standard_link 目录下,有四种不同的
超级会员免费看
订阅专栏 解锁全文
1680

被折叠的 条评论
为什么被折叠?



