dsp固定メモリアドレスに配列を格納

1142 ワード

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はprojectcfgのようなcmdファイルを自動的に生成する.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
}