トップページ⇒tech
31コメント9KB

Windows PCI デバイス プログラミング

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2007/05/10(木) 16:18:12
PCIデバイスを制御したりとかするプログラミング。
Windowsが基本だが、他のでもまあまあおk。

参考なページ
ttp://community.osdev.info/index.php?%28PCI%29class
0002デフォルトの名無しさん2007/05/10(木) 16:21:35
ベースアドレス0に、物理メモリのアドレスがあるって話なんだけど
このアドレス値は、
http://wsuper.com/Tech/mother/PCI/confreg.htm
にあるように、ビット3−0が特殊で、それ以上がアドレス値になるらしいが
そのアドレス値はどう読み取ればいいの?
32ビット値としてみて、下位の3−0ビットは全部0(つまり16バイト境界?)って判断すればいいの?
それとも、28ビットで上位を0のアドレスとしてみればいいの?
0003デフォルトの名無しさん2007/05/12(土) 12:45:19
darekaresusiro
0004デフォルトの名無しさん2007/05/12(土) 12:51:32
よくわからんが、Windowsって付いてるってことは、
DDKスレなのか?
0005デフォルトの名無しさん2007/05/12(土) 15:59:45
ちぇっく
0006デフォルトの名無しさん2007/05/12(土) 16:37:51
別にLinuxとかでもやることは一緒でしょ
0007デフォルトの名無しさん2007/05/13(日) 18:52:23
元々は正社員だったのに取引先にフリーのほうが稼げるとか騙されて
結局派遣やってるバカがいるんだけどw
なんか派遣先といい関係、とか言ってたから思わず吹き出しちゃったよw
最近はマネージャーもやってるとか寝言言ってるし、派遣がまねぇじゃぁ?はあ!?w

そもそも信頼されてるなら直接契約するか正社員にするはずだが、
いつでも切れる派遣会社経由って舐められてんだよ

派遣期間が長くならないうちに早く就職しろ、と忠告したら、ウッキー!って逆ギレw
バカで頑固だから何度言っても理解できない
騙されたとはいえ結局は自分で決めて派遣やってる癖に逆ギレしちゃってまぁ
人間として本当に恥ずかしい
0008 ◆0uxK91AxII 2007/05/13(日) 20:09:09
IRP_MN_START_DEVICE
0009デフォルトの名無しさん2007/06/01(金) 11:06:16
IEEE1394も高速PCIバスですよね?

WindowsのアプリからWindowsPCIバスドライバにアクセスするプログラミングというかコードってどこかに載ってますか?
0010デフォルトの名無しさん2007/06/01(金) 14:18:14
答えが無いIO CTL
0011デフォルトの名無しさん2007/06/01(金) 20:53:18
>IEEE1394も高速PCIバスですよね?
PCIの定義にもよるが、どこでそんな嘘情報を仕入れてくるんだ?
001292007/06/04(月) 11:42:53
じゃあ、
>IEEE1394もPCI Expressですよね?
であってる?

というか、PCIバスの1つとは違うの?
0013デフォルトの名無しさん2007/06/04(月) 14:50:22
PCIの定義にもよるが、どこでそんな嘘情報を仕入れてくるんだ?
001492007/06/04(月) 14:57:34
え”、違うの?
正しい定義を教えてYO!
0015デフォルトの名無しさん2007/06/04(月) 15:00:53
お前の態度が気に入らない
自分で調べろ
001692007/06/04(月) 15:04:20
調べた結果、IEEE1394はPCI Expressでした。

イジョ
0017デフォルトの名無しさん2007/06/04(月) 15:07:17
SCSIの一種だが
0018デフォルトの名無しさん2007/06/04(月) 15:36:15
ウェー、ハッハッハ                             イキデキネーヨ
   ∧_∧    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ハライテ- ウェー、ハッハッハ     ウェー、ハッハッハ
.  ( ´∀`) <  1394はSCSI       ∧_∧       〃´⌒ヽ
.  ( つ ⊂ )   \_______   (´∀` ,,)、     ( _ ;)
   .)  ) )   ○   ∧_∧      ,, へ,, へ⊂),    _(∨ ∨ )_
  (__)_) ⊂ ´⌒つ´∀`)つ    (_(__)_丿      し ̄ ̄し
          タッテ ラレネーヨ ウェー、ハッハッハ 


0019デフォルトの名無しさん2007/06/04(月) 15:38:52
USBはPCIだろ
0020デフォルトの名無しさん2007/06/04(月) 17:04:47
おまいら馬鹿だな、1394とUSBも232Cの兄弟だよ
1394はRS-232 fire, USBはRS-232 cold という規格の別名。
で、PCI-ExpressはPCIが着いているが実は232Cの兄弟
PCI-ExはRS-232 Ultraと言う規格の別名

だから、まずRS-232Cを理解してないと上記の規格は理解できないyo。
0021デフォルトの名無しさん2007/06/04(月) 17:10:28
IEEE1284(パラレルパート)もな
0022デフォルトの名無しさん2007/06/04(月) 17:22:41
>1394はRS-232 fire, USBはRS-232 cold という規格の別名。
>だから、まずRS-232Cを理解してないと上記の規格は理解できないyo。

kwsk
0023デフォルトの名無しさん2007/06/07(木) 13:28:48
1394がSCSIだったとして、
Windowsアプリからどうやってアクセスするの?
0024デフォルトの名無しさん2007/06/08(金) 00:39:05
ストレージクラスがSCSI的なコマンドセットを持ってるって話でそ。
ちなみにUSBもそう。
0025 ◆0uxK91AxII 2007/06/08(金) 01:04:24
IOCTL_IEEE1394_API_REQUEST
0026デフォルトの名無しさん2007/06/12(火) 10:23:12
>>24
SCSI的なというか、SCSIの改良版。FibreChannelもSCSIだね。
初期のSCSIは物理層も含めた規格だったのが、いつの間にかコマンドセットだけ
取り出されて、データリンク層だかネットワーク層だかのプロトコルとして独り歩きしてる。
0027デフォルトの名無しさん2007/06/12(火) 13:19:54
調べるときはどっちから調べるの?

・ストレージクラス
・IOCTL_IEEE1394_API_REQUEST

う〜ん、Win32といえばサンプルコードとセットだが、IEEE1394サンプルコードが無いお。
0028 ◆0uxK91AxII 2007/06/12(火) 16:09:24
テキトーな事を書いていて間違っていたので、>>25は無視で。
0029デフォルトの名無しさん2007/06/13(水) 00:42:21
http://siisise.net/ieee1394.html
とっても興味ある分野なので IEEE1394に関する技術などをまとめてみました。
詳細は、参考書籍ぐらいなら紹介できます。
IEEE1394は、SCSIに代わる物として開発された、バス規格である。
SCSIのように、ディスク等を接続することもできるし、動画などを送受信することもできる。TCP/IPの通信にも使える。
いまのところ、動画関連とディスクの接続ぐらいしか、標準仕様はないのかもしれない。
専用のデバイスドライバを準備する必要があるが、USBで実現可能なことも、すべて実現できる上に、パソコン同士の接続(TCP/IPなど)にもそのまま使うことができる。

ツリー接続
接続は、バス型、ツリー型が可能。
パソコン同士の接続にも利用可能。(SCSIも、規格上は可能)
0030デフォルトの名無しさん2007/06/14(木) 10:39:40
なるほどね。

ところで、IEEE1394の機器にWindowsからアクセスする場合って、ドライバアクセスだけどどのAPIセット?
0031デフォルトの名無しさん2007/11/27(火) 19:01:52
プログラミングの話ではなくて、デバイス情報ファイルについてなんですが質問です。

http://support.microsoft.com/kb/323595/ja
特定のアドレスをデバイス用に割り当てるには、MemConfig=D0000-D03FF
などとして割り当てられるということですが、
仮想デバイスというか、実際にはハードウェアがない状態で
架空のハードウェアを作成してメモリを割り当てたいのですが、
infファイルの記述が分かりません。

てきとうにファイルを作ってみたんですがエラーになって。
対象OSはWindows2000で、別にINFファイルを作らなくてもいいんですが、
物理アドレス固定で確保しないと。
要するに壊れたメモリをデバイスとして確保して、
プログラムが利用しないようにしたいんですね。
それをソフト的に回避するにはどうしたらいいかなと。

[Version]
Signature="$CHICAGO$"
Class=MEDIA

[ControlFlags]
ExcludeFromSelect=*

[NULL_Inst.NT]
LogConfig=MemIO.LC0

[MemIO.LC0]
ConfigPriority=DESIRED
MemConfig=FFF0000-FFFFFFF,10000000-10010000
■ このスレッドは過去ログ倉庫に格納されています