爱技术

 找回密码
 注册会员

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 1595|回复: 1
收起左侧

[求助] 冰大,怎么移植RAM和ROM啊?

[复制链接]
发表于 2009-5-7 21:17:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册会员 微信登录

x
怎么按地址区分RAM和ROM???
很多补丁牵涉到RAM的,我就只能靠已经移植成功的同类补丁中的摘抄过来。
编译我一时半会儿还真的掌握不了。
发表于 2009-5-8 20:09:53 | 显示全部楼层
ROM:0xA0000000-0xA3FFFFFF
RAM:0xA8.......,S68/E71/EL71还有0xAC...,0xAD....,不过其0xA8....中的一部分不是RAM,大概是未定义的

识别,简单的方法,反汇编之后很容易看出来
直接观察就看四字节对齐双位取反之后是否是A0..A1..A8.....

RAM地址移植:
a为要移植的地址,A为原机型FUBU,B为移植目标机型FUBU
搜索工具用SMELTER
1.将a双位取反在A中搜索,如果搜不到,略去后两位搜索(如:0xA8000000,搜索特征码就是??0000A8),
2.找到最相近的,记为b,记它与a的差为c,
3.接下来用移植ROM中地址的方法来移植b在B中的位置,记为d,
4.读取d的4字节数据双位取反,记为e,e是一个RAM地址,如果不是,重新做第2步,找次相近的
5.e+c,就是我们要的结果

上面的方法,其实是比较粗糙的,用armdebugger直接调试,重要的是明白其原理
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员 微信登录

本版积分规则

小黑屋|Archiver|手机版|爱技术 ( 沪ICP备08115260号-3 )

GMT+8, 2025-6-7 06:09

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表