[Armadillo:06532] Re: Armadillo-300の拡張バス(CON12)について
Takenoshita Koyo
email@hidden
2011年 1月 14日 (金) 14:40:59 JST
竹之下です。
> 「Static Memory Configuration 3 register」等を、
> ユーザーアプリケーションレベルで、「/dev/mem ドライバ」を使用して変更する場
> 合、
>
> #define NS_MEM_MODULE_BASE 0xFA700000 // virtual address
> #define NS_MEM_MODULE_BASE_PA 0xA0700000 // physical address
>
> どちらの、アドレスを使用してあげればいいのでしょうか?
> 上記2つの違い、使い分けがわかりません。ご教授お願いします。
コメントにもかいてあるように、NS_MEM_MODULE_BASEが仮想アドレス、
NS_MEM_MODULE_BASE_PAが物理アドレスです。
/dev/memに関しては、作業用PCで「man mem」コマンドを実行すると、
オンラインマニュアルを参照できます。
そこには、
> mem のバイトアドレス(byte address)は 物理メモリアドレスとして解釈される。
と書いてありますので、物理アドレスを指定してあげれば良いと思います。
> また、運用時に「/dev/mem ドライバ」で
> 上記「Static Memory Configuration 3 register」等を変更するやり方では、
> 何か、問題が発生するのでしょうか?
/dev/memでGoogle検索すると、以下のページが一番上にでてきました。
http://www.mech.tohoku-gakuin.ac.jp/rde/contents/linux/drivers/nodriver.html
デバイスドライバを使わなくともできること、できないことが書いてあります。
以上、ご参考になれば幸いです。
TFC 小林 さんは書きました:
> お世話になります。TFC小林です。
> メール有難うございます。
>
> 「Static Memory Configuration 3 register」等を、
> ユーザーアプリケーションレベルで、「/dev/mem ドライバ」を使用して変更する場
> 合、
>
> #define NS_MEM_MODULE_BASE 0xFA700000 // virtual address
> #define NS_MEM_MODULE_BASE_PA 0xA0700000 // physical address
>
> どちらの、アドレスを使用してあげればいいのでしょうか?
> 上記2つの違い、使い分けがわかりません。ご教授お願いします。
>
> また、運用時に「/dev/mem ドライバ」で
> 上記「Static Memory Configuration 3 register」等を変更するやり方では、
> 何か、問題が発生するのでしょうか?
> 本来であれば、ドライバを作成してその中でやるような事らしいのですが、
> 当方、ドライバ作成の方法がわかりません。
>
> 以上、よろしくお願いします。
>
>
>>> 「Static Memory Configuration 3 register」
>>> 「Static Memory Read Delay 3 register」
>>> 「Static Memory Write Delay 3 register」
>>> を、変更してみたいと思うのですが、
>>> ユーザーアプリケーション等の簡単な方法で変更をすることは可能でしょう
>> か?
>> /dev/mem ドライバを使えば可能だと思います。/dev/mem を
>> 使って物理アドレスを mmap() でアプリケーションのアドレス
>> 空間にマップするやり方は、たとえば
>> http://www.si-linux.co.jp/wiki/cat/index.php?UserLandIO
>> が参考になるでしょう。
>
>
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>
--
Koyo Takenoshita
armadillo メーリングリストの案内