ARM7在嵌入式应用中启动程序的实现
0000~0xc07f,ffff;0xc100,0000~0xc17f,ffff;16兆ROM的虚拟地址区间为:0x0000,0000~0x00ff,ffff。匹配表配置如下:
本文链接地址:http://www.oyaya.net/fanwen/view/141324.html
可以看到左边是连续的虚拟地址空间,右边是不连续的物理地址空间,而且将
DRAM映射到了0地址区间。 MMU通过虚拟地址和页面表位置信息,按照转换逻辑获得对应物理地址,输出到地址总线上。应注意到的是使能
MMU后,程序继续运行,但是对于程序员来说程序计数器的指针已经改变,指向了ROM所对应的虚拟地址。⑵目标文件的分布装载分析
首先创建一个文本文件,称为分布装载描述文件。它为应用程序的各部分指定装载区间和执行区间。
:举例如下
FLASH 0x01000000 0x011fffff
;2M FLASH
{
FLASH 0x01000000
{
boot.o(BOOT
,+First)* (+RO)
}
DRAM 0x00000000
{
vector.0(VECTOR
《ARM7在嵌入式应用中启动程序的实现(第5页)》