計測制御技術ラウンジ >> GPIB技術ラウンジ 全部 1- 最新50

C言語での作成方法

6 名前: 匿名488 投稿日:2003/12/15(月) 16:33 ID:???
該当する CPU/開発環境 について詳しくないのですが
inp/outp 命令があるなら、それが該当する可能性が高いです。

一般的には、I/O アドレッシングであれば専用命令で、
メモリマップド I/O であれば、メモリアクセス命令で
アクセスできます(ポインタにアドレスを直接代入するか
定数ポインタをキャスト。コンパイラの最適化による
省略等をふせぐため、volatile 修飾子をつけること)。
どちらになるのかは NAT がどのようにバスに接続されているか、
その形態によります。

該当メモリ空間へのウェイトの挿入を適切におこなってください。
最近の高速なバスにノーウェイトですると問題があるかもしれません。

これはハード設計時の注意なので、もし逆になっていたらもう遅いかもなのですが、
過去ログにもありますように、たしかこの石は
データバスの LSB-MSB のナンバリングが逆になっています。

バス幅が 16/32 bit の場合、アドレスバスのどこに接続しているか、
BigEndian か LittleEndian か、CPU バスがバイトアクセスをどのように
取り扱うか、などでアクセスすべきアドレスが変わります。
そのあたりも注意してください。

以上、一般論ですが、ご参考まで。

新着レスの表示

名前 : E-mail(省略可) :

文責:計測制御技術ラウンジ, Powered by ©タカヒロ@みちのく掲示板 [12ch BBS 2.03]