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

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




 

  

你可能感兴趣的:(在dsp固定的内存地址处存放数组)