wince_lover
驱动中牛
驱动中牛
  • 注册日期2007-01-10
  • 最后登录2010-12-20
  • 粉丝0
  • 关注0
  • 积分1103分
  • 威望735点
  • 贡献值2点
  • 好评度279点
  • 原创分1分
  • 专家分0分
阅读:1057回复:6

读WINCE 4。2 NBOOT源码的问题?

楼主#
更多 发布于:2007-05-17 15:17
在2440INIT。S中有
ldr    r2, =0x201000 ; offset into the RAM
add  r2, r2, #0x30000000    ; add physical base
mov  pc, r2    ;  & jump to StartUp address
请高手指点一下201000是根据什么得来的?
物理地址0X30201000对应的虚拟地址应该是0X8C201000,可是我看CONFIG。BIB文件有
DISPLAY            8c1d0000  00100000  RESERVED
那0X8C201000不是在显示缓冲区里了吗?
那位高手能详细解释一下
jasonshi
驱动小牛
驱动小牛
  • 注册日期2004-10-11
  • 最后登录2011-07-01
  • 粉丝2
  • 关注0
  • 积分23分
  • 威望446点
  • 贡献值3点
  • 好评度256点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-05-17 16:03
DISPLAY            8c1d0000  00100000  RESERVED
这句是保留了1M,但是你看它的显示代码会发现,实际只用了150K。
wince_lover
驱动中牛
驱动中牛
  • 注册日期2007-01-10
  • 最后登录2010-12-20
  • 粉丝0
  • 关注0
  • 积分1103分
  • 威望735点
  • 贡献值2点
  • 好评度279点
  • 原创分1分
  • 专家分0分
板凳#
发布于:2007-05-17 21:09
但是怎么会把Startup防在这个位置呀
wince_lover
驱动中牛
驱动中牛
  • 注册日期2007-01-10
  • 最后登录2010-12-20
  • 粉丝0
  • 关注0
  • 积分1103分
  • 威望735点
  • 贡献值2点
  • 好评度279点
  • 原创分1分
  • 专家分0分
地板#
发布于:2007-05-20 16:36
怎么没有高手指点?
wowdp
驱动牛犊
驱动牛犊
  • 注册日期2007-03-28
  • 最后登录2008-12-30
  • 粉丝0
  • 关注0
  • 积分230分
  • 威望24点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-05-25 11:08
用viewbin -rec命令查看nk.bin可知kernel的启动地址是0x8c201000,所以这里的偏移是0x201000,我想应该是这样
wince_lover
驱动中牛
驱动中牛
  • 注册日期2007-01-10
  • 最后登录2010-12-20
  • 粉丝0
  • 关注0
  • 积分1103分
  • 威望735点
  • 贡献值2点
  • 好评度279点
  • 原创分1分
  • 专家分0分
5楼#
发布于:2007-05-25 13:48
可是我用Viewbin 看到的地址不是201000呀
Image Start = 0x8C300000, length = 0x0179C234

Start address = 0x8C301000

ROMOFFSET = 0x00000000
附件名称/大小 下载次数 最后更新
s.txt (13KB)  2 2007-05-25 13:48
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-05-29 21:37
那你看看,NK.BIN被DOWN到SDRAM中时,是不是往小移了0X00100000啊.

就是说0x8C301000变成了0x8C201000
学海无涯
游客

返回顶部