2016年10月23日日曜日

ラズベリー・パイで自力シリアル通信(ドライバー編)

随分と時間がかかってしまったけど、ようやく動くものになってきた。

概要
カーネルモジュール(ドライバー?)を作成して、GPIOをパタパタさせる。
8月からやっているヤツのデバドラ版。

デバイスとして扱われるので、echoやcatで入出力ができたり、既存の通信プログラムでも使えると思う。
出力されるクロックはdelayを使っているので、安定していると思う。
データのポーリングはカーネルタイマーを使っているので、
ラズベリー・パイの場合は100Hzが(10ms)が限界。
性能評価はこれから。

cat /dev/zero > /dev/MySFR9km0

とやってみると、大体350 Char/Secくらい。意外と遅い。

PIC側の設計上は960Char/Secまで行けるのはずなのだが??



メモ
request_mem_regionが毎回失敗するのはなぜだろう
早速Amisでも移植してみるか?