Changes

V4:CW1173 ChipWhisperer-Lite/Upgrading SAM3U Firmware

4,593 bytes added, 19:29, 12 March 2020
Created page with "When talking about the ChipWhisperer's firmware, there is really two parts to this: # The FPGA Bitstream file. # The SAM3U USB interface chip firmware. The FPGA bitstream al..."
When talking about the ChipWhisperer's firmware, there is really two parts to this:

# The FPGA Bitstream file.
# The SAM3U USB interface chip firmware.

The FPGA bitstream alone is what is normally configured by the ChipWhisperer-Capture software. This bitstream is always the most up-to-date, since it's automatically reloaded by the computer every time you power cycle the ChipWhisperer-Capture. The SAM3U firmware however is not automatically updated, but it tends to change less frequently.

==== Checking Firmware Version ====

The firmware version is printed at start-up. You will see a line that looks like this indicating the version of the SAM3U Firmware:

<pre>Found CW-Lite, Serial Number = 442031204630xxxxxxxxxxx
SAM3U Firmware version = 0.11 b0
Programmed FPGA</pre>
If your firmware version is outdated, a warning will be printed. You can also see the firmware version in the ''Config CW Firmware'' dialog:

<blockquote>[[File:sam3fwver.png|image]]
</blockquote>
Note the main version is 0.11 in this example. The &quot;b0&quot; indicates a &quot;build&quot; number. Typically this will be &quot;build 0&quot;, but special versions will use a different build number to indicate a variant of a regular version.

==== Upgrading Firmware ====

Before updating, you must put your ChipWhisperer into bootloader mode. Once put into this mode you will need to load a new firmware file. There is two ways of doing it: the ''automatic'' method, and the ''manual'' method. The automatic method is done through the GUI, and works if you have valid firmware image loaded. The ''manual'' method is always guaranteed to work.

The automatic method is:

Using ChipWhisperer-Capture GUI

# Connect to the ChipWhisperer.
# From the ''Tools'' menu select ''CW Firmware Preferences''
# Select the ''Open SAM3U Update Widget'' button.
# Press the ''Enable Bootloader Mode'' button.
# You will get an error, and the ChipWhisperer will disconnect. This is normal, and indicates the USB mode changed suddenly.
# The blue LED will stop flashing, and the device will reconnect in programmer mode (see below).

Once you are in bootloader mode, both the blue and red LED will be very dimmly lit:

[[File:lights_prog.jpg|400px]]

This indicates it is in bootloader mode. The device will now attach as a serial port. If you are using Windows this may take a few minutes to happen.

If using Linux, you can use ''dmesg'' to verify the serial port was connected OK.

If this doesn't work, see the page [[Manual SAM3U Firmware Update]] for details on how to manually enter bootloader mode. You can return to this page for the actual programming - you don't need to install/use the BOSSA utility if you follow those manual directions. You simply need to force the system into bootloader mode using those directions.

To actually program the file, we use the second part of the dialog box you already had open:

[[File:sam3uupdate.png|400px]]

Once we are in bootloader mode, you can follow these steps:

# Hit "Update List", and select the serial port the SAM3U attached as.
# To use the default firmware file, leave the "Built-in" radio-box selected. If you want a custom firmware you can select the "External" mode.
# Hit the "Run Program" button
# Once completed, unplug/replug your device and it should come to life.
# Close the update widgets, and reconnect to your ChipWhisperer.

==== Linux usbserial module Workaround ====
There is an issue in some versions of Linux, where the SAM3U is not assigned a serial port when it enters bootloader mode. Here are some steps to resolve this issue (Note. this is not a permanent fix, you must go through these steps each time you put your ChipWhisperer into bootloader mode.). These steps assume you've already put ChipWhisperer into bootloader mode.

# Unplug your ChipWhisperer (Leave unplugged until instructed otherwise)
# Reboot your computer
# Once logged in again, open a terminal session
# Run this command: <code>sudo modprobe usbserial vendor=0x3eb product=0x6124</code>
# Plug your ChipWhisperer back in
# Check that a serial port is now open using: <code>ls -l /dev/ttyUSB*</code>

[[File:ttyUSB example.png|400px]]

You should now be able to program the bootloader from ChipWhisperer Capture through the port you created

==== Manual Update ====

If the above instructions fail, there is no big problem. The SAM3U chip contains a hardware-resident bootloader. You may need to follow instructions on the [[Manual SAM3U Firmware Update]] page (including using BOSSA) if you are unable to use the automatic system that is part of ChipWhisperer-Capture.
Approved_users, administrator
366
edits