The CANtact USB-CAN adapter offers a simple way to update the device’s firmware: Just place a jumper on the BOOT pin onboard the PCB, plug the device to a USB port and you’re all set for flashing via USB-DFU. This works via the USB bootloader, which is present in board’s ST microcontroller’s ROM.
Under Linux there is a simple console command, which will upload your .bin file to the desired flash address via DFU: dfu-util (see also this post). A Windows version of the tool exists, too, which can be downloaded from here. However, many Windows users are more inclined to use a colourful GUI, rather than console commands. Such users may be better served by ST’s proprietary DfuSe utility. Also, using dfu-util under Windows might make it necessary to enable libusb for the CANtact using the Zadig USB driver installer, which might be too complicated for the average Windows user.
If you have an account registered at ST.com, you can download the DfuSe utility from here (There’s a download button at the bottom of the page below „Get software“). Unzip the archive and run the Setup.exe.
Once installation has completed, you will have two executables: One to create or extract .dfu files and one to flash them onto the device. Start the second one by clicking the „DfuSe Demo“ icon on the Desktop or the Windows menu.
If you attach a CANtact in DFU mode to your PC, the software will recognize it and show some information about. In order to flash a .dfu firmware image, proceed with the following steps:
- Select target „Internal Flash“ in the „Actions“ box
- Select „Verify after download“: This will read back the written target memory area after flashing and evaluates, if the write was successful.
- Click „Choose“ to select the .dfu file, you wish to upload
- Click „Upgrade“
If nothing goes wrong, the write and verification processes will take no longer than a couple of seconds and it will look like this:
Congratulations, you have updated your CANtact’s firmware!
Unplug the USB, remove the BOOT jumper and continue using your adapter as you’re used to.