mcuprogram 发表于 2012-12-13 09:33:44

求科普:ARM在RAM中运行时,怎么运行rom中程序函数

两个问题:
1.ROM分两段,把其中的1段copy到RAM中运行,那运行在RAM中的程序想要访问ROM 的2段怎么操作.
2.在ram中运行的程序怎么访问 arm的功能寄存器,譬如GPIO的?????

happy_andy 发表于 2012-12-13 09:46:57

不知道这位兄台用的是那个型号的IC。
你ROM中的程序,第二段如果单纯是数据的情况下,
在线性地址空间内,访问ARM功能寄存器和ROM中的数据,可以直接地址访问。
如果有MMU那情况复杂点,需要地址转换下。

xi_liang 发表于 2012-12-13 09:56:59

看下汇编代码的执行就知道了
以下两个概念可以帮助理解:
ROM一般是XIP的,可以直接执行
COPY到RAM的时候代码地址已经重定位

mcuprogram 发表于 2012-12-13 11:55:00

譬如:STM32
页: [1]
查看完整版本: 求科普:ARM在RAM中运行时,怎么运行rom中程序函数