Giter Club home page Giter Club logo

dfu_java's Introduction

dfu_java

stm32 java DFU implementation (DfuSe)

This java code can upload a .hex or a .dfu file into stm32f47.

On Windows that means using a libusb-compatible driver like the one included in windows_driver folder.

ST AN3156 Application note USB DFU protocol used in the STM32 bootloader

Windows drama

https://github.com/libusb/libusb/wiki/Windows#How_to_use_libusb_on_Windows

Zadig is a Windows application that installs generic USB drivers, such as WinUSB - https://zadig.akeo.ie/

Uses precompiled https://github.com/j123b567/java-intelhex-parser

This implementation would not happen without http://dfu-util.sourceforge.net/dfuse.html and https://github.com/kairyu/flop

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

dfu_java's People

Contributors

rusefillc avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

isabella232

dfu_java's Issues

Unexpected section:

Using a T8SG v2 plus (a devo-7e customized radio transmitter)

image

dfu-util shows this sections:

$ dfu-util -l
dfu-util 0.11

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2021 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

dfu-util: Cannot open DFU device 13d3:5405 found on devnum 2 (LIBUSB_ERROR_ACCESS)
Found DFU: [0483:df11] ver=0200, devnum=38, cfg=1, intf=0, path="1-6", alt=2, name="@SPI Flash: Library/0x00020000/030*064Kg", serial="DEVO-7E ??????Q"
Found DFU: [0483:df11] ver=0200, devnum=38, cfg=1, intf=0, path="1-6", alt=1, name="@SPI Flash: Config/0x00002000/030*04Kg", serial="DEVO-7E ??????Q"
Found DFU: [0483:df11] ver=0200, devnum=38, cfg=1, intf=0, path="1-6", alt=0, name="@Internal Flash  /0x08003000/00*001Ka,244*001Kg", serial="DEVO-7E ??????Q"

For the unknow characters, seems to be some chinese characters (from journalctl):

abr 16 16:52:44 fedora kernel: usb 1-6: new full-speed USB device number 39 using xhci_hcd
abr 16 16:52:44 fedora kernel: usb 1-6: New USB device found, idVendor=0483, idProduct=df11, bcdDevice= 2.00
abr 16 16:52:44 fedora kernel: usb 1-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
abr 16 16:52:44 fedora kernel: usb 1-6: Product: STM32 DFU
abr 16 16:52:44 fedora kernel: usb 1-6: Manufacturer: STMicroelectronics
abr 16 16:52:44 fedora kernel: usb 1-6: SerialNumber: DEVO-7E  ⅒䷿д㘅Q
abr 16 16:52:44 fedora mtp-probe[688994]: checking bus 1, device 39: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-6"
abr 16 16:52:44 fedora mtp-probe[688994]: bus: 1, device: 39 was not an MTP device
abr 16 16:52:44 fedora mtp-probe[688995]: checking bus 1, device 39: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-6"
abr 16 16:52:44 fedora mtp-probe[688995]: bus: 1, device: 39 was not an MTP device

trying with Sandbox app I found this error:

throw new IllegalStateException(K_SUFFIX + " expected at the end of " + section);

where K_SUFFIX is "Kg", but this device has a section "Ka".

I know zero to none of dfu, what problems could cause a section not ending on Kg? Can this code be improved to support those sections?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.