...

山武一朗

by user

on
Category: Documents
1

views

Report

Comments

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
Fly UP