求科普:ARM在RAM中运行时,怎么运行rom中程序函数
两个问题:1.ROM分两段,把其中的1段copy到RAM中运行,那运行在RAM中的程序想要访问ROM 的2段怎么操作.
2.在ram中运行的程序怎么访问 arm的功能寄存器,譬如GPIO的????? 不知道这位兄台用的是那个型号的IC。
你ROM中的程序,第二段如果单纯是数据的情况下,
在线性地址空间内,访问ARM功能寄存器和ROM中的数据,可以直接地址访问。
如果有MMU那情况复杂点,需要地址转换下。 看下汇编代码的执行就知道了
以下两个概念可以帮助理解:
ROM一般是XIP的,可以直接执行
COPY到RAM的时候代码地址已经重定位 譬如:STM32
页:
[1]