-
一般用的板子是32位的,那么可寻址范围也就是4GB,即芯片可以访问这4GB地址,那么这些地址就可以对应到芯片的寄存器上,按照惯例,通常CPU对DDR(外部ram)的寄存器定义为0x80000000,而运行程序需要把程序拷贝到DDR中运行,所以DDR的寄存器地址0x80000000就是程序启动地址。0x80000000~0xFFFFFFFF的大小为2GB,所以这个板子支持的最大DDR就是2GB.

-
程序运行其实应该从0x00000000开始,但是为了支持在多种介质上运行(例如内部ram),所以增加了内存映射功能,需要在DDR上运行时,就把DDR地址映射到0x00000000;需要在内部RAM上运行时,就把内部RAM的地址映射到0x0。
例如下面对STM32运行介质的说明:

-
参考:
程序启动地址0x80000000
Jay Chou why did2026-01-15 15:58
相关推荐
草莓熊Lotso5 小时前
【Redis 初阶】Set 类型深度解析:去重集合的运算能力与实战场景张文君6 小时前
ubuntu26.04坏道坏块分区隔离急速版260831-V0.12贝锐14 小时前
从国产化信创设备到商用安卓终端,向日葵如何帮助企业实现统一运维管理?Julien200415 小时前
调查和解决 SELinux 问题小张同学a.18 小时前
Docker 容器实战 1—— docker 基础与镜像构建Best-Wishes20 小时前
BurpSuite Pro教育版在linux系统中配置wuminyu20 小时前
深入剖析 Panama Off-heap 的性能损耗与开销虎王物联20 小时前
RK3568嵌入式Linux跑Docker:内核配置排查到AIoT容器化的完整路径GeW21 小时前
不只靠技术:RHCE考试的5个隐藏得分点老当益壮梁奶奶21 小时前
Linux软件编程学习笔记(八):进程间通信详解(1)