來(lái)詳細(xì)的說(shuō)一說(shuō)這個(gè)Blackfin的LDF文件。
首先我們使用圖形打開(kāi):
在 LDF 文件上進(jìn)行雙擊鼠標(biāo)左鍵,或者按右鍵在彈出菜單中按下圖選擇,會(huì)彈出LDF 文件的圖形界面。
圖形界面分左右兩個(gè)窗口,左邊為 LDF 文件分配的空間片斷的標(biāo)識(shí)符。右邊為DSP 整個(gè)空間的分配地址和使用情況。從左邊的標(biāo)識(shí)符中可以看到SDRAM 區(qū)域分為sdram0,sdram0_bank1, sdram0_bank2, sdram0_bank3 等區(qū)域,如果要使用SDRAM 的空間,就可以通過(guò)這些描述符來(lái)定義。
可以點(diǎn)擊右上角放大按鈕,將內(nèi)存分布放大,觀察當(dāng)前內(nèi)存使用情況。
使用代碼也可以代開(kāi):
在 LDF 文件上按右鍵在彈出菜單中按下圖選擇,會(huì)以代碼方式打開(kāi)文件。
在代碼中,可以找到如下圖代碼,該代碼是指定DSP 所使用空間的大小分配表,可以根據(jù)需要修改其空間分配的大小。
搜索“MEM_SDRAM0_BANK1”,可以找到如下代碼,該代碼中調(diào)用了很多庫(kù)函數(shù),來(lái)定義空間功能,最后對(duì)該空間片斷做了標(biāo)識(shí)符映射,其標(biāo)識(shí)符為“sdram0_bank1”,通過(guò)調(diào)用該標(biāo)識(shí)符,可以使用該空間。如果自己定義一個(gè)空間片斷,可以在上面的空間地址中定義一個(gè)空間片斷的地址區(qū)域,注意不要使空間重復(fù),然后復(fù)制下面的代碼,建立一個(gè)自定義空間的功能描述,修改為自己定義的描述符即可。
在 LDF 文件定義空間時(shí),常在空間片斷描述符后面看到“ZERO_INIT”標(biāo)志,該標(biāo)志表示在編譯代碼時(shí),將該段空間清為0,也可以不對(duì)該空間操作,其標(biāo)識(shí)符作“NO_INIT”
將 sdram0_bank0 初始化時(shí)數(shù)據(jù)清為0:
在正常使用時(shí),原則上不建議大家來(lái)修改 LDF 的代碼,以免因?yàn)長(zhǎng)DF 文件問(wèn)題,為開(kāi)發(fā)后期來(lái)帶麻煩。 |