重定位

对于程序而言,我们需要理解两个概念,一是程序当前所处的地址,即程序在运行时,所处
的当前地址;二是程序的链接地址,即程序运行时应该位于的运行地址。编译程序时,可以指定

程序的链接地址。

当我们的程序超过IRAM的存储空间时,该怎么办呢?

首先我们需要将能够容纳的代码存储到IRAM中,其次我们将整个程序的代码拷贝到DRAM等其他更大的存储空间。当IRAM的代码执行完毕的时候,在跳转到DRAM中继续执行我们的代码。

这个拷贝然后跳转的过程就叫重定位。

本例子中将代码从IRAM的0xD0020010处拷贝到IRAM的0xD0024000处,然后跳转到0xD0024000处执行。


猜你喜欢

转载自blog.csdn.net/xiuxin121/article/details/79888113