如何使用LDF 文件定义的空间?
要在代码中使用 LDF 文件定义的空间,可以通过“section(“ *** ”)”指令来定义,“***”代表空间片断标识符,即用图形界面打开,在左边窗口中看到的空间片断名称。
如定义一个数组“buffer[10000]”,将其放到“sdram0_bank1”的空间地址中,可以定义如下:
在 VDSP 软件上,打开memory 查看窗口:
从上图中可以看到,buffer 这个数组被定义在了0x800000 这个地址区域,通过下图可以看出,这个地址位于sdram0_bank1 的起始地址。
除了将一个数组定义在指定的空间片断,还可以指定一个函数,定义在指定的片断,其定义方法是在函数前面加入定义使用空间的指令。
通过 memory 查看器,可以看到在默认情况下,“Set_PLL” 函数是定义在地址 0xffa00a1c 地址,该代码断位于“L1_CODE”地址。
现指定“Set_PLL”函数将其放入“sdram0_bank2”空间
在 Visual DSP++ 5.0 up 8 软件上,如果定义的数组过大,超过了L1 的空间,即使不使用“section”指令指定放置在SDRAM 空间,系统也会自动将该数组放置在SDRAM 空间中,但前提是必须使用该工程生成LDF 文件。对于早期的VDSP 软件版本,则没有该功能,必须指定数组放置的空间。
如果该工程没有自动生成 LDF 文件,也可以拷贝其他的LDF 文件到该工程文件夹下,然后添加到该工程中,同样可以通过“section”指令指定使用。
下一章则会就LDF提供一个完整的源码,以及一个详细的视频教程。 |