android - 从 Android 升级 STM32 设备固件 (DFU/DfuSe)

标签 android android-ndk usb stm32 dfu

我有一个连接到 Android (4.4) USB 主机端口的 STM32F4 微 Controller 。我想从 Android 设备对微 Controller 进行固件升级。

===================                           ===================
|   Android 4.4   | <=======================> |   STM32F405xx   |
|     Device      | USB Host      USB Device  | Microcontroller |
===================                           ===================

传统上,STM32 微 Controller 可以使用名为 DfuSe Utility 的 PC 工具升级其固件。由ST提供。但我需要从 Android 设备执行此操作。提供了他们的工具的来源。

问题:

  1. 微 Controller 的固件可以使用标准升级USB Host libraries从 Android 使用 Java
  2. 或者这是否需要使用 NDK 来完成,并移植 DfuSe 源?如果是,应使用哪些库从 NDK 访问 USB?

应该采取哪个方向以及如何实现?

最佳答案

我们最终创建了自己的解决方案,使用 DFU 通过 USB 直接从 Android 对 STM32 微 Controller 进行编程,而无需使用 NDK。我们在这里开源了该项目:

https://github.com/UmbrelaSmart/android-stm32-dfu-programmer

关于android - 从 Android 升级 STM32 设备固件 (DFU/DfuSe),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27974633/

相关文章:

Android 如何在没有 ActionBar 的情况下隐藏状态栏

Android加载库错误——无法映射段

c++ - 安卓NDK : unable to open database file using sqlite3_open

java - Android Studio org.slf4j.spi.LocationAwareLogger.log

java - 如何在一处显示所有错误? "x error found"的导航窗口?

android - 错误 : undefined reference to 'ilInit' Android DeviL

读取数据时Android bulkTransfer返回-1但缓冲区中确实有一些数据

android - 在 Android 中使用 libusb 捕获音频

Android 连接 USB 时触摸屏有延迟

android - 找不到Gradle DSL方法 'getPackageLibrary()'