如何使用LDF 文件定義的空間?
要在代碼中使用 LDF 文件定義的空間,可以通過“section(“ *** ”)”指令來定義,“***”代表空間片斷標(biāo)識(shí)符,即用圖形界面打開,在左邊窗口中看到的空間片斷名稱。
如定義一個(gè)數(shù)組“buffer[10000]”,將其放到“sdram0_bank1”的空間地址中,可以定義如下:
在 VDSP 軟件上,打開memory 查看窗口:
從上圖中可以看到,buffer 這個(gè)數(shù)組被定義在了0x800000 這個(gè)地址區(qū)域,通過下圖可以看出,這個(gè)地址位于sdram0_bank1 的起始地址。
除了將一個(gè)數(shù)組定義在指定的空間片斷,還可以指定一個(gè)函數(shù),定義在指定的片斷,其定義方法是在函數(shù)前面加入定義使用空間的指令。
通過 memory 查看器,可以看到在默認(rèn)情況下,“Set_PLL” 函數(shù)是定義在地址 0xffa00a1c 地址,該代碼斷位于“L1_CODE”地址。
現(xiàn)指定“Set_PLL”函數(shù)將其放入“sdram0_bank2”空間
在 Visual DSP++ 5.0 up 8 軟件上,如果定義的數(shù)組過大,超過了L1 的空間,即使不使用“section”指令指定放置在SDRAM 空間,系統(tǒng)也會(huì)自動(dòng)將該數(shù)組放置在SDRAM 空間中,但前提是必須使用該工程生成LDF 文件。對于早期的VDSP 軟件版本,則沒有該功能,必須指定數(shù)組放置的空間。
如果該工程沒有自動(dòng)生成 LDF 文件,也可以拷貝其他的LDF 文件到該工程文件夾下,然后添加到該工程中,同樣可以通過“section”指令指定使用。
下一章則會(huì)就LDF提供一個(gè)完整的源碼,以及一個(gè)詳細(xì)的視頻教程。 |