Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2534347
  • 博文数量: 401
  • 博客积分: 12926
  • 博客等级: 上将
  • 技术积分: 4578
  • 用 户 组: 普通用户
  • 注册时间: 2009-02-22 14:51
文章分类

全部博文(401)

文章存档

2015年(16)

2014年(4)

2013年(12)

2012年(82)

2011年(98)

2010年(112)

2009年(77)

分类:

2009-03-10 10:02:21

在和地址有关的code进行编译的时候,会有一个链接脚本,里面会指定一下code的运行地址。code是不会分辨虚拟地址还是物理地址。
假如我们指定运行地址为0x0,我们想指定这个code运行在物理地址0x8000上,那么MMU使能的时候,可以设置MMU映射表,将0x8000映射到0x0地址上,那么这个时候0x8000就是0x0地址了。
现在我们想让DKB运行在0x8100上,但是现在MMU映射地址为0x8000地址。如果想解决这个问题,有2个方法。
1、修改MMU的映射表,将0x8100映射到0x0上。
2、修改链接脚本,将code的运行地址指定为0x100。这个方法不推荐,因为几乎所有的code的运行地址一般都为0x0。因为这样的话,就不会因为修改了MMU而导致其他一些code无法运行。
阅读(2541) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~