什么叫运行地址?什么叫加载地址?什么叫重定位地址?

什么叫运行地址?什么叫加载地址?什么叫重定位地址?,第1张

程序永远是从“0”地址开始运行的。记住!

还是不好描述。这样说吧,举个嵌入式例子,

我要做这样一件事情:我需要将片外FLASH的程序,加载到SDRAM里运行。怎么做?

第一部,我会写一个启动程序,启动程序的作用,就是将FLASH的内容,搬到SDRAM。

此时的程序运行地址,就是启动文件的地址(ROM地址),比如0x00开始。

将数据搬至SDRAM后,我需要运行SDRAM的程序怎么办?(SDRAM地址比如是0X20000000)

第二步:地址重映射,将SDRAM的地址,重新映射成,0x00, 即举例的ROM,和SDRAM地址发送了交换

这个是重定位地址。即SDRAM的地址入口变为0x00.

第三部,芯片会重新启动,从“0”地址开始运行,即使从,我们的SDRAM里开始运行了,也就是FLASH的程序了。

不知道这样说你能明白不?

①windows系统的“运行”不是一个实有程序,它只是一个系统的“快捷方式”,与你用鼠标 *** 作的性质是一样的。比如用鼠标双击regedit.exe与在“运行”框里输入regedit效果相同。

②这个“快捷方式”可以放在各个“开始菜单”里(注:即使是win8也有“开始菜单”,而且不止一个),在C:\用户\当前用户\AppData\Local\microsoft\windows\winX\Group2目录下甚至也有。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11580449.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存