CuVoodoo

the sorcery of copper

User Tools

Site Tools


busvoodoo

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
busvoodoo [2017/12/15 09:06] – [protocols] kingkevinbusvoodoo [2017/12/15 11:48] – add flashing kingkevin
Line 98: Line 98:
 ===== firmwares ===== ===== firmwares =====
  
 +By default the BusVoodoo adapter comes with the main BusVoodoo firmware.
 +When connected to USB it is detected as a serial device (using the standard [[https://en.wikipedia.org/wiki/USB_communications_device_class|CDC ACM]] profile).
 +Just connect to it using your favorite serial terminal and off you go.
 +But since the BusVoodoo hardware uses native USB, it can be [[#flashing|re-flashed]] to clone other USB device.
 +This allows to convert the BusVoodoo into a dedicated/task specific adapter.
 +
 +alternative firmwares:
 +  * USBtinyISP or AVRISP to program Atmel AVR MCUs
 +  * [[https://github.com/blacksphere/blackmagic/wiki|Black Magic Probe]] for JTAG and SWD programming
 +  * PICkit2 to program PIC MCUs, using the high voltage output of the full version
 +  * AVR Dragon to rescue Atmal AVR MCUs using the [[http://www.atmel.com/webdoc/avrdragon/avrdragon.hvsp_description.html|High Voltage Serial Programming (HSVP)]], using the high voltage output of the full version
 +
 +note: the alternative firmware are not implemented yet
 +
 +===== flashing =====
 +
 +The BusVoodoo is pretty much unbrickable.
 +It provides several flashing methods:
 +  - the main BusVoodoo firmware provides USB Device Firmware Upgrade (DFU) capabilities. [[http://dfu-util.sourceforge.net/|dfu-util]] will automatically switch the device from runtime mode to DFU mode and flash the firmware.
 +  - if switching from runtime to DFU mode does not work, connect to the BusVoodoo using the serial terminal and switch to DFU mode using the menu
 +  - if the BusVoodoo does not appears as USB serial device, there is still a serial port on the debugging connector. Connect to it using an USB to serial adapter and switch to DFU mode using the menu
 +  - if the main firmware is broken and the menu is not accessible over the USB or serial port, short the 5V and DFU pins  on the programming connector (follow the DFU indication on the board) while powering the device. This will force booting the DFU bootloader instead of the main application
 +  - if the DFU bootloader (or USB) is broken, short the ICP pad to ground using twizzers (follow the ICP indication on the board) while powering the device. This will start the STM32 embedded UART bootloader, allowing you to [[stm32f1xx#embedded_bootloader|flash]] the DFU bootloader (or main application) over the serial port on the programming header. :!: The embedded UART bootloader uses the internal RC oscillator. If this is defective (e.g. part not coming from a trustworthy distributor) this method will not work
 +  - finally you can use the SWD pins on the programming connector to [[stm32f1xx#swj|flash using SWD]], provided you have and SWD adapter. This also allows to properly debug the firmware. :!: For some unknown reason sometimes after power-up the SWD adapter will not be able to find the micro-controller. Briefly reset the micro-controller by shorting RST to ground using tweezers (follow the RST indication on the board). From there on it will always be detected.
 +  - if none of the above methods work, the device is definitely bricked (or defective). congratulations.
 ===== history ===== ===== history =====