DMAと他人の割り込みとの共存
昨日の問題が解決しました。
特電PCI ExpressボードがDMA転送を行なっている最中に、グラフィックカードが割り込みをかけてきて、特電PCIeのISRが呼び出されて、BAR0に配置した割り込みステータスレジスタを確認しにいっても、うまく動作しつづけられるようにしました。
DMA中にメモリ読み出しリクエストが来た場合、DMAを一旦中断させてメモリリードに応答し、その後、再びDMAに戻るようにしました。
これで、DMA中にInternetExplorerを数十個立ち上げようが、ISEのコンパイルを走らせようが、何をしてもびくともしなくなりました。合計100ギガバイトくらいのデータをやりとりしていますが、エラーなしです。
| 固定リンク
コメント