中断向量为什么要重定位。

[复制链接]
2754|19
 楼主| liliang9554 发表于 2010-9-27 15:42 | 显示全部楼层 |阅读模式
中断向量为什么要重定位呢?还请各位高手指教啊
虎虎生威 发表于 2010-9-27 19:25 | 显示全部楼层
什么叫做重定位啊?
 楼主| liliang9554 发表于 2010-9-28 20:59 | 显示全部楼层
顾名思义,我的理解就是改变中断向量保存的内存地址。
 楼主| liliang9554 发表于 2010-9-28 20:59 | 显示全部楼层
应该是这个意思吧?
杜_U_ME 发表于 2010-9-28 21:01 | 显示全部楼层
中断向量重定位,第一次听说,关注中
6019赵文 发表于 2010-9-29 12:46 | 显示全部楼层
LZ说的重定位是不是remap概念啊?
maoyanketi 发表于 2010-10-7 15:32 | 显示全部楼层
重定位真的是第一次听说,高手给解释下吧
6019赵文 发表于 2010-10-8 12:44 | 显示全部楼层
是不是说启动完毕以后,所有的代码要搬到ram区,因为在flash执行的效率低下,即所谓重映射,把flash开始的相量地址映射到ram区开始位置
米其林r 发表于 2010-10-10 22:29 | 显示全部楼层
不知道楼主说的是ls的意思吗
encyclopedia 发表于 2010-10-11 14:24 | 显示全部楼层
好像就是8楼说的意思。
 楼主| liliang9554 发表于 2010-10-12 19:58 | 显示全部楼层
我也是在书上看到的,什么重定位,不懂所以到论坛上来问一下。
dewlife 发表于 2010-10-12 19:59 | 显示全部楼层
百度一下估计会有的。
encyclopedia 发表于 2010-10-12 20:08 | 显示全部楼层
我百度了一下,有这个定义,贴过来楼主看看吧:
 一、定义:重定位就是把程序的逻辑地址空间变换成内存中的实际物理地址空间的过程。他是实现多道程序在内存中同时运行的基础。重定位有两种,分别是动态重定位与静态重定位   二、分类   1、静态重定位:即在程序装入内存的过程中完成,是指在程序开始运行前,程序中的各个地址有关的项均已完成重定位。   2、动态重定位:它不是在程序装入内存时完成的,而是CPU每次访问内存时 由动态地址变换机构(硬件)自动进行把相对地址转换为绝对地址。   三、补充阅读:重定位是由操作系统安排的。   在装入程序前,会计算未使用的内存,然后将程序装入,并记下开始地址。在执行有相对地址的指令时,会将所有的地址加个刚才记下的开始地址,就叫重定位。   重定位与EXE文件无关。
如履薄冰 发表于 2010-10-12 20:14 | 显示全部楼层
楼上的解释了半天,感觉这个重定位挺抽象的吗?
不懂,帮顶了。
 楼主| liliang9554 发表于 2010-10-12 20:18 | 显示全部楼层
对,我也感觉到有点晕,谁能用简单明了的话概述一下,还是有点不明白。
如履薄冰 发表于 2010-11-11 19:20 | 显示全部楼层
是不是把程序放在内存中一个新的位置,就叫做重定位啊。
3B1105 发表于 2010-11-11 20:15 | 显示全部楼层
确实挺抽象的,第一次听说
ty新气象 发表于 2010-11-16 18:30 | 显示全部楼层
太抽象了,
diny 发表于 2010-12-4 20:36 | 显示全部楼层
来学习的。
bit6019 发表于 2010-12-5 16:43 | 显示全部楼层
程序默认从flash启动,在重定位之前必须有一个中断向量表防止异常发生

重定位就是把flash的所有代码搬到ram然后把ram映射到0x0
您需要登录后才可以回帖 登录 | 注册

本版积分规则

950

主题

11568

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部