STM32F4
마이크로 컨트롤러가 Android (4.4) USB 호스트 포트에 연결되어 있습니다. Android 기기에서 마이크로 컨트롤러의 펌웨어 업그레이드를하고 싶습니다.Android에서 STM32 장치 펌웨어 업그레이드 (DFU/DfuSe)
=================== ===================
| Android 4.4 | <=======================> | STM32F405xx |
| Device | USB Host USB Device | Microcontroller |
=================== ===================
전통적으로 STM32
마이크로 컨트롤러는 펌웨어가 ST에서 제공 DfuSe Utility
라는 PC 도구를 사용하여 업그레이드 할 수 있습니다. 하지만 대신 Android 기기에서이 작업을 수행해야합니다. 해당 도구의 소스가 제공됩니다.
질문 :
- 는 마이크로 컨트롤러의 펌웨어는
Java
안드로이드의 표준 USB Host libraries를 사용하여 업그레이드 할 수 있습니까? NDK
을 사용하고DfuSe
소스를 포트해야합니까? 그렇다면 어떤 라이브러리를 사용하여NDK
에서 USB에 액세스해야합니까?
어떤 방향으로 이동해야하며 어떻게해야합니까?
NDK 가능성이 더 열심히하지 쉽게 일을합니다. 당신이 필요로하는 것을 할 수있는 가능성이 가장 높습니다. 열거 된 후에 장치와 아주 빨리 대화 할 필요가있는 상황이라면 질문 할 수 있습니다. 그렇지만 나는 그것이 믿을 수 없다고 생각하지 않습니다. 공장 ROM USB 부트 로더에 시간 초과가 있습니다. 또 다른 가능한 도전은 DFU 모드 디바이스가 제품보다는 ST로부터의 어떤 것으로 사용자에게 나타날 수 있다는 것입니다 (liu_tanyi의 커스텀 부트 로더가 장점을가집니다). –
네, 맞습니다. DFU 모드에서 STM32 장치는 다른 제품 ID (PID)로 나타납니다. 이 모든 것이 자바에서 가능하다면 정말 행복 할 것입니다. 나의 초기 생각은 다음과 같은 컨트롤 전송을 사용하는 것이다.'mConnection.controlTransfer (requestType, request, value, index, buffer, length, length, timeout); –