首 页       用户登录  |  用户注册
设为首页
加入收藏
联系我们
按字母检索 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论文频道论文中心理工论文电子通信
   DSP外挂Flash在系统编程及并行引导装载方法      ★★★ 【字体: 】  
DSP外挂Flash在系统编程及并行引导装载方法
收集整理:佚名    来源:本站整理  时间:2009-01-10 22:25:36   点击数:[]    

口地址和引导表在外部存储器中存放的首地址。引导程序可以从地址为0FFFFH单元的I/O端口或数据存储器取得引导表的起始地址。本文介绍的是并行引导方式,引导过程如下:引导程序先从外部数据空间的0FFFFH单元(即FLASH的0FFFFH单元)读取引导表起始地址,然后从该起始地址读取引导标识。若为08AAH则为并行8位引导方式;若不是再从起始地址的下一单元读取内容,看由此两单元内容组成的16位字是否为10AAH,若是则为并行16位引导方式。最后从引导表指定的地址搬运各段代码到片内RAM对应的地址,搬运完毕后即从程序入口地址执行用户程序。由此可见,引导表的编制是引导过程的关键。下面结合实例具体介绍引导表的形成和装载过程(设用户程序为测试指示灯的程序,源文件为main.asm和vectors.asm源代码省略)。

3.2 链接配置文件编写

(文件名为TestLedLink.cmd)

MEMORY {

PAGE 0:

VEC: org=0100h, len=0080h ;中断向量的首地址和块长度

CODE: org=0180h, len=0F80h ;程序块的首地址和块长度

PAGE 1:

STACKS: org=1100h, len=0100h ;堆栈区的首地址和块长度

DATA: org=1200h, len=1000h ;数据块的首地址和块长度

}

SECTIONS{

.vectors:> VEC PAGE 0 ;将中断向量放入程序页的VEC区

.text> CODE PAGE 0 ;将程序代码放入程序页的CODE区

.stack> STACKS PAGE 1 ;将堆栈放入数据页的STACKS区

.bss> DATA PAGE 1 ;将未初始化变量放入数据页的DATA区

.data> DATA PAGE 1 ;将初始化数据放入数据页的DATA区

}

链接配置文件写好后,通过DSP仿真软件CCS编译链接即可生成TestLed.out文件。在汇编时要注意,不论是DOS下的ASM500还是WINDOWS下的CCS都必须加上-v548开关量,否则不能生成正确的引导表。

3.3 HEX转换配置文件编写

(文件名为TestLedHex.cmd)

TestLed.out ;转换的文件名,即编译链接后的.out文件

-a ;ASCII-HEX格式

-map TestLed.mxp ;生成的映射文件名,可不生成该文件

-o TestLed.hex ;转换后的HEX文件名

-memwidth 16 ;系统存储器宽度为16位

-romwidth 16 ;ROM器件宽度为16位

-boot ;将COFF文件中各段转换为引导表的格式(替代SECTIONS伪指令)

-bootorg 0x8000 ;引导表放在FLASH的8000H开始的单元

-e 0x0100 ;装入引导表后程序运行的起始地址

HEX转换配置文件写好后,使用CCS提供的转换工具HEX500将生成的COFF目标文件TestLed.out转化为标准的ASCII—HEX格式的文件TestLed.hex。注意在转换时一定要把TestLedHex.cmd文件的扩展名cmd加上。

3.4 构造引导表并写入FLASH

经过HEX转换生成的TestLed.hex文件内容。

文件开始为ASCII STX字符,结束为ASCII ETX字符,$A8000表示引导表存放的首地址,接下来的数据就是从8000H单元存放的引导表的内容,转换后的TestLed.hex文件可直接由编程器烧写进FLASH,也可通过在系统编程的方法由上述的DSP烧写程序写进FLASH。执行烧写程序前需要编写一个简单的程序将.HEX文件中起始符、首地址、结束符等与引导表无关的信息去掉,并转换为DSP能识别的文件格式(如.Dat),采用.copy或.include命令将该文件作为数据段嵌入烧写进程序中同时注意在FLASH的0FFFFH单元写入引导表起始地址8000H。烧写FLASH后数据存放格式。

引导表烧写进FLASH后,将MP/Mc引脚置低,上电复位后引导程序就会自动将FLASH中的用户程序搬进片内RAM,搬运完毕后即跳转到程序入口地址,高速运行用户程序。

此方法适用于程序代码小于16K的情况,将用户程序全部导入C5402片内RAM中即可;当用户程序较大而超过16K时,需要外扩程序存储器,此时在引导表中需用到扩展的程序计数器(XPC),来寻址扩展的程序存储空间。



上一页  [1] [2] 


Tags:


文章转载请注明来源于:5VAR论文频道 http://paper.5var.com。本站内容整理自互联网,如有问题或合作请Email至:support@5var.com
或联系QQ37750965
提供人:佚名
  • 上一篇文章:一种简易数字波形存储器的实现

  • 下一篇文章:基于CC/CCS的Flash文件系统设计
  • 返回上一页】【打 印】【关闭窗口
    中查找“DSP外挂Flash在系统编程及并行引导装载方法”更多相关内容 5VAR论文频道
    中查找“DSP外挂Flash在系统编程及并行引导装载方法”更多相关内容 5VAR论文频道
    最新热点 最新推荐 相关新闻
  • ››嵌入式系统的通信规约管理平台设计...
  • ››一种基于七号信令的局间话单采集系...
  • ››对于变频器的制动技术分析
  • ››电子文件管理元数据宏观结构多维分...
  • ››浅论卫星电视接收机的常见故障的检...
  • ››信息时代网络用户信息检索焦虑的心...
  • ››论GIS在高校房产管理中的实际应用
  • ››关于电力通信发展战略的思考 金李莎...
  • ››2G、3G切换精细化优化分析思路探讨...
  • ››光纤自动化生产的需求与时机
  • ››DSP外挂Flash在系统编程及并行引导...
  •   文章-网友评论:(评论内容只代表网友观点,与本站立场无关!)
    关于本站 - 网站帮助 - 广告合作 - 下载声明 - 网站地图
    Copyright © 2006-2033 5Var.Com. All Rights Reserved .