首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > VxWorks >

ROM_OFFSET的纳闷

2012-12-31 
ROM_OFFSET的疑惑在romStart函数中,调用copyLongs将代码从rom拷贝到ram,代码中是先用ROM_OFFSET(copyLongs

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就好了,不过那样系统慢多了。。。。嘿嘿

热点排行