当前位置: 代码迷 >> VxWorks >> ROM_OFFSET的疑惑解决方法
  详细解决方案

ROM_OFFSET的疑惑解决方法

热度:5429   发布时间:2013-02-26 00:00:00.0
ROM_OFFSET的疑惑
在romStart函数中,调用copyLongs将代码从rom拷贝到ram,代码中是先用ROM_OFFSET(copyLongs)计算出copyLongs在ROM中的地址,然后再调的。但是执行ram清零操作作,为啥调用fillLongs 前没有计算它在ROM中的地址呢?

------解决方案--------------------------------------------------------
这个宏还可以这么理解:ROM_OFFSET说明是在ROM中,没添加的是不是不应该在ROM中呢?

事实上copyLongs的时候,系统还在ROM中运行,因此添加ROM_OFFSET计算在ROM中的偏移量,等到copyLongs执行完,ROM中的非压缩部分已经copy到RAM中了,调用的fillLongs是RAM中的,如果你想调用ROM中的fillLongs也是可以的,加上ROM_OFFSET就好了,不过那样系统慢多了。。。。嘿嘿
  相关解决方案