ClockTamerFirmwareUpdate

Democratising Wireless Innovation
Revision as of 21:01, 28 May 2015 by AndrewBack (talk | contribs) (Created page with "== ClockTamer 1.30 == # Download [http://dfu-programmer.sourceforge.net dfu-programmer] (available both for Linux and Windows) # On windows you also need to install libusb dr...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

ClockTamer 1.30

  1. Download dfu-programmer (available both for Linux and Windows)
  2. On windows you also need to install libusb drivers (included with dfu-programmer)
  3. Download the latest firmware Tamer.hex and Tamer.eep
  4. Enter firmware update mode.
    1. Power off ClockTamer - disconnect power cord AND mini-USB cable.
    2. Short-circuit `nSS` pin of `GND` (full connector pinout is available [ClockTamerProtocolSPI#ClockTamer_pinout here]). You can short these pins on the bottom side header using any wire or office clip.
    3. Connect ClockTamer to a computer with mini-USB cable. LED should be flashing immediately.
    4. Remove short-circuit from `nSS` to `GND`.
  5. Update flash (e.g. on windows)
dfu-programmer.exe atmega32u2 flash --debug=100 --suppress-bootloader-mem c:\tools\clock-tamer\board\FW\Tamer.hex
  1. Update eeprom (e.g. on windows)
dfu-programmer.exe atmega32u2 flash-eeprom --debug=100 c:\tools\clock-tamer\board\FW\Tamer.eep

NOTE: Since there's no option to read firmware back from device on ClockTamer these commands fail. But it should fail only on validating operation, like this:

<nowiki>

c:\tools\dfu-programmer-win-0.6.0>dfu-programmer.exe atmega32u2 flash --debug=100 --suppress-bootloader-mem c:\tools\clock-tamer\board\FW\Tamer.hex

    target: atmega32u2
   chip_id: 0x2ff0
 vendor_id: 0x03eb
   command: flash
     quiet: false
     debug: 100

device_type: AVR


command specific below ------

  validate: true
  hex file: c:\tools\clock-tamer\board\FW\Tamer.hex

commands.c:327: write 14488/28672 bytes atmel.c:1010: atmel_flash( 0022FEAC, 01A40048, 0, 28672, 128, false ) atmel.c:847: atmel_select_page( 0022FEAC, 0 ) atmel.c:1085: valid block length: 11836, (0 - 11836) atmel.c:1222: atmel_flash_block( 0022FEAC, 01A40048, 0, 1024, false ) atmel.c:1179: atmel_flash_populate_header( 0022F8B0, 0, 1024, false ) atmel.c:1246: 1024 bytes to MCU 000000 atmel.c:1132: atmel_flash_populate_footer( 0022F8B0, 0022FCD0, 65535, 65535, 65535 ) atmel.c:1256: message length: 1072 atmel.c:1105: Next first: 1024 atmel.c:1107: valid block length: 10812 atmel.c:1222: atmel_flash_block( 0022FEAC, 01A40848, 1024, 1024, false ) atmel.c:1179: atmel_flash_populate_header( 0022F8B0, 1024, 1024, false ) atmel.c:1246: 1024 bytes to MCU 000400 atmel.c:1132: atmel_flash_populate_footer( 0022F8B0, 0022FCD0, 65535, 65535, 65535 ) atmel.c:1256: message length: 1072 atmel.c:1105: Next first: 2048 atmel.c:1107: valid block length: 9788 atmel.c:1222: atmel_flash_block( 0022FEAC, 01A41048, 2048, 1024, false ) atmel.c:1179: atmel_flash_populate_header( 0022F8B0, 2048, 1024, false ) atmel.c:1246: 1024 bytes to MCU 000800 atmel.c:1132: atmel_flash_populate_footer( 0022F8B0, 0022FCD0, 65535, 65535, 65535 ) atmel.c:1256: message length: 1072 atmel.c:1105: Next first: 3072 .... atmel.c:1246: 572 bytes to MCU 002c00 atmel.c:1132: atmel_flash_populate_footer( 0022F8B0, 0022FB0C, 65535, 65535, 65535 ) atmel.c:1256: message length: 620 atmel.c:1105: Next first: 11836 atmel.c:1107: valid block length: 0 atmel.c:1109: sent: 11836, first: 11836 last: 11836 Validating... atmel.c:579: atmel_read_flash( 0022FEAC, 0x00000000, 0x00007000, 002C4210, 28672, false ) atmel.c:847: atmel_select_page( 0022FEAC, 0 ) atmel.c:510: __atmel_read_page( 0022FEAC, 0, 28672, 002C4210, false ) atmel.c:537: result: -5 Unknown error. Try enabling debug. commands.c:346: Error while validating. Error while validating.<nowiki>