ARM重定位与链接脚本
发布时间
阅读量:
阅读量
一、重定位
静态重定位:静态重定位是在程序运行前完成一次内存布局规划,并基于装配模块确定对应的内存区域起始位置
位置,直接修改装配模块的有关使用地址的指令。

2、动态重定位:动态重定位主要体现在运行时阶段的地址重新计算过程。而不是在程序启动前就完成的位置调整工作。
准确地说,在访问内存单元之前进行地址转换。动态重定位是将装配模块直接注入到内存中而不做任何修改。
存,但是它需要硬件-定位寄存器的指出。

3、为什么需要重定位?
此代码中我们可将其归为两类:无定位编码和有定位编码。无定位编码无论在何处运行都不会受到影响,而有定位编码则会受到具体位置的影响
关码必须位于固定位置才能正确运行。这个固定位置即为链接地址,在我们的代码执行过程中所使用的操作符位置被称为OP。
操作受操作位置的影响下规定了链接地址与运行地址必须一致。但因某种原因(例如:我们在用裸机时),我的配置可能不同。
全部评论 (0)
还没有任何评论哟~
