DSP覆盖(Overlay)程序设计
2014-01-15李尚柏
吴 洁,李尚柏
(四川大学 原子核科学技术研究所 辐射物理及技术教育部重点实验室,四川 成都 610064)
通常DSP程序是被加载到DSP的内部存储器中执行的。调试过程中,用CCS集成环境将编译好的代码通过JTAG接口下载到DSP的内部存储器执行;调试完成后,将程序代码烧录到DSP的外部存储器,在 DSP上电时,自动将程序代码装载到内部存储器执行[1]。但是,DSP的内部存储器有限的。如果程序代码及其使用的数据区大于DSP的内部存储器,就会限制DSP程序的开发。解决这种困局的一个有效的方法是使用Overlay程序设计技术。
早期计算机的内存是非常小的,又要完成较为复杂的任务,开发人员提出了Overlay的程序设计思想。随着大规模集成电路技术的发展,拥有更多的计算机内存已不是奢望,Overlay技术似乎已逐渐被遗忘。然而,对嵌入式系统和DSP而言,内部存储器仍然是稀缺资源,Overlay技术仍然具有用武之地[2]。本文将讨论DSP Overlay程序的设计技术和实现步骤,并通过一个具体的实例在C6000系列DSP上来实现Overlay程序设计技术。
1 链接命令文件
在DSP上,对目标系统存储器的配置以及对段(代码段、数据段等)的配置是实现Overlay的关键技术之一。链接命令文件是一个以.cmd为后缀的文本文件,其主要用途就是定义目标存储器的模型,以及指定模块要加载的位置。它包含:要链接的目标文件名、链接器选项、MEMORY指令(定义目标系统的存储器的配置)、SECTIONS指令 (定义段在目标系统中的配置)。表1给出了链接命令文件中主要的保留字。

表1 命令链接文件主要保留字Tab.1 The main reserved words of command link file……p>
