DSP

在dsp固定的内存地址处存放数组

2019-07-13 09:40发布

 为了实现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 }