Difference between revisions of "Sync Box Firmware Upgrade using dfu-programmer"
(6 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
{{Related|Sync Box Firmware}} | {{Related|Sync Box Firmware}} | ||
This describes how to upgrade [[Sync Box Firmware]] using the free <tt>dfu-programmer</tt> on linux. This only applies to the microprocessor; often it is also necessary to upgrade the CPLD. | This describes how to upgrade [[Sync Box Firmware]] using the free <tt>dfu-programmer</tt> on linux. This only applies to the microprocessor; often it is also necessary to upgrade the CPLD. | ||
− | + | __TOC__ | |
+ | == Installation == | ||
The dfu-programmer software can be installed in Ubuntu like this: | The dfu-programmer software can be installed in Ubuntu like this: | ||
sudo apt-get install dfu-programmer | sudo apt-get install dfu-programmer | ||
Line 15: | Line 16: | ||
... | ... | ||
− | + | == Programming == | |
− | + | See [[Sync Box firmware#Enabling reprogramming over USB|the procedure on the Sync Box firmware page]] for instructions on how to get the bootloader to enter reprogramming mode. This will cause it to present itself as a USB device to your computer. When the device is properly detected, it will show up in <tt>lsusb</tt> as something like: | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | When the device is properly detected it will show up in <tt>lsusb</tt> as something like: | ||
$ lsusb | $ lsusb | ||
Bus 002 Device 049: ID 03eb:2ffd Atmel Corp. at89c5130/c5131 DFU bootloader | Bus 002 Device 049: ID 03eb:2ffd Atmel Corp. at89c5130/c5131 DFU bootloader | ||
+ | |||
+ | In some versions of dfu-programmer, you must specify the USB bus and device address (2 and 49, respectively, in this example) along with the part name. In others, you must not specify that information. So the address will either look like "at89c5131" or "at89c5131:2,49". The latter syntax is assumed below. | ||
To prove things are working, dump the contents of the device into a file: | To prove things are working, dump the contents of the device into a file: |
Latest revision as of 08:46, 4 May 2017
This describes how to upgrade Sync Box Firmware using the free dfu-programmer on linux. This only applies to the microprocessor; often it is also necessary to upgrade the CPLD.
Contents
Installation
The dfu-programmer software can be installed in Ubuntu like this:
sudo apt-get install dfu-programmer
Make sure your version supports the sync box device (at89c5131):
$ dfu-programmer --version dfu-programmer 0.6.1 $ dfu-programmer --targets targets: at89c51snd1c at89c51snd2c at89c5130 at89c5131 at89c5132 at90usb1287 at90usb1286 at90usb1287-4k ...
Programming
See the procedure on the Sync Box firmware page for instructions on how to get the bootloader to enter reprogramming mode. This will cause it to present itself as a USB device to your computer. When the device is properly detected, it will show up in lsusb as something like:
$ lsusb Bus 002 Device 049: ID 03eb:2ffd Atmel Corp. at89c5130/c5131 DFU bootloader
In some versions of dfu-programmer, you must specify the USB bus and device address (2 and 49, respectively, in this example) along with the part name. In others, you must not specify that information. So the address will either look like "at89c5131" or "at89c5131:2,49". The latter syntax is assumed below.
To prove things are working, dump the contents of the device into a file:
$ sudo dfu-programmer at89c5131:<USB_BUS>,<USB_DEVNUM> dump > part_dump.bin
where <USB_BUS> is the bus number from lsusb and <USB_DEVNUM> is the device number from lsusb. For the example lsusb output above, this would give us:
$ sudo dfu-programmer at89c5131:2,49 dump > ./part_dump.bin
The contents of part_dump.bin can then be inspected with hexdump -C ./part_dump.bin to confirm it's the sync box code and not some other nonsense. (It's also good to keep a copy of the previous program; if the new program doesn't work, you can always revert.)
Then to program the device the syntax is:
$ sudo dfu-programmer at89c5131:<USB_BUS>,<USB_DEVNUM> flash ./sync_box_v22_26sept2014.hex