arm linux开发的问题,写程序时链接地址为0,是什么原因?详细问题如下:

我的开发板是nand flash启动,上电复制前4K内容到内存执行,那这链接地址为0是不是说烧程序到开发板时是烧到nand flash的0地址开始?我知道0地址是从内存SRAM开始,是不是烧写时0地址是nand flash?我就是不知道链接地址是干什么用的,是烧写时有用,还是说因为程序从0地址开始执行,所以链接地址为0,为什么呢??不为0不行吗?求大神指点!!
2026年09月26日 08:39
有3个网友回答
网友(1):

链接地址是指在CPU寻址范围内的物理地址。
一般0地址是给RAM的。
nand地址不属于CPU寻址范围,你可以把它当作串行设备。
前4K内容到内存执行,一般是指片内的RAM,这时候外部的SRAM还不能使用。
外部的SRAM一般物理地址不会是0。

链接地址0就是绝对地址0了!

网友(2):

你可以理解是烧写到nand flash中从地址0作为链接地址的开始,但是实际运行中的是内部的ram,与SRAM是没有关系的。

网友(3):

nand flash的作用就是pc的硬盘 flash里不能直接跑程序 物理地址应该指内存RAM的