[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 メーリングリストの案内