TMS320VC5402 DSP并行8bit EPROM引导装载方法研究

技术分类: 微处理器与DSP  | 2007-05-14
来源:深圳电子技术网

  当C5402读取I/O端口地址FFFFh时,IOSTRB为低有效,同时地址线A15为高,经反相与IOSTRB信号相“或”,以选通D3、D4器件,C5402即采集到引导表起始地址4000h。当用户不采用从I/O端口读取引导表起始地址时,C5402将读取数据文凭间FFFFh地址的内容和FFFEh地址的内容作为引导表的起始地址。在将程序代码用编程器写入到EPROM时,将EPROM的FFFFh地址和FFFEh内容写定为00和40即可。若使用低于64k的EPROM时,只要在EPROM的最高两个地址写入00和40即可。例如,使用8K EPROM,而C5402的地址线只用到A0~A12,那么在EPROM的1FFFh和1FFEh地址写入00和40即可,并将Hex制转换命令程序中的-bootorg 0x4000句修改为-bootorg 0x0000。

  2.3 编制命令文件程序

  (1)链接命令文件程序(文件名设为DSP5402lj.cmd):

  ;dsp5

402lj.cmd program

  dsp5402.obj ;输入汇编后的文件名

  -o dsp5402.out -m dsp5402.map ;设定输出文件名

  MEMORY ;内部存储器分配

  {

  PAGE 0:ROM:origin=0080h length="1000h"

  ;程序引导后首地址和块长度

  PAGE 1:RAM:origin=200h length="500h"

  ;定义数据块首地址和块长度

  }

  SECTIONS

  {

  .text:>ROM ;将text段定义的程序放入程序页

  .bss:>RAM ;将bss段定义的数据块放入数据页

  }

  (2)Hex制转换命令程序(文件名设dsp5402h.cmd):

  ;dsp5402h.cmd program

  dsp5402.out ;输入链接后的文件名

  -o dsp5402.m1 ;定义输出文件名和格式

  -m1 ;输入文件格式为Motrola-s1

  -memwidth 8 ;定义8位EPROM

  -romwidth 8 ;输出文件是字节

  -bbtorg 0x4000 ;外扩EPROM存放代码的首地址

  -e 0x0080 ;定义引导后程序执行的入口地址

  SCTIONS {.text:BOOT}

  2.4 创建并行引导表

  为充分发挥C5402的引导特点,必须建立一个包含完整数据流的引导表。引导表通过Hex转换应用工具来实现。当执行Hex转换命令程序时,不同的引导方式和引导选项,建立的引导表内容将所不同。引导表的建立包括如下三个步骤:

  (1)汇编文件

  用C5402汇编语言在文本形式下编程,执行如下命令:

  asm500.exe -1 -v548

  程序将被汇编成后缀名为obj的目标文件,命令中如文件名缺省,目标文件名与汇编程序源文件名相同。

  (2)链接文件

  执行命令:lnk500.exe dsp5402lj.cmd

  dsp5402lj.cmd为链接命令文件名,由用户编程确定用户代码装载引导的入口地址、程序块长度以及程序段和数据段的分配。引导表内数据的每一个块同等于COFF文件的一个初始化段,初始化段包括:.text,.data,和.sect。未初始化段为:.bss和.usect。

  (3)执行Hex转换公用命令程序

  执行命令:Hex500.exe dsp5402h.cmd

  dsp5402h.cmd为Hex转换命令文件名。对可执行的COFF文件使用Hex转换公用程序进行转换后得到若干种标准的十六进制格式文件。转换后的十六进制格式文件即是引导表的内容,引导表包含并行引导的标识、程序执行的入口地址、程序存放的目的地址、用户程序及用户程序块长度。利用编程器可以将引导表的内容写入EPROM,然后将EPROM插入C5402用户系统中运行。

1】【2

浏览该文章的用户还看过...

  • 文 章

  • 论 坛

  • 博 客

  • 小 组

设计资源与分销

;