Comments
Description
Transcript
山武一朗
山武 一朗 第19 回 PCI バス割り込みテスト用回路の設計 ● Linux のデバイス・ドライバ はじめに このうち,BLANCA 上の FPGA との接続バスが PCI バスに対 応しているものは,SH-4A と PowerPC,MIPS の 3 品種です. 今回は編集部から,ある仕様をもった PCI デバイスを設計し てほしいとの依頼がありました.BLANCA(組み込みシステム Linux を本格的に使用する場合,独自の周辺コントローラを制御 開発評価キットの通称,以降は BLANCA)用オプション CPU する場面では,それに対応したデバイス・ドライバの作成が不 カードを使っているソフトウェア系の筆者の方から,PCI バス 可欠です.BLANCA 上の FPGA との接続バスが PCI バスである の割り込み関連のテストをしたいという要求があったようです. 場合は,PCI バスのルールにのっとったドライバが必要です. このときよく問題になるのは,4 本ある PCI バスの割り込み たしかに,後述するように PCI バスの割り込みの扱いは若干や ラインがホスト CPU に対してどのような接続になっているか やこしいところがあります. という点です. そこで簡単に PCI バスの割り込みテストができるハードウェ ● PCI バスの割り込みライン アを作ってみることにしました. PCI バスの割り込み信号は INTA# ∼ INTD# の合計 4 本あ 1.PCI バスの割り込みラインの扱い り,複数の PCI デバイスが割り込みを出力する場合は,割り込 みラインを共有することもあります.図 1 に PCI バスの割り込 ● オプション CPU カードの現状 みラインの配線のようすを示します.マザーボード上に搭載さ BLANCA には,拡張用としてオプション CPU カードが用意 れている PCI デバイス 1 が INTA# を出力し,それがマザーボー されています.現在,SH-4A (SH7780) ,PowerPC (MPC5200B) , ド上の INTA# ラインにつながっています.PCI デバイス 2 は MIPS(V R 4131)版が発売中で,PowerPC および MIPS では マルチファンクション・デバイスのようで,INTA# と INTB# Linux が稼働する状態で出荷されています.SH-4A はまだです を使用しているようです.にもかかわらず,PCI デバイス 2 の が,Linux の移植作業が進んでいるそうで,近日中に公開でき INTA# 出力はマザーボード上の INTB# のラインに,PCI デバ ると聞いています.さらに 2008 年に開催された展示会では, イス 2 の INTB# 出力はマザーボード上の INTC# のラインにつ ARM9(AT91SAM9XE256)版の開発が進められているとも発 ながっています. さらに PCI スロットを見てみましょう.スロット 1 は INTA# 表されています. PC I デバイス1 INTA# INTA# INTB# INTC# INTD# スロット1 スロット2 スロット3 スロット4 INTA# INTA# INTA# INTA# INTB# INTB# INTB# INTB# INTC# INTC# INTC# INTC# INTD# INTD# INTD# INTD# インタラプト・ルータ PC I - I SAバス・ブリッジ 図1 PCI バスの割り込みラインの配線のようす (PC/AT 互換機の例) INTA# INTB# PC I デバイス2 168 KEYWORD ―― PCI バス,割り込み,INTA#,INTB#,INTC#,INTD#,MIPS,PowerPC,u-boot June 2009