kunimaru
2016年9月20日 16時14分
Armadillo-420 で USB デバイス機能の使用について
Armadillo-420のUSBインターフェース1でPCとシリアル通信したいと考えております。
Howto : Armadillo-410 液晶モデル開発セット で USB デバイス機能を使用する
http://armadillo.atmark-techno.com/howto/a400-use-usb-gadget
や
Howto : Armadillo-800 EVAのUSBデバイス機能を使用する
http://armadillo.atmark-techno.com/howto/a800eva-use-usb-gadget
を参考に
USBの電源部を改造し、
menuconfigを
Device Drivers ---> [*] USB support ---> < > Support for Host-side USB <*> USB Gadget Support ---> [*] Debugging information files (DEVELOPMENT) USB Peripheral Controller (Freescale USB Device Controller) ---> Freescale USB Device Controller [ ] Support for OTG peripheral port on Freescale controller <M> USB Gadget Drivers <M> Serial gadget (with CDC ACM support)
としてmakeしたイメージで、
insmodコマンドを実行すると
以下のエラーが出てしまいます。
[root@armadillo420-0 (ttymxc1) ~]# insmod g_serial.ko Using /lib/modules/2.6.26-at26/kernel/drivers/usb/gadget/g_serial.ko gs_module_init: cannot register gadget driver, ret=-19 insmod: cannot insert `/lib/modules/2.6.26-at26/kernel/drivers/usb/gadget/g_serial.ko': No such device (-1): No such device
以下の環境でもパッチが必要なのでしょうか?
何か解決策をご存知でしたら、ご教授ください。
開発環境は
Armadillo-420
ATDE3
Linux v2.6.26-at26
です
よろしくお願いいたします。
以上
コメント
kunimaru
笹山様コメントありがとうございます。
試すのに時間がかかり、返信が遅れてしまいました。
申し訳ありません。
> 上記Howtoの記載通り、linux-2.6.35-at-alpha4 環境で試してみてください。
> Armadillo-410 向けの内容ですが、Armadillo-420,440 でも動作確認ができると思います。
確かに
Armadillo-420+linux-2.6.35-at-alpha4
の組み合わせでPCからCOMデバイスとして認識することができました。
ただArmadillo-420でSPIも使用したいのですが、 linux-2.6.35-at-alpha4で
ここのように
Armadillo実践開発ガイド 第2部 2.3. SPI接続A/Dコンバーター
http://manual.atmark-techno.com/armadillo-guide/armadillo-guide-3_ja-2…
設定をするとコンパイルエラーになります。
linux-2.6.26でUSB デバイス動作させられないでしょうか?
以上
> 笹山です。
>
> > 何か解決策をご存知でしたら、ご教授ください。
>
> Howto : Armadillo-410 液晶モデル開発セット で USB デバイス機能を使用する
> http://armadillo.atmark-techno.com/howto/a400-use-usb-gadget
>
> 上記Howtoの記載通り、linux-2.6.35-at-alpha4 環境で試してみてください。
> Armadillo-410 向けの内容ですが、Armadillo-420,440 でも動作確認ができると思います。
>
> USBケーブル(Aオス - Aオス) が手元に無かった為、 insmod までしか動作確認ができていませんが、
> 恐らく動作するのではないかと思います。
>
> [root@armadillo440-0 (ttymxc1) /mnt]# uname -r > 2.6.35-at-alpha4 > [root@armadillo440-0 (ttymxc1) /mnt]# insmod g_serial.ko > Using g_serial.ko > g_serial gadget: Gadget Serial v2.4 > g_serial gadget: g_serial ready > fsl-usb2-udc: bind to driver g_serial >
>
at_takashi.sasayama
笹山です。
> linux-2.6.26でUSB デバイス動作させられないでしょうか?
動作実績はありませんので、恐らく使用できないものと思われます。
> ただArmadillo-420でSPIも使用したいのですが、 linux-2.6.35-at-alpha4で
> ここのように
> Armadillo実践開発ガイド 第2部 2.3. SPI接続A/Dコンバーター
> http://manual.atmark-techno.com/armadillo-guide/armadillo-guide-3_ja-2…
> 設定をするとコンパイルエラーになります。
linux-2.6.35-at-alpha4 は標準では SPI をサポートしていません。
添付のパッチを適用すると SPI が使用できるようになります。
パッチの適用方法は以下です。
[ATDE3]$ cd linux-2.6.35-at-alpha4/ [ATDE3]$ patch -p1 < linux-2.6.35-alpha4-add-spi.patch patching file arch/arm/mach-mx25/Makefile patching file arch/arm/mach-mx25/armadillo400.c patching file arch/arm/mach-mx25/armadillo400_spi.c patching file arch/arm/mach-mx25/clock.c patching file drivers/spi/mxc_spi.c patching file drivers/spi/mxc_spi.h patching file include/linux/fsl_devices.h
SPI を使用するためのカーネルコンフィギュレーションは以下です。
Linux Kernel Configuration System Type ---> Freescale MXC Implementations ---> Armadillo-400 Board options ---> [ ] Assign UART3 to CON9 #SPI1使用時はチェックを外す [ ] Assign UART5 to CON9 #SPI3使用時はチェックを外す : [ ] Assign SPI1 to CON9 #SPI1使用時はチェックを入れる [ ] Assign SPI1_SS0 to CON9_25 #必要に応じて選択 [ ] Assign SPI1_SS1 to CON9_11 # 〃 [*] Assign SPI3 to CON9 #SPI3使用時はチェックを入れる [*] Assign SPI3_SS0 to CON9_16 #必要に応じて選択 [ ] Assign SPI3_SS1 to CON9_18 # 〃 [ ] Assign SPI3_SS2 to CON9_15 # 〃 [ ] Assign SPI3_SS3 to CON9_17 # 〃 Device Drivers ---> [*] SPI support ---> # チェックを入れる --- SPI support *** SPI Master Controller Drivers *** <*> Utilities for Bitbanging SPI masters # チェックを入れる < > GPIO-based bitbanging SPI Master < > Freescale i.MX SPI controllers < > Xilinx SPI controller common module <*> Freescale MXC CSPI controller # チェックを入れる < > DesignWare SPI controller core support *** SPI Protocol Masters *** <*> User mode SPI device driver support # チェックを入れる < > Infineon TLE62X0 (for power switching)
ファイル | ファイルの説明 |
---|---|
linux-2.6.35-alpha4-add-spi.patch | linux-2.6.35-alpha4用 SPI 追加パッチ |
at_takashi.sasayama
2016年9月21日 10時01分
笹山です。
> 何か解決策をご存知でしたら、ご教授ください。
Howto : Armadillo-410 液晶モデル開発セット で USB デバイス機能を使用する
http://armadillo.atmark-techno.com/howto/a400-use-usb-gadget
上記Howtoの記載通り、linux-2.6.35-at-alpha4 環境で試してみてください。
Armadillo-410 向けの内容ですが、Armadillo-420,440 でも動作確認ができると思います。
USBケーブル(Aオス - Aオス) が手元に無かった為、 insmod までしか動作確認ができていませんが、
恐らく動作するのではないかと思います。