代码之家  ›  专栏  ›  技术社区  ›  kev

avrdude的包装库

  •  2
  • kev  · 技术社区  · 6 年前

    问题: 通过android应用程序,能够以编程方式验证arduino flash内容,以确保它没有被更改(恶意地)

    我可以用avrdude在android adb shell中使用下面的命令

    avrdude -C/data/data/com.myapp.avrdude/local/etc/avrdude.conf -v -patmega2560 -cstk500v2 -P/dev/ttyACM0 -b115200 -D -Uflash:v:firmware.hex:i
    

    这对Arduino很有效,但当我想对使用FTDI芯片的电路板也这样做时,问题就来了。当它连接到Android设备时,它不会显示在/dev/location中。

    在linux机器上,arduino设备显示为/dev/ttyacm0,ftdi设备显示为/dev/ttyusb0。问题是ftdi设备没有出现在android上,因此上面的avrdude命令变得无用。

    我不想为ftdi构建指定的内核驱动程序 here

    我想用的方法,我认为最可行的是找到/构建一个简单的Java包装器,用于AVRDUDE,它与USB设备在更高的层次上交互,这样我就可以利用 FTDI java library 执行命令来验证flash。

    这种方法可行吗?如果没有,解决这个问题的最佳方法是什么?

    2 回复  |  直到 6 年前
        1
  •  1
  •   Jcov    6 年前

    查看ftdi站点,似乎有一些ftdi ic的驱动程序: FTDI Android Driver 然后,您可能会在AVA中再次构建AVRDUDE。

    我经常在使用Arduino时使用Avrdude…主要是从Raspberrypi远程重新格式化/升级3D打印机上的固件…

    我会去

    1)查看Arduino司机……

    2)如果失败了,也许试着在Java中运行C程序的途径?所以你可以用你的应用程序打包avrdude?

    3)XY问题->为什么不看看其他途径…真正打开恶意固件的唯一方法是物理访问设备和具有先前源代码的用户(可以设置锁定位以防止读取EEPROM)。启动时甚至可以使用带时间戳的uuid 1024bit aes令牌/jwt之类的东西来验证构建?

    https://en.wikipedia.org/wiki/Java_Native_Interface
    
        2
  •  1
  •   Martin Zeitler    6 年前

    建筑为 JNI 帮不上忙 avrdude 不是用 FTDI 支持。

    我已经下载了 avrdude-6.3.tar.gz 然然 ./configure --enable-linuxgpio :

    Configuration summary:
    ----------------------
    ...
    DON'T HAVE libftdi1
    DON'T HAVE libftdi
    ...
    

    寻找时:

    $ sudo yum whatprovides */libftdi1
    

    它给了我:

    libftdi-devel-1.1-4.el7.x86_64 : Header files and static libraries for libftdi
    Filename : /usr/include/libftdi1
    

    sudo yum install libftdi-devel 同时安装 libconfuse . 它也需要 flex bison .

    甚至有司机 D2XX FT4222H .

    看见 AN_357 Android D2XX Demo Application for FT4222H .

    还有手臂的构造 libft4222-linux-1.4.1.231.tgz

    …它会进入 jniLibs/armeabi 目录。

    这取决于它是哪个芯片组,但是 TN 134 FTDI Android D2XX Driver 国家:

    为了配合本地D2XX库, FTDI提供了Java类和JNI包装器 哪个可以 很容易包含在应用程序中。该类提供对所有经典D2XX函数的访问,包括 EEPROM功能。

    它甚至带有 video install guide .

    也发现了阿杜诺 build-script 对于 阿夫杜德 .

    推荐文章