|
CAT760_GPIO †CAT760のGPIOのうち、UART (SCIF) と共用ピンになっている SCK1, CTS2, RTS2 が GPIOとして使用できるか確認した
検証方法 †linux-2.6.15にて 汎用 gpiodrv ドライバをロードして行う gpiodrv.ko linux-2.6.15用 Version1.2 → Version 1.3の変更点 PTH5,6,7 を GPIO In/Out 設定可能に変更した (以前は周辺モジュールモードのみ) # insmod gpiodrv.ko # ./cat760.sh PTG4(SCK1) †# echo O > /dev/gpio/ptg4 大文字のO (Output)を書込み、GPIO出力に # echo 0 > /dev/gpio/ptg4 点灯した # echo 1 > /dev/gpio/ptg4 消灯した PTG4の GPIO操作ができることを確認した PTH6(CTS2), PTH5(RTS2) †RXD2-TXD2 をループバックし、 RTS2-CTS2 もループバックします この状態で PTH5 〜 PTH6 の GPIO折り返しが読み書きでき、かつ /dev/ttySC2 での折り返しが読み書きできれば UART機能と GPIO機能が同時に動くことが確認できます。 telnetなどで端末を2つ開きます 試験1 †PHT6を入力、PTH5を出力にして折り返す 端末1 # echo I > /dev/gpio/pth6 # cat /dev/gpio/pth6 端末2 # echo O > /dev/gpio/pth5 # echo 1 > /dev/gpio/pth5 # echo 0 > /dev/gpio/pth5 試験2 †PHT5を入力、PTH6を出力にして折り返す 端末1 # echo I > /dev/gpio/pth5 # cat /dev/gpio/pth5 端末2 # echo O > /dev/gpio/pth6 # echo 1 > /dev/gpio/pth6 # echo 0 > /dev/gpio/pth6 試験3 †PTH7 (SCK2) を入力にし、Vcc, Gnd などに接続して値を読む 端末1 # echo I > /dev/gpio/pth7 # cat /dev/gpio/pth7 試験4 †この状態で 端末1 # cat /dev/ttySC2 端末2 # echo "hello" > /dev/ttySC2 UARTの折り返し動作OK 結論 †SH7760ハードウェア的にはUART(SCIF)機能と、GPIO機能は混在させることが可能である。 ただし、Linuxの SCIFデバイスドライバが、 RTC/CTS 機能を使っている可能性があり、SCIF初期化時やioctl()による モード変更時に PTH5やPTH6を RTC/CTS モードに変更してしまう可能性があります(未検証) アプリが関与しないところで PTH5 や PTH6 が出力に設定されると誤ったデータが出力される恐れがあります。 関連 † |