爲了實現dsp與windows驅動的交互,在dsp端需要一個內存地址固定的數組作爲交互緩衝區。
爲了實現內存地址固定,可以使用
#progma DATA_SECTION ,即在c文件中
#pragma DATA_SECTION(pcisearch,".my_pci_sect")
char pcisearch[100];
在cmd文件中加入
SECTIONS
{
.my_pci_sect:{} > PCIMEM
}
PCIMEM是在dsp/BIOS的配置文件中加入的,PCIMEM存儲區中不放置其他內容。這樣,pcisearch數組就會在PCIMEM的起始點作爲數組開始的內存地址。
注意事項:
1 在#progma DATA_SECTION命令中,不要忘記在雙引號中的那個“.”
2 在dsp/bios中設置PCIMEM時,注意不要讓它和別的存儲區(SDRAM)重疊。並且應該設置爲data space
3 dsp/bios會自動生成一個cmd文件,如projectcfg.cmd 。這時應該使用自己寫的cmd文件,將projectcfg.cmd從工程中刪除。手寫cmd內容可以如下:
/* include config-generated link command file */
-l Configuration1cfg.cmd
/* include libraries for the IOM driver and PIO adapter */
-l c64xx_pci.l64
-l cslDM642.lib
/* self definition sections
SECTIONS
{
.my_pci_sect:{} > PCIMEM
}