[Suzaku:01264] Linux からのレジスタアクセスについて

Kobuna email@hidden
2008年 10月 27日 (月) 18:13:19 JST


初めまして、東北大の小鮒と申します。
現在SUZAKU-V SZ410を用いて、CMOSイメージセンサーの駆動、
読み込みシステムの開発を行っています。
CMOSから順に出力されるピクセルデータをSUZAKUのI/Oポートで受け、
CPUレジスタに転送し、そのレジスタをlinux側プログラムから一定周期で
参照する形でのデータ読み込みを想定しています。
FPGA並びに組み込みシステム開発については今回初めて取り組んでおり、
linuxの構造等も初めて学んでいる状態です。

スターターキットガイド(FPGA)に沿ってEDKを使って、
自作コアの入出力にCPUレジスタを割り当てることはでき、
生成したデータでbitデータの書き換えは行ったのですが、
そこで割り当てたメモリマップでfreeの物理アドレスにLinux側からポインタを使って
中身を参照しようとするとSIGSEGVの表示が出てきてしまいます。

その後自分で調べて結果、linux側から見るとCPUの物理アドレス空間は
仮想アドレスと呼ばれるものに変換されることはわかりました。
ただそれ以上の物理→仮想アドレスの変換やレジスタのアクセス許可の方法については
情報が見つけられず行き詰ってしまっています。
SUZAKUスターターキットガイドのFPGA編、Linux編とatmark-dist開発ガイドは
参照しましたが該当する箇所は見つけられませんでした。


そこで今回、

EDKで設定したある物理アドレスのCPUレジスタにlinux側からアクセスするための方法

を教えていただく、またはわかりやすい参考書等紹介していただけないでしょうか?
素人質問で申し訳ありませんが、何卒よろしくお願い致します。

----
小鮒 格久
東北大学大学院理学研究科地球物理学専攻   
e-mail: email@hidden



suzaku メーリングリストの案内