-
一般用的板子是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
相关推荐
坤坤子吖8 分钟前
Linux 线程同步与互斥——条件变量与线程同步张文君25 分钟前
vmware克隆后ubuntu26.04 ip怎么更改2402_8828938642 分钟前
Linux进程控制(上):fork、写时拷贝、进程终止与进程等待,一篇吃透!小此方1 小时前
Linux网络(二十九):从内网穿透到P2P打洞:NAT转换、代理机制与局域网通信的底层全景解析Brilliantwxx1 小时前
【Linux】基础IO(下):输出重定向、dup2 与 minishell 重定向实战学linux的QQ蛋1 小时前
IMX6 嵌入式多传感器系统整体架构梳理小HANN2 小时前
(架构 + InnoDB 事务 MVCC):《MySQL 底层探秘①:拆解 InnoDB,读懂事务、MVCC 与日志的底层逻辑》kyle~2 小时前
Linux --- 虚拟内存 1.fork、2.COW、3.mmap、4.page fault、5.TLB、6.页表Techblog of HaoWANG2 小时前
Ubuntu 下将 Ollama 服务配置为监听 0.0.0.0:11434 完整实践小HANN2 小时前
Ceph分布式存储深度解析-下篇