首 页       用户登录  |  用户注册
设为首页
加入收藏
联系我们
按字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
按声母检索 A B C D E F G H J K L M N O P Q R S T W X Y Z 数字 符号
您的位置: 5VAR论文频道论文中心计算机论文计算机应用
   ARM7在嵌入式应用中启动程序的实现      ★★★ 【字体: 】  
ARM7在嵌入式应用中启动程序的实现
收集整理:佚名    来源:本站整理  时间:2009-01-10 11:51:13   点击数:[]    

0x000000000x00ffffff。匹配表配置如下:

可以看到左边是连续的虚拟地址空间,右边是不连续的物理地址空间,而且将DRAM映射到了0地址区间。 MMU通过虚拟地址和页面表位置信息,按照转换逻辑获得对应物理地址,输出到地址总线上。

应注意到的是使能MMU后,程序继续运行,但是对于程序员来说程序计数器的指针已经改变,指向了ROM所对应的虚拟地址。

⑵目标文件的分布装载分析

首先创建一个文本文件,称为分布装载描述文件。它为应用程序的各部分指定装载区间和执行区间。

举例如下:

FLASH 0x01000000 0x011fffff 2M FLASH

 

{

FLASH 0x01000000

{

boot.o(BOOT+First)

* (+RO)

 

}

DRAM 0x00000000

{

vector.0(VECTOR+First)

int_handler.o (+RO)

* (+RW+ZI)

 

}

}

ARM链接器的命令行里加入“-scov description-file –scf”或“-scatter description-file”,编译链接后,将产生一个分布装载文件。

链接器同时产生一组符号,给出每个分布描述文件中命名的区间的长度,装载地址和执行地址。由于链接器和C库都没有将代码从它的装载区间拷贝到执行区间,或创建一个零初始化区域的功能,所以要由应用程序员利用这组符号产生的信息完成这项工作,这是在呼叫C程序之前必须完成的,举例如下:

LDR r0, = Load$$DRAM$$Base

LDR r1, = Image$$DRAM$$Base

CMP r0, r1 ; 检查装载地址和执行地址是否相同

BEQ do_zi_init ; 相同,则不拷贝该区间,初始化零数据区

MOV r2, r1 不相同,将装载区拷贝到执行区

LDR r4, = Image$$DRAM$$length

ADD r2, r2, r4

BL copy

do_zi_init

LDR r1, = Image$$DRAM$$ZI$$Base

MOV r2, r1

LDR r4, = Image$$DRAM$$ZI$$length

ADD r2, r2, r4

MOV r3, #0

BL zi_init ; 调用零初始化子程序

 

4.结束语

本文介绍的启动程序已经在以Cirrus Logic公司的EP7211Ateml公司的AT91M40400开发的系统上运行并测试通过。今后可以在这一基础上添加串行通信模块和FLASH操作模块,开发系统监控程序,从而实现应用程序的在线升级。

 

参考资料:

《嵌入式微处理器及其应用开发》 计算机世界第四十三期

姜桥 罗蕾

《面向二十一世纪的嵌入式系统综述》 北京诺浩数字基因研究

中国单片机公共实验(BOL)

吕京建 肖海桥

EP7211数据手册》

ARM7TDMI数据手册》

上一页  [1] [2] 


Tags:


文章转载请注明来源于:5VAR论文频道 http://paper.5var.com。本站内容整理自互联网,如有问题或合作请Email至:support@5var.com
或联系QQ37750965
提供人:佚名
  • 上一篇文章:利用VC中的通讯控件开发串形通信程序

  • 下一篇文章:在SGI企业服务器上集成Apache+Php+Mysql的实例
  • 返回上一页】【打 印】【关闭窗口
    中查找“ARM7在嵌入式应用中启动程序的实现”更多相关内容 5VAR论文频道
    中查找“ARM7在嵌入式应用中启动程序的实现”更多相关内容 5VAR论文频道
    最新热点 最新推荐 相关新闻
  • ››Delphi 5 数据库应用中ODBC数据源的...
  • ››用Visual Basic 6.0实现自动化测试...
  • ››用JAVA制作ICQ
  • ››在IIS 4.0上配置虚拟主机实现虚拟I...
  • ››利用VB开发CAI课件
  • ››基于GP算法的知识发现系统
  • ››基于Client/Server 的课件系统的设...
  • ››WWW对大量数据查询的一种实现
  • ››基于PHP的Web数据库访问
  • ››Developer/2000中的Forms参数及应用...
  • ››ARM7系统中实现CF卡存储的文件系统...
  • ››ARM7TDMI-S在嵌入式系统中的Bootlo...
  • ››ARM7在嵌入式应用中启动程序的实现...
  •   文章-网友评论:(评论内容只代表网友观点,与本站立场无关!)
    关于本站 - 网站帮助 - 广告合作 - 下载声明 - 网站地图
    Copyright © 2006-2033 5Var.Com. All Rights Reserved .