保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

DSP外挂Flash在系统编程及并行引导装载方法


介绍引导表的形成和装载过程(设用户程序为测试指示灯的程序,源文件为main.asm和vectors.asm?源代码省略)。
  
  3.2链接配置文件编写
  
  (文件名为TestLedLink.cmd)
  
  MEMORY{
  
  PAGE0:
  
  VEC:org=0100h,len=0080h?;中断向量的首地址和块长度
  
  CODE:org=0180h,len=0F80h?;程序块的首地址和块长度
  
  PAGE1:
  
  STACKS:org=1100h,len=0100h?;堆栈区的首地址和块长度
  
  DATA:org=1200h,len=1000h?;数据块的首地址和块长度
  
  }
  
  SECTIONS{
  
  .vectors:>VECPAGE0?;将中断向量放入程序页的VEC区
  
  .text?>CODEPAGE0?;将程序代码放入程序页的CODE区
  
  .stack?>STACKSPAGE1?;将堆栈放入数据页的STACKS区
  
  .bss?>DATAPAGE1?;将未初始化变量放入数据页的DATA区
  
  .data?>DATAPAGE1?;将初始化数据放入数据页的DATA区
  
  }
  
  链接配置文件写好后,通过DSP仿真软件CCS编译链接即可生成TestLed.out文件。在汇编时要注意,不论是DOS下的ASM500还是WINDOWS下的CCS都必须加上-v548开关量,否则不能生成正确的引导表。
  
  3.3HEX转换配置文件编写
  
  (文件名为TestLedHex.cmd)
  
  TestLed.out;转换的文件名,即编译链接后的.out文件
  
  -a?;ASCII-HEX格式
  
  -mapTestLed.mxp?;生成的映射文件名,可不生成该文件
  
  -oTestLed.hex?;转换后的HEX文件名
  
  -memwidth16?;系统存储器宽度为16位
  
  -romwidth16?;ROM器件宽度为16位
  
  -boot?;将COFF文件中各段转换为引导表的格式(替代SECTIONS伪指令)
  
  -bootorg0x8000;引导表放在FLASH的8000H开始的单元
  
  -e0x0100?;装入引导表后程序运行的起始地址
  
  HEX转换配置文件写好后,使用CCS提供的转换工具HEX500将生成的COFF目标文件TestLed.out转化为标准的ASCII—HEX格式的文件TestLed.hex。注意在转换时一定要把TestLedHex.cmd文件的扩展名cmd加上。
  
  3.4构造引导表并写入FLASH
  
  经过HEX转换生成的TestLed.hex文件内容。
  
  文件开始为ASCIISTX字符,结束为ASCIIETX字符,$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),来寻址扩展的程序存储空间。
  
  
  
 

《DSP外挂Flash在系统编程及并行引导装载方法(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/173104.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。