![](/img/trans.png)
[英]Cannot run project in Android Studio 3.4.1 on Samsung Devices
[英]Run avrdude on Android with Samsung devices
您好stackoverflow.com的成員!
我嘗試在Android中構建一個可以上傳由avr-gcc生成的HEX文件的應用程序。 我安裝了這個鏈工具AndAVR http://code.google.com/p/andavr/
運行avrdude(在具有USB-OTG電纜的根設備中)我在移動終端中使用以下命令:
/data/data/jackpal.androidterm/local/bin/avrdude -F -V -c arduino -p m2560 -P /dev/bus/usb/002/001 -b 115200 -C /data/data/jackpal.androidterm/local/etc/avrdude.conf -U flash:w:/sdcard/megademo/Blink1.cpp.hex
在閱讀了這篇文章之后, Android無法使用AVRDUDE與Arduino對話,我嘗試了解決方案,並通過/ dev / ttyACM0更改了/ dev / bus / usb / 002/002。
/data/data/jackpal.androidterm/local/bin/avrdude -F -V -c arduino -p m2560 -P /dev/ttyACM0 -b 115200 -C /data/data/jackpal.androidterm/local/etc/avrdude.conf -U flash:w:/sdcard/megademo/Blink1.cpp.hex
但是avrdude回答我:
avrdude: ser_open(): can't open device "unkown". No such file or directory.
我有一個Arduino Mega 2560和Mega ADK 2560 R3,這兩塊板都有一個ATmega2560微控制器,我有:
問題是三星設備無法枚舉Arduino開發板,而華碩標簽是。
在所有設備中,我在移動終端中運行命令:
cat /proc/tty/drivers
華碩提供了具體的驅動程序:
ACM /dev/ttyACM 166 0-31 serial
該驅動程序未在Samsung設備中顯示,那么該驅動程序對於將hex文件上傳到Arduino板是必不可少的,那么如何在三星設備中安裝該驅動程序? 或如何上傳十六進制文件?
所有設備中的Android在/ dev / bus / USB / 002 / xxx中創建一個文件,其中xxx是Arduino開發板或其他USB設備。
最好的祝福!
如果要使用此方法,則需要加載cdc_acm內核模塊-可能不是設備隨附的,因此必須對其進行構建。 然后創建相應的/ dev / ttyACM0設備節點,因為在台式機Linux上可能不存在的守護進程不存在。 您將需要root來執行這些操作,並適度關閉內核源以進行編譯。
如果您的設備支持Android USB Host API,則另一種方法可能是使用Android USB Host API在Android應用程序中以用戶模式實現CDC_ACM類型的通信。 這將是一個更具“ android風格”的解決方案,但將需要對avrdude進行一些更改,因為它必須通過打包在應用中的可識別Android的后端服務進行通信。
還要注意,最近的arduinos(Uno等)和少數克隆都使用CDC_ACM。 較舊的Arduino開發板和大多數克隆使用FTDI USB串行轉換器,並且需要ftdi驅動程序模塊或協議。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.