As of August 2020 the site you are on (wiki.newae.com) is deprecated, and content is now at rtfm.newae.com.

Difference between revisions of "CW308T-STM32F/ChipWhisperer Bootloader"

From ChipWhisperer Wiki
Jump to: navigation, search
(Rev -02 Boards)
Line 23: Line 23:
 
# Select the "Serial STM32F Programmer"
 
# Select the "Serial STM32F Programmer"
 
#: [[File:arm_programmer.png]]
 
#: [[File:arm_programmer.png]]
# Mount a jumper between the H1/H2 pins on the UFO board:
+
# Mount a jumper between the H1/H2 pins on the UFO board (again this is ONLY for the -02 rev, the -03 and newer revision DO NOT need this jumper as the ChipWhisperer will toggle the pin).
 
#: [[File:samjumper.png|400px]]
 
#: [[File:samjumper.png|400px]]
 
# Reset the ARM device either by pressing the reset button (newer UFO boards only), or by toggling power:
 
# Reset the ARM device either by pressing the reset button (newer UFO boards only), or by toggling power:

Revision as of 20:50, 5 February 2018

The STM32Fx devices have a built-in bootloader, and the ChipWhisperer software as of 3.5.2 includes support for this bootloader.

Important notes before we begin:

  • You MUST setup a clock and the serial lines for the chip. This is easily done by selecting a start-up script such as the "AES SimpleSerial on XMEGA" startup script.
  • On the STM32F1, you MUST adjust the clock frequency to by 8MHz. The bootloader does not work with our usual 7.37 MHz clock frequency.

To access the bootloader you can perform these steps. They vary based on if you have a "Rev 02" board or a "Rev 03 or Later" board. The revision number is printed on the bottom side as part of the PCB part number (STM32F-03 is Rev -03 for example).

Rev -03 or Later

  1. Select the "Serial STM32F Programmer"
    Arm programmer.png
  2. Select the hex-file and press the "Program/Verify" button.
  3. The device should program, it may take a moment to fully program/verify on larger devices:
    Arm programmed.png

If you get verify errors, it's possible the shunt resistor is causing power to dip too low. This can be solved by mounting a jumper between the "SH-" and "SH+" pins at J16 (to the left of the SMA connector) on the UFO board. Retry programming with the jumper mounted.

Rev -02 Boards

The Rev -02 boards did not have all programming connections present. They require some additional steps:

  1. Select the "Serial STM32F Programmer"
    Arm programmer.png
  2. Mount a jumper between the H1/H2 pins on the UFO board (again this is ONLY for the -02 rev, the -03 and newer revision DO NOT need this jumper as the ChipWhisperer will toggle the pin).
    Samjumper.png
  3. Reset the ARM device either by pressing the reset button (newer UFO boards only), or by toggling power:
    Arm togglepower.png
  4. Select the hex-file and press the "Program/Verify" button.
  5. The device should program, it may take a moment to fully program/verify on larger devices:
    Arm programmed.png
  6. Remove the jumper between the H1/H2 pins.
  7. Reset the ARM device either by pressing the reset button (newer UFO boards only), or by toggling power:
    Arm togglepower.png

If you get verify errors, it's possible the shunt resistor is causing power to dip too low. This can be solved by mounting a jumper between the "SH-" and "SH+" pins at J16 (to the left of the SMA connector) on the UFO board. Retry programming with the jumper mounted.