ARMプロセッサとDSPプロセッサはどのように連携し、命令セットは異なります。FFT、ビデオ処理などのDSPプロセッサで動作するはずのコードをどのように記述できますか。それらはどのように相互に切り替えますか。いくつかの例で説明すると役に立ちます
3 に答える
ソフトウェアは、ARM と DSP の 2 つの異なる OS が相互に通信できるようにするために使用されます。OMAP の場合、これは dspbridge と呼ばれます (または、別のより単純なものは DSPlink として知られています)。
異なる命令セット (ISA) を持つチップ用のソフトウェアを作成することは、同じ ISA を持つ 2 つのチップ用のマルチコア ソフトウェアを作成することとそれほど違いはありません。最終的に行う必要があるのは、ソフトウェアをさまざまな ISA にコンパイルすることだけです。同じタイプの 2 つのプロセッサの場合と同様に、それらは通常、ある種の共有メモリを介して通信します。そのため、DSP はバイト ストリームをメモリに書き込む場合があります。CPU は、新しいデータに気付くまでメモリをポーリングし、それを処理します。これが、PC 上のすべての周辺機器の動作方法であることに注意してください。これらはファームウェア (組み込みソフトウェア) を実行し、システムの共有メイン メモリを介して通信します。(そして割り込みを使用して)。
同じ ISA の 2 つのチップ用のソフトウェアを作成する場合でも、ブートアップ シーケンスには通常、スレーブとは異なるコードを実行するマスター プロセッサがあることに注意してください。
arm と dsp の間の通信に使用されていた Syslink を調べます。詳細については、次を参照してください。
1 Application calls RCM client object on local processor to request execution of a remote function.
2 RCM client object passes function request message to remote RCM server through local MessageQ.
3 Local MessageQ puts message in remote MessageQ's list of received messages.
4 Local MessageQ requests local Notify module to send notification to remote processor that a message has arrived.
5 Local Notify module notifies remote Notify module.
6 Remote Notify module tells Remote MessageQ object to check its list of received messages.
7 Remote MessageQ object gives remote RCM server the function request message it received.
8 Remote RCM Server calls remote function.