您现在的位置: 范文先生网 >> 理工论文 >> 电子通信论文 >> 正文

DSP56362的双引导装载方法研究与实现

时间:2007-1-20栏目:电子通信论文

SH中只有对应于DSP外部空间的那部分地址空间才是DSP可见的。为了使DSP能够访问全部的外部FLASH空间,设计时必须进行地址重映射。
  
  本系统实际用到的FLASH的存储容量不足64kB,也就是说,当访问外部FLASH时,真正起作用的地址线是A0~A15,而高位地址线A23~A16可以为任意值。因此,可以考虑给访问地址加一个偏移量0xD00000H,以将FLASH的地址空间映射到DSP内部X数据RAM中,映射后的地址范围是:0xD00000H~0xD0FFFFH。重映射后的FLASH地址空间落在X数据RAM的外部保留区内,这在DSP中是可见的。
  
  5.2擦除和读写过程
  
  在DSP将数据写入FLASH之前,先要删除数据所在块,然后才能重新写入。在擦除和写操作之前都要执行相应的命令字序列,即在指定的FLASH地址处写入指定的指令代码,而读操作则可以直接进行。FLASH的擦除和写入流程图分别如图5、图6所示。在本系统中,由于采用了双引导模式,所以首先要将引导程序写入FLASH,然后再分别将用户程序的P区数据、X区数据、Y区数据写入FLASH。
  
  在利用DSP软件编程进行烧录时,可以从目标文件中提取出将要写入FLASH的数据,然后将这些数据打包成一个asm文件,再在烧录程序中将这个asm文件包含进来。接着对烧录程序进行编译、链接,以产生一个目标文件。最后,通过JTAG口将目标文件下载到DSP中运行,这样,DSP就会通过其外部数据线将打包好的asm文件中的数据写入FLASH。在本系统中,引导程序和用户程序将分4次烧入FLASH为此要分别将引导程序、用户程序P区数据、用户程序X区数据、用户程序Y区数据打包成asm文件。打包一个asm文件的具体步骤如下:
  
  (1)调用MOTOROLA公司提供的ASM56300和DSPLNK程序对源文件进行编译、链接,以产生一个cld格式的目标文件。
  
  (2)调用MOTOROLA公司提供的SREC程序将cld格式的目标文件转换成MOTOROLA公司的S-RECORD文件格式,可将目标文件中的P区数据、X区数据、Y区数据提取出来并生成3个文件,其后缀分别为p、x、y。
  
  (3)调用Srec2bin程序将S-RECORD格式的文件转换成BINARY格式的文件。
  
  (4)调用Bin2asm程序将BINARY格式的文件转换成asm文件。这个asm文件由一系列的数据定义指令组成,定义的数据依次为系统程序总字节数、系统程序起始地址、系统程序对应的十六进制操作码,其数据结构如图7所示。
  
  为了验证上面方法是否能将引导程序和用户程序的各部分代码成功写入到FLASH中,笔者编写了一个测试程序作为用户程序,该测试程序的功能是将AD输入的音频信号不经任何处理直接输出。实验证明:系统脱机运行时能够正确地运行测试程序,从而说明了系统引导装载和FLASH烧录的成功。
  
  6结束语
  
  采用双引导装载方式可以克服Bootstrap引导程序不能加载X区数据和Y区数据的缺点,还可以在系统程序运行前将DSP设置为内存切换模式,同时,采用软件编程方法可以在没有专用编程器的条件下,方便、可靠地实现对FLASH的擦除和读写。该方案具有一定的实用性和参考价值,也能够用于

上一页  [1] [2] [3] [4] [5] 下一页

下页更精彩:1 2 3 4 下一页

★相关文章: