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

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


AM、5.5kBX数据RAM和3.5kBY数据RAM。考虑到本系统对程序空间的需求量较大,而数据RAM相对较多,且系统对内部数据RAM的需求并不是很大,因此,将DSP设置成内存切换模式比较好。DSP56362在内存切换模式下(MS=1)的内存映像图如图3所示。
  
  4.2直接使用Bootstrap引导程序的问题
  
  DSP的内存切换模式需要通过软件指令对OMR寄存器进行设置来实现。由于只有在该指令执行后才能生效,这样就产生了一个矛盾。因为若在系统程序开始时将DSP设置为内存切换模式,那么,往往希望DSP能装载5kB的程序指令,但是,DSP的Bootstrap引导程序是在系统复位后立即执行的,此时DSP处于缺省(MS=0)状态,程序RAM只有3kB,如果此时外部的指令代码的大小超过了这个限制,引导程序就不能把它们加载进去,而当这条设置指令生效时,虽然DSP的程序空间又增加了2kB,但是引导程序已经结束,因而这2kB的程序空间实际上没有被利用。
  
  另外,从DSP的Bootstrap程序流程可以看出,这个引导程序只能将系统的程序代码数据加载到DSP内部的程序RAM,而不能将数据加载到DSP内部的X数据RAM、Y数据RAM,这样,那些需要在数据区内定义常数的程序将无法正常运行。
  
  4.3双引导模式
  
  为了解决以上问题,本文提出了一种双引导模式。具体思路是:在系统程序的开始处,设计一个用户自己的引导模块,用这个模块先对DSP内部的OMR寄存器进行相应的内存切换设置,以使DSP内部的程序RAM扩大为5kB。然后参照DSP的Boot-strap引导程序分别对系统的X、Y及P区的数据进行加载。同时在将程序烧录到FLASH时采用地址隔离的方式将引导模块与系统程序分开存放,引导模块作为一段独立的程序放在首地址为0xD00000H的存储区。于是,对于DSP的Bootstrap引导程序来说,它需要引导的不是整个系统程序,而仅仅是这个引导模块,另外加载完这个模块后就立即跳转到内部程序RAM中执行,此时引导模块已获得CPU控制权,它在完成内存切换后将继续引导系统程序的其他部分。采用这种两次引导的方法,不但使X、Y区的数据可以按照程序的要求进行初始化,而且DSP的程序指令空间可以预先设置成5kB,从而非常巧妙地达到了系统的要求。该双引导模式的引导模块程序流程如图4所示。
  
  5FALSH的擦除和读写
  
  为了使系统能够脱机运行,应当把系统程序烧录到外部FLASH中去。除了可以用专用的编程器把代码烧入FLASH中外,还可以用软件编程的方法由DSP来实现同样的功能。本系统正是采用这种软件编程的方法实现对FLASH的擦除和读写。
  
  5.1地址映射
  
  利用DSP擦除和读写FLASH必然会牵涉到FLASH中的地址在DSP中的映射方式。DSP56362的内存映像图已在图3中给出。本系统采用的是128kB的FLASH,其地址范围为:0x000000H~0x1FFFFH。假设FLASH的起始地址0x0000H和DSP的起始地址0x000000H重合,那么FLASH中只有对应于DSP外部空间的那部分地址空间才是DSP可见的。为了使DSP能够访问全部的外部FLASH空间,设计时必须进行地址重映射。
  
  本系统实际用到的FLASH的存储容量不足64kB,也就是说,当访问外部FLASH时,真正起作用的地址线是A0

《DSP56362的双引导装载方法研究与实现(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/140638.html

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