<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.newae.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cwiesner</id>
		<title>ChipWhisperer Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.newae.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cwiesner"/>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/Special:Contributions/Cwiesner"/>
		<updated>2026-04-21T17:09:43Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>http://wiki.newae.com/index.php?title=Installing_ChipWhisperer/Required_Tools_-_Mac_OS_X&amp;diff=3173</id>
		<title>Installing ChipWhisperer/Required Tools - Mac OS X</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=Installing_ChipWhisperer/Required_Tools_-_Mac_OS_X&amp;diff=3173"/>
				<updated>2018-03-22T17:51:22Z</updated>
		
		<summary type="html">&lt;p&gt;Cwiesner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h2&amp;gt; Python &amp;lt;/h2&amp;gt;&lt;br /&gt;
The following have been tested on Mac OS X Yosemite (10.10) - earlier versions may not have a recent enough Python installation (recommended 2.7.6 or later). It's possible to install other Python versions on your Mac OS X via the 'homebrew' system, we will use this for installing a few additional required tools.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ensure your user account has a password. In order for the 'sudo' command to work it requires you to type your password, so if you don't have one enabled be sure to set a temporary password now.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Install the 'homebrew' system, see [http://brew.sh brew.sh] for details. Briefly, you can install it by pasting the following in a terminal:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ ruby -e &amp;quot;$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)&amp;quot;&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;As PySide is based on Qt 4, which is not officially supported by Homebrew, you will need to load the [https://github.com/cartr/homebrew-qt4 homebrew-qt4 tap]:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ brew tap cartr/qt4&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Install PySide using homebrew:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ brew install pyside&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If you recieve an error saying that no such package exists, you can also install PySide using the pip installer&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;pip install -U PySide&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The install will probably print a message like this:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;[[File:Install_macosx_brewpath.png|image]]&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Note you must run that command in order to successfully import the modules, in this example it would be:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ mkdir -p /Users/macmini/Library/Python/2.7/lib/python/site-packages&lt;br /&gt;
$ echo 'import site; site.addsitedir(&amp;quot;/usr/local/lib/python2.7/site-packages&amp;quot;)' &amp;gt;&amp;gt; /Users/macmini/Library/Python/2.7/lib/python/site-packages/homebrew.pth&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; SciPy &amp;lt;/h2&amp;gt;&lt;br /&gt;
You may need to upgrade your SciPy from the base install if you wish to do template attacks. This is not needed for other attacks, so please only proceed with the following if you receive an error that your version of scipy is too old.&lt;br /&gt;
&lt;br /&gt;
The easiest method is to use brew again:&lt;br /&gt;
&lt;br /&gt;
 brew install scipy&lt;br /&gt;
&lt;br /&gt;
You will also need to follow the instructions as above (inserting the link to the brew site-packages location). You will finally need to run the following:&lt;br /&gt;
&lt;br /&gt;
 brew link --overwrite numpy&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; libusb &amp;lt;/h2&amp;gt;&lt;br /&gt;
libusb is needed for the ChipWhisperer software to communicate with the board.&lt;br /&gt;
&lt;br /&gt;
Again, use brew:&lt;br /&gt;
&lt;br /&gt;
 brew install libusb&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt; AVR-GCC &amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can easily use brew to install avr-gcc, as decribed at [https://github.com/osx-cross/homebrew-avr/ OSX-Cross Project]:&lt;br /&gt;
&lt;br /&gt;
 $ brew tap osx-cross/avr&lt;br /&gt;
 &lt;br /&gt;
 $ brew install avr-gcc&lt;/div&gt;</summary>
		<author><name>Cwiesner</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW506_Advanced_Breakout_Board&amp;diff=3172</id>
		<title>CW506 Advanced Breakout Board</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW506_Advanced_Breakout_Board&amp;diff=3172"/>
				<updated>2018-03-15T20:58:30Z</updated>
		
		<summary type="html">&lt;p&gt;Cwiesner: /* XMEGA Programming &amp;amp; Pull Up Resistors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:cw506_white_medsize.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
The CW506 is a simple but powerful breakout board for devices using NewAE Technology's [[20-Pin Connector]] standard. Almost all of our target boards and capture hardware feature this connector, making the breakout board widely applicable to our product line.&lt;br /&gt;
&lt;br /&gt;
The breakout board features a variety of voltage translators, test points, connectors, and switches that makes it simple to interface various test equipment and target devices together. This includes both connecting other lab equipment, along with connecting ChipWhisperer capture hardware to your own targets.&lt;br /&gt;
&lt;br /&gt;
[[File:cw506_annotate1.png]]&lt;br /&gt;
&lt;br /&gt;
== Connection Routing ==&lt;br /&gt;
&lt;br /&gt;
The following shows the routing of various connections on the breakout board:&lt;br /&gt;
&lt;br /&gt;
[[File:cw506_route.png]]&lt;br /&gt;
&lt;br /&gt;
=== Voltage Translation ===&lt;br /&gt;
&lt;br /&gt;
The voltage translation is done with three different parts:&lt;br /&gt;
&lt;br /&gt;
* SN74LVC1T45DBVT for high-speed clock lines (unidirectional, approx 200 Mbps max speed, 1.65V - 5.5V)&lt;br /&gt;
* PI4ULS5V201TAEX for GPIO1/2 (bidirectional, approx 20 Mbps max speed, 1.2V - 5.5V)&lt;br /&gt;
* GTL2003PW for GPIO2/3 + Others (bidirectional, 1.0V - 5.5V)&lt;br /&gt;
&lt;br /&gt;
Note the clock translators limit lower operating voltage, if not using HS1 or HS2 you can safely use this board down to 1.2V. The maximum speed of the voltage translators varies with different output voltages, see datasheet for details.&lt;br /&gt;
&lt;br /&gt;
The VCCIO net on the board defines what logic level the target (i.e., the signals on the jumpers and headers on the right side of the board) section operates at. There is a vertical double-line on the breakout board, everything on the right side of the double-line operates at VCC-IO levels.&lt;br /&gt;
&lt;br /&gt;
=== SW4 (Target Disconnect) ===&lt;br /&gt;
&lt;br /&gt;
A DIP switch can be used to disconnect certain pins of the 20-pin header. The DIP switch has small text marked &amp;quot;ON&amp;quot;, when the DIP switch is moved to this position the 20-pin connector is ENABLED.&lt;br /&gt;
&lt;br /&gt;
The following shows an example where we've disconnected GPIO4 (the trigger) from our target device, and am feeding an external trigger in with the header (JP4) to the left of the DIP switch. This new trigger signal will be routed to the attached ChipWhisperer, and can be used instead of the trigger coming from the target device. Notice the DIP switch for TIO4 (GPIO4/IO4) is set to the LEFT, and the rest are set to the RIGHT (ON).&lt;br /&gt;
[[File:Cw506_dip_nogpio4.jpg|none|Setting the DIP switch to the LEFT causes the 20-pin target to be disconnected.|thumb|400x400px]]The following summarizes the connection for different SW4 settings. Note the 20-pin connector and the test-points to the right of that connector (marked TIO1, TIO2, TIO3, TIO4) are the only things disconnected.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; colspan=&amp;quot;2&amp;quot;|3.3V Logic&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; colspan=&amp;quot;5&amp;quot;|VCC-IO Logic&lt;br /&gt;
|-&lt;br /&gt;
!SW4 Setting&lt;br /&gt;
!JP1 (Left 20-Pin)&lt;br /&gt;
!JP3&lt;br /&gt;
!JP4&lt;br /&gt;
!JP5/JP6&lt;br /&gt;
!JP2 (Right 20-Pin)&lt;br /&gt;
!TIO1-TIO4 Test Points&lt;br /&gt;
!TP7/TP8, SMA Connectors&lt;br /&gt;
|-&lt;br /&gt;
|OFF&lt;br /&gt;
|TIO1-TIO4&lt;br /&gt;
|☑&lt;br /&gt;
|☑&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ON&lt;br /&gt;
|TIO1-TIO4&lt;br /&gt;
|☑&lt;br /&gt;
|☑&lt;br /&gt;
|&lt;br /&gt;
|☑&lt;br /&gt;
|☑&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background-color: white;&amp;quot;&lt;br /&gt;
|OFF&lt;br /&gt;
|HS1-HS2&lt;br /&gt;
|☑&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|☑&lt;br /&gt;
|- style=&amp;quot;background-color: white;&amp;quot;&lt;br /&gt;
|ON&lt;br /&gt;
|HS1-HS2&lt;br /&gt;
|☑&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|☑&lt;br /&gt;
|&lt;br /&gt;
|☑&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
|SPI/PDI/Other&lt;br /&gt;
|☑&lt;br /&gt;
|&lt;br /&gt;
|☑&lt;br /&gt;
|☑&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== VCC-IO Settings ===&lt;br /&gt;
&lt;br /&gt;
The VCC-IO level defines what voltage the inputs/outputs on the RIGHT side operate at (the target side). The inputs/outputs on the LEFT side (the ChipWhisperer capture side) are always 3.3V.&lt;br /&gt;
&lt;br /&gt;
The VCC-IO level can be set to one of:&lt;br /&gt;
&lt;br /&gt;
* Fixed 3.3V.&lt;br /&gt;
* Based on voltage on VREF pin of JP2 (20-pin target connector).&lt;br /&gt;
* Based on external voltage reference.&lt;br /&gt;
&lt;br /&gt;
The current VCC-IO voltage is available on test point TP11 (just beside the 3 LEDs).&lt;br /&gt;
&lt;br /&gt;
==== Normal Usage ====&lt;br /&gt;
&lt;br /&gt;
Normally you would use either &amp;quot;JP2.VREF&amp;quot; or &amp;quot;+3V3&amp;quot;. All NewAE target boards will provide a signal on JP2.VREF which indicates the correct translation voltage. If using a simple breakout or your own target board, you may just wish to force use of 3.3V IO voltages however.&lt;br /&gt;
&lt;br /&gt;
These settings are configured with switch SW1 and SW2. In addition, three LEDs will confirm your setting. For example here the board is set to output 3.3V reference signals:&lt;br /&gt;
&lt;br /&gt;
[[File:cw506_vccio.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
==== Using External VREF ====&lt;br /&gt;
&lt;br /&gt;
The final setting allows you to use the banana jack (BJACK) or test point TP9 as the voltage reference. This allows usage of an external lab supply for setting the output signal level to any supported level.&lt;br /&gt;
&lt;br /&gt;
If using the BJACK feature, be sure to check switch SW3 is set in the correct position. The BJACK can also be used to provide the 3.3V rail for the target device.&lt;br /&gt;
&lt;br /&gt;
=== JP2.+3v3 Settings ===&lt;br /&gt;
&lt;br /&gt;
The 20-pin target connector (JP2) has two power supplies: a +5.0V signal, and a +3.3V signal. Normally these signals would come from a power supply in the ChipWhisperer-Capture target board (on JP1).&lt;br /&gt;
&lt;br /&gt;
However if using the breakout board stand-alone, these will not be present. Switch SW3 allows you to route an external power supply onto the +3.3V power supply pins of JP2, allowing you to power a target expecting this supply voltage. This can also be used to power a target that draws more current than the ChipWhisperer-Capture hardware can provide.&lt;br /&gt;
&lt;br /&gt;
Note it's possible but not recommended to also use this feature to adjust the supply voltage of the target (i.e., experiment running the target at 2.5V or 5.0V). The 3.3V supply may power 3.3V-only logic on the target board.&lt;br /&gt;
&lt;br /&gt;
Setting SW3 to the LEFT position will drive the 3.3V power supply on the target board from the banana jack connector, which also connect to test point TP9 (the large red test point).&lt;br /&gt;
&lt;br /&gt;
== XMEGA Programming &amp;amp; Voltage Levels ==&lt;br /&gt;
&lt;br /&gt;
If you want to program an XMEGA target with the CW506 and CW-Lite, you'll have to place a resistor on your UFO Board. You must connect a 330 Ohm resistor between the GPIO3 and PDIC pin (you can use jumper cables instead of soldering or physically modifying your board).&lt;br /&gt;
&lt;br /&gt;
To program the target set &amp;quot;Target IO3&amp;quot; to GPIO in &amp;quot;Scope Settings&amp;quot;--&amp;gt;&amp;quot;Target IOn pins&amp;quot;. Next set GPIO3 to low from &amp;quot;Scope Settings&amp;quot;--&amp;gt;&amp;quot;Target IOn GPIO mode&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
IMPORTANT: You must set GPIO3 to high after programming, otherwise the chip will remain in programming mode, and your code will not execute.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There is a known issue where GPIO3/4 do not reach VREF/VCCIO. Usually this does not cause problems, unless you are using a reference voltage above 3.3 volts. In some cases the high level voltage will be too close to its threshold to provide reliable performance. In this case a 330 Ohm pull up resistor between VREF and the affected pin should resolve the issue.&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
=== Probing Target Board Signals ===&lt;br /&gt;
&lt;br /&gt;
=== Using Target Board Stand-Alone ===&lt;br /&gt;
&lt;br /&gt;
=== Inserting External Equipment into Test Path ===&lt;br /&gt;
&lt;br /&gt;
== Schematic ==&lt;br /&gt;
&lt;br /&gt;
The schematic is available in two formats - PDF and schematic images. Click the images for full resolution.&lt;br /&gt;
&lt;br /&gt;
* [[:File:NAE-CW506-02-SCH.pdf|Schematic PDF (NAE-CW506-02: June 1st, 2016)]]&lt;br /&gt;
&lt;br /&gt;
[[File:NAE-CW506-02_page1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:NAE-CW506-02_page2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
{{Template:Hardware}}&lt;/div&gt;</summary>
		<author><name>Cwiesner</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW1173_ChipWhisperer-Lite/Upgrading_SAM3U_Firmware&amp;diff=3145</id>
		<title>CW1173 ChipWhisperer-Lite/Upgrading SAM3U Firmware</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW1173_ChipWhisperer-Lite/Upgrading_SAM3U_Firmware&amp;diff=3145"/>
				<updated>2018-03-02T18:36:05Z</updated>
		
		<summary type="html">&lt;p&gt;Cwiesner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When talking about the ChipWhisperer's firmware, there is really two parts to this:&lt;br /&gt;
&lt;br /&gt;
# The FPGA Bitstream file.&lt;br /&gt;
# The SAM3U USB interface chip firmware.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Checking Firmware Version ===&lt;br /&gt;
&lt;br /&gt;
The firmware version is printed at start-up. You will see a line that looks like this indicating the version of the SAM3U Firmware:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Found CW-Lite, Serial Number = 442031204630xxxxxxxxxxx&lt;br /&gt;
SAM3U Firmware version = 0.11 b0&lt;br /&gt;
Programmed FPGA&amp;lt;/pre&amp;gt;&lt;br /&gt;
If your firmware version is outdated, a warning will be printed. You can also see the firmware version in the ''Config CW Firmware'' dialog:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;[[File:sam3fwver.png|image]]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Note the main version is 0.11 in this example. The &amp;amp;quot;b0&amp;amp;quot; indicates a &amp;amp;quot;build&amp;amp;quot; number. Typically this will be &amp;amp;quot;build 0&amp;amp;quot;, but special versions will use a different build number to indicate a variant of a regular version.&lt;br /&gt;
&lt;br /&gt;
=== Upgrading Firmware ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The automatic method is:&lt;br /&gt;
&lt;br /&gt;
Using ChipWhisperer-Capture GUI&lt;br /&gt;
&lt;br /&gt;
# Connect to the ChipWhisperer.&lt;br /&gt;
# From the ''Tools'' menu select ''Config CW Firmware''&lt;br /&gt;
# Select the ''Open SAM3U Update Widget'' button.&lt;br /&gt;
# Press the ''Enable Bootloader Mode'' button.&lt;br /&gt;
# You will get an error, and the ChipWhisperer will disconnect. This is normal, and indicates the USB mode changed suddenly.&lt;br /&gt;
# The blue LED will stop flashing, and the device will reconnect in programmer mode (see below).&lt;br /&gt;
&lt;br /&gt;
Once you are in bootloader mode, both the blue and red LED will be very dimmly lit:&lt;br /&gt;
&lt;br /&gt;
[[File:lights_prog.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
If using Linux, you can use ''dmesg'' to verify the serial port was connected OK.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
To actually program the file, we use the second part of the dialog box you already had open:&lt;br /&gt;
&lt;br /&gt;
[[File:sam3uupdate.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Once we are in bootloader mode, you can follow these steps:&lt;br /&gt;
&lt;br /&gt;
# Hit &amp;quot;Update List&amp;quot;, and select the serial port the SAM3U attached as.&lt;br /&gt;
# To use the default firmware file, leave the &amp;quot;Built-in&amp;quot; radio-box selected. If you want a custom firmware you can select the &amp;quot;External&amp;quot; mode.&lt;br /&gt;
# Hit the &amp;quot;Run Program&amp;quot; button&lt;br /&gt;
# Once completed, unplug/replug your device and it should come to life.&lt;br /&gt;
# Close the update widgets, and reconnect to your ChipWhisperer.&lt;br /&gt;
&lt;br /&gt;
=== Linux usbserial module Workaround ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
# Unplug your ChipWhisperer (Leave unplugged until instructed otherwise)&lt;br /&gt;
# Reboot your computer&lt;br /&gt;
# Once logged in again, open a terminal session&lt;br /&gt;
# Run this command: &amp;lt;code&amp;gt;sudo modprobe usbserial vendor=0x3eb product=0x6124&amp;lt;/code&amp;gt;&lt;br /&gt;
# Plug your ChipWhisperer back in&lt;br /&gt;
# Check that a serial port is now open using: &amp;lt;code&amp;gt;ls -l /dev/ttyUSB*&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ttyUSB example.png|400px]]&lt;br /&gt;
&lt;br /&gt;
You should now be able to program the bootloader from ChipWhisperer Capture through the port you created&lt;br /&gt;
&lt;br /&gt;
=== Manual Update ===&lt;br /&gt;
&lt;br /&gt;
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.&lt;/div&gt;</summary>
		<author><name>Cwiesner</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=File:TtyUSB_example.png&amp;diff=3144</id>
		<title>File:TtyUSB example.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=File:TtyUSB_example.png&amp;diff=3144"/>
				<updated>2018-03-02T18:35:12Z</updated>
		
		<summary type="html">&lt;p&gt;Cwiesner: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Cwiesner</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW506_Advanced_Breakout_Board&amp;diff=3131</id>
		<title>CW506 Advanced Breakout Board</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW506_Advanced_Breakout_Board&amp;diff=3131"/>
				<updated>2018-02-23T21:26:38Z</updated>
		
		<summary type="html">&lt;p&gt;Cwiesner: XMEGA programmer and pull up resistor updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:cw506_white_medsize.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
The CW506 is a simple but powerful breakout board for devices using NewAE Technology's [[20-Pin Connector]] standard. Almost all of our target boards and capture hardware feature this connector, making the breakout board widely applicable to our product line.&lt;br /&gt;
&lt;br /&gt;
The breakout board features a variety of voltage translators, test points, connectors, and switches that makes it simple to interface various test equipment and target devices together. This includes both connecting other lab equipment, along with connecting ChipWhisperer capture hardware to your own targets.&lt;br /&gt;
&lt;br /&gt;
[[File:cw506_annotate1.png]]&lt;br /&gt;
&lt;br /&gt;
== Connection Routing ==&lt;br /&gt;
&lt;br /&gt;
The following shows the routing of various connections on the breakout board:&lt;br /&gt;
&lt;br /&gt;
[[File:cw506_route.png]]&lt;br /&gt;
&lt;br /&gt;
=== Voltage Translation ===&lt;br /&gt;
&lt;br /&gt;
The voltage translation is done with three different parts:&lt;br /&gt;
&lt;br /&gt;
* SN74LVC1T45DBVT for high-speed clock lines (unidirectional, approx 200 Mbps max speed, 1.65V - 5.5V)&lt;br /&gt;
* PI4ULS5V201TAEX for GPIO1/2 (bidirectional, approx 20 Mbps max speed, 1.2V - 5.5V)&lt;br /&gt;
* GTL2003PW for GPIO2/3 + Others (bidirectional, 1.0V - 5.5V)&lt;br /&gt;
&lt;br /&gt;
Note the clock translators limit lower operating voltage, if not using HS1 or HS2 you can safely use this board down to 1.2V. The maximum speed of the voltage translators varies with different output voltages, see datasheet for details.&lt;br /&gt;
&lt;br /&gt;
The VCCIO net on the board defines what logic level the target (i.e., the signals on the jumpers and headers on the right side of the board) section operates at. There is a vertical double-line on the breakout board, everything on the right side of the double-line operates at VCC-IO levels.&lt;br /&gt;
&lt;br /&gt;
=== SW4 (Target Disconnect) ===&lt;br /&gt;
&lt;br /&gt;
A DIP switch can be used to disconnect certain pins of the 20-pin header. The DIP switch has small text marked &amp;quot;ON&amp;quot;, when the DIP switch is moved to this position the 20-pin connector is ENABLED.&lt;br /&gt;
&lt;br /&gt;
The following shows an example where we've disconnected GPIO4 (the trigger) from our target device, and am feeding an external trigger in with the header (JP4) to the left of the DIP switch. This new trigger signal will be routed to the attached ChipWhisperer, and can be used instead of the trigger coming from the target device. Notice the DIP switch for TIO4 (GPIO4/IO4) is set to the LEFT, and the rest are set to the RIGHT (ON).&lt;br /&gt;
[[File:Cw506_dip_nogpio4.jpg|none|Setting the DIP switch to the LEFT causes the 20-pin target to be disconnected.|thumb|400x400px]]The following summarizes the connection for different SW4 settings. Note the 20-pin connector and the test-points to the right of that connector (marked TIO1, TIO2, TIO3, TIO4) are the only things disconnected.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; colspan=&amp;quot;2&amp;quot;|3.3V Logic&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; colspan=&amp;quot;5&amp;quot;|VCC-IO Logic&lt;br /&gt;
|-&lt;br /&gt;
!SW4 Setting&lt;br /&gt;
!JP1 (Left 20-Pin)&lt;br /&gt;
!JP3&lt;br /&gt;
!JP4&lt;br /&gt;
!JP5/JP6&lt;br /&gt;
!JP2 (Right 20-Pin)&lt;br /&gt;
!TIO1-TIO4 Test Points&lt;br /&gt;
!TP7/TP8, SMA Connectors&lt;br /&gt;
|-&lt;br /&gt;
|OFF&lt;br /&gt;
|TIO1-TIO4&lt;br /&gt;
|☑&lt;br /&gt;
|☑&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|ON&lt;br /&gt;
|TIO1-TIO4&lt;br /&gt;
|☑&lt;br /&gt;
|☑&lt;br /&gt;
|&lt;br /&gt;
|☑&lt;br /&gt;
|☑&lt;br /&gt;
|&lt;br /&gt;
|- style=&amp;quot;background-color: white;&amp;quot;&lt;br /&gt;
|OFF&lt;br /&gt;
|HS1-HS2&lt;br /&gt;
|☑&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|☑&lt;br /&gt;
|- style=&amp;quot;background-color: white;&amp;quot;&lt;br /&gt;
|ON&lt;br /&gt;
|HS1-HS2&lt;br /&gt;
|☑&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|☑&lt;br /&gt;
|&lt;br /&gt;
|☑&lt;br /&gt;
|-&lt;br /&gt;
|?&lt;br /&gt;
|SPI/PDI/Other&lt;br /&gt;
|☑&lt;br /&gt;
|&lt;br /&gt;
|☑&lt;br /&gt;
|☑&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== VCC-IO Settings ===&lt;br /&gt;
&lt;br /&gt;
The VCC-IO level defines what voltage the inputs/outputs on the RIGHT side operate at (the target side). The inputs/outputs on the LEFT side (the ChipWhisperer capture side) are always 3.3V.&lt;br /&gt;
&lt;br /&gt;
The VCC-IO level can be set to one of:&lt;br /&gt;
&lt;br /&gt;
* Fixed 3.3V.&lt;br /&gt;
* Based on voltage on VREF pin of JP2 (20-pin target connector).&lt;br /&gt;
* Based on external voltage reference.&lt;br /&gt;
&lt;br /&gt;
The current VCC-IO voltage is available on test point TP11 (just beside the 3 LEDs).&lt;br /&gt;
&lt;br /&gt;
==== Normal Usage ====&lt;br /&gt;
&lt;br /&gt;
Normally you would use either &amp;quot;JP2.VREF&amp;quot; or &amp;quot;+3V3&amp;quot;. All NewAE target boards will provide a signal on JP2.VREF which indicates the correct translation voltage. If using a simple breakout or your own target board, you may just wish to force use of 3.3V IO voltages however.&lt;br /&gt;
&lt;br /&gt;
These settings are configured with switch SW1 and SW2. In addition, three LEDs will confirm your setting. For example here the board is set to output 3.3V reference signals:&lt;br /&gt;
&lt;br /&gt;
[[File:cw506_vccio.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
==== Using External VREF ====&lt;br /&gt;
&lt;br /&gt;
The final setting allows you to use the banana jack (BJACK) or test point TP9 as the voltage reference. This allows usage of an external lab supply for setting the output signal level to any supported level.&lt;br /&gt;
&lt;br /&gt;
If using the BJACK feature, be sure to check switch SW3 is set in the correct position. The BJACK can also be used to provide the 3.3V rail for the target device.&lt;br /&gt;
&lt;br /&gt;
=== JP2.+3v3 Settings ===&lt;br /&gt;
&lt;br /&gt;
The 20-pin target connector (JP2) has two power supplies: a +5.0V signal, and a +3.3V signal. Normally these signals would come from a power supply in the ChipWhisperer-Capture target board (on JP1).&lt;br /&gt;
&lt;br /&gt;
However if using the breakout board stand-alone, these will not be present. Switch SW3 allows you to route an external power supply onto the +3.3V power supply pins of JP2, allowing you to power a target expecting this supply voltage. This can also be used to power a target that draws more current than the ChipWhisperer-Capture hardware can provide.&lt;br /&gt;
&lt;br /&gt;
Note it's possible but not recommended to also use this feature to adjust the supply voltage of the target (i.e., experiment running the target at 2.5V or 5.0V). The 3.3V supply may power 3.3V-only logic on the target board.&lt;br /&gt;
&lt;br /&gt;
Setting SW3 to the LEFT position will drive the 3.3V power supply on the target board from the banana jack connector, which also connect to test point TP9 (the large red test point).&lt;br /&gt;
&lt;br /&gt;
== XMEGA Programming &amp;amp; Pull Up Resitors ==&lt;br /&gt;
&lt;br /&gt;
If you want to program an XMEGA target through the CW506, you'll have to place a pull up resistor on your UFO Board. Connecting a 330 Ohm resistor between the VREF and PDIC pin should allow you to use the XMEGA programmer.&lt;br /&gt;
&lt;br /&gt;
There is a known issue where GPIO3/4 do not reach VREF/VCCIO. Usually this does not cause problems. In some cases though, the high level voltage will be too close to its threshold to provide reliable performance. In this case a 330 Ohm pull up resistor between VREF and the affected pin should resolve the issue&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
=== Probing Target Board Signals ===&lt;br /&gt;
&lt;br /&gt;
=== Using Target Board Stand-Alone ===&lt;br /&gt;
&lt;br /&gt;
=== Inserting External Equipment into Test Path ===&lt;br /&gt;
&lt;br /&gt;
== Schematic ==&lt;br /&gt;
&lt;br /&gt;
The schematic is available in two formats - PDF and schematic images. Click the images for full resolution.&lt;br /&gt;
&lt;br /&gt;
* [[:File:NAE-CW506-02-SCH.pdf|Schematic PDF (NAE-CW506-02: June 1st, 2016)]]&lt;br /&gt;
&lt;br /&gt;
[[File:NAE-CW506-02_page1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:NAE-CW506-02_page2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
{{Template:Hardware}}&lt;/div&gt;</summary>
		<author><name>Cwiesner</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW308T-D2000&amp;diff=3111</id>
		<title>CW308T-D2000</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW308T-D2000&amp;diff=3111"/>
				<updated>2018-02-16T20:12:55Z</updated>
		
		<summary type="html">&lt;p&gt;Cwiesner: /* How to flash D2000 board using OpenOCD */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox cw308target&lt;br /&gt;
|name                   = CW308T-D2000&lt;br /&gt;
|image                  = d2000_topdown.jpg&lt;br /&gt;
|caption                = &lt;br /&gt;
|Target Device          = Intel Quark D2000&lt;br /&gt;
|Target Architecture    = x86&lt;br /&gt;
|Hardware Crypto        = No&lt;br /&gt;
|Purchase Hardware      = &lt;br /&gt;
|Design Files           = [https://github.com/newaetech/chipwhisperer/tree/master/hardware/victims/cw308_ufo_target/d2000 GITHub link]&lt;br /&gt;
&lt;br /&gt;
[https://oshpark.com/shared_projects/HOs4WL4l OSH Park PCBs]&lt;br /&gt;
&lt;br /&gt;
|Supported Applications =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[File:d2000_topdown.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
The D2000 target is a bit of an oddball. It's an x86 target, but is really a microcontroller (internal flash etc). &lt;br /&gt;
&lt;br /&gt;
== Using Board ==&lt;br /&gt;
&lt;br /&gt;
The CW308T-D2000 is used similar to any other CW308 Target Board. It does not accept an external oscillator, instead it outputs it's own oscillator for you to synchronize to. Specific caveats here:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Programming ==&lt;br /&gt;
&lt;br /&gt;
An external programmer is needed for this target. The Quark D2000 dev-board can be used with jumper wires, or a standard OpenOCD programmer can be used. The suggested programmer is the [https://mouser.com/ProductDetail/Olimex-Ltd/ARM-USB-OCD-H Olimex ARM-USB-OCD-H] as is available from suppliers such as Mouser and Digi-Key (mouser link provided).&lt;br /&gt;
&lt;br /&gt;
=== How to flash D2000 board using OpenOCD ===&lt;br /&gt;
&lt;br /&gt;
We'll modify the provided scripts from the Intel ISSM distribution (compiler etc for D2000). Start a Windows command prompt and run the following commands. You may have to change the directory of the first command to match your version of Intel ISSM (eg. C:\IntelSWTools\ISSM_2016.0.027\issm_env.bat):&lt;br /&gt;
&lt;br /&gt;
 C:\IntelSWTools\ISSM_2016.2.097\issm_env.bat&lt;br /&gt;
 cd %ISSM_DEBUGGER_ROOT%\openocd&lt;br /&gt;
 bin\openocd.exe -f scripts\interface\ftdi\olimex-arm-usb-ocd-h.cfg -f scripts\board\quark_d2000.cfg&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note we specify two script files - the first had the JTAG connection (the olimex-arm-usb-ocd-h.cfg), the second had the D2000. This should result in an output like the following:&lt;br /&gt;
&lt;br /&gt;
 Open On-Chip Debugger 0.8.0-dev-g7845893 (2015-11-26-18:12)&lt;br /&gt;
 Licensed under GNU GPL v2&lt;br /&gt;
 For bug reports, read&lt;br /&gt;
        http://openocd.sourceforge.net/doc/doxygen/bugs.html&lt;br /&gt;
 Info : only one transport option; autoselect 'jtag'&lt;br /&gt;
 adapter speed: 1000 kHz&lt;br /&gt;
 trst_only separate trst_push_pull&lt;br /&gt;
 flash_rom&lt;br /&gt;
 Info : clock speed 1000 kHz&lt;br /&gt;
 Info : JTAG tap: quark_d2000.cltap tap/device found: 0x0e786013 (mfg: 0x009, part: 0xe786, ver: 0x0)&lt;br /&gt;
 Enabling lmt core tap&lt;br /&gt;
 Info : JTAG tap: quark_d2000.lmt enabled&lt;br /&gt;
&lt;br /&gt;
At this point it will hold, waiting for new commands. There is two ways to proceed:&lt;br /&gt;
&lt;br /&gt;
==== Connecting with GDB ====&lt;br /&gt;
&lt;br /&gt;
Connecting and programming with GDB may be preferred if you wish to also do any debug. It however is more limited in what commands you can run. If this does not work see the next section about using telnet commands. Open a second command prompt, and run:&lt;br /&gt;
&lt;br /&gt;
 C:\IntelSWTools\ISSM_2016.0.027\issm_env.bat&lt;br /&gt;
 gdb&lt;br /&gt;
&lt;br /&gt;
You can then run the following within a GDB console:&lt;br /&gt;
&lt;br /&gt;
 target remote :3333&lt;br /&gt;
 monitor clk32M 125&lt;br /&gt;
 monitor load_image C:\\chipwhisperer\\hardware\\victims\\firmware\\intel_quark\\quark_d2000_rom.bin 0x0&lt;br /&gt;
 monitor load_image C:\\chipwhisperer\\hardware\\victims\\firmware\\intel_quark\\simpleserial_example\\release\\quark_d2000\\x86\\bin\\simpleserial_aes.bin 0x00180000&lt;br /&gt;
&lt;br /&gt;
The first load_image is used for the ROM image. This should only be done once - do not reload every time, only reload the application. The boards as shipped come with a ROM image so you can skip that step if using the NewAE example code.&lt;br /&gt;
&lt;br /&gt;
Notes:&lt;br /&gt;
&lt;br /&gt;
# The &amp;lt;code&amp;gt;monitor clk32M 125&amp;lt;/code&amp;gt; sets a 125 kHz JTAG clock frequency. This may be too slow, but is recommended especially when loading ROM due to potential for misprogramming on the target board due to the shunt resistor. Note it takes a long time (~60 seconds) to program the ROM code so don't abort it!&lt;br /&gt;
# If the above fails, see the next note on recovering normal settings with the telnet interface.&lt;br /&gt;
# You can short F13 (GPIO1 on the ChipWhisperer-Lite) to GND to force the JTAG pins on. It is suggested to do this via the ChipWhisperer-Lite software (setting it as a GPIO output and then setting it low). This requires the 'ROM' code programmed in already.&lt;br /&gt;
# Do not reload the ROM code unless needed -- this is the boot code and if something gets corrupt it can brick the device.&lt;br /&gt;
&lt;br /&gt;
==== Connecting with Telnet to Monitor ====&lt;br /&gt;
&lt;br /&gt;
When running the &amp;lt;code&amp;gt;target remote :3333&amp;lt;/code&amp;gt; or other commands above, you may encounter errors that seem fatal. Do not fret, you can likely recover everything using another mode. To do so:&lt;br /&gt;
&lt;br /&gt;
# Power cycle the target board, and re-run the openocd command previously specified (assuming you have encountered errors and the system is in an unknown state).&lt;br /&gt;
# If this fails, set GPIO1 to LOW, and power cycle the target. Try connecting again.&lt;br /&gt;
&lt;br /&gt;
Assuming the connect works, open a second command prompt and run&lt;br /&gt;
&lt;br /&gt;
 telnet localhost 4444&lt;br /&gt;
&lt;br /&gt;
Note the port connected to is 4444 (not :3333) as before. This now enters the monitor directly, and you can try running the following commands:&lt;br /&gt;
&lt;br /&gt;
 reset halt&lt;br /&gt;
 set QUARK_D2000_OTPC_DATA_WRITE_ENABLED 1&lt;br /&gt;
 mass_erase&lt;br /&gt;
 clk32M 100&lt;br /&gt;
 load_image C:\\chipwhisperer\\hardware\\victims\\firmware\\intel_quark\\quark_d2000_rom.bin 0x0&lt;br /&gt;
 load_image C:\\chipwhisperer\\hardware\\victims\\firmware\\intel_quark\\simpleserial_example\\release\\quark_d2000\\x86\\bin\\simpleserial_aes.bin 0x00180000&lt;br /&gt;
&lt;br /&gt;
The following should be the example output of these commands:&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; reset halt&lt;br /&gt;
 JTAG tap: quark_d2000.cltap tap/device found: 0x0e786013 (mfg: 0x009, part: 0xe786, ver: 0x0)&lt;br /&gt;
 Enabling lmt core tap&lt;br /&gt;
 JTAG tap: quark_d2000.lmt enabled&lt;br /&gt;
 target state: halted&lt;br /&gt;
 target halted due to debug-request at 0x0000ffff in real mode&lt;br /&gt;
 target state: halted&lt;br /&gt;
 target halted due to debug-request at 0x0000fff0 in real mode&lt;br /&gt;
 &amp;gt; set QUARK_D2000_OTPC_DATA_WRITE_ENABLED 1&lt;br /&gt;
 1&lt;br /&gt;
 &amp;gt; mass_erase&lt;br /&gt;
 Deleting  OTPC, OTPD and FLASH regions&lt;br /&gt;
 0xb0100014: 00000001&lt;br /&gt;
 &amp;gt; clk32M 100&lt;br /&gt;
 adapter speed: 3 kHz&lt;br /&gt;
 adapter speed: 100 kHz&lt;br /&gt;
 JTAG tap: quark_d2000.cltap tap/device found: 0x0e786013 (mfg: 0x009, part: 0xe786, ver: 0x0)&lt;br /&gt;
 Enabling lmt core tap&lt;br /&gt;
 JTAG tap: quark_d2000.lmt enabled&lt;br /&gt;
 target state: halted&lt;br /&gt;
 target halted due to debug-request at 0x0000fff0 in real mode&lt;br /&gt;
 &amp;gt; load_image C:\\chipwhisperer\\hardware\\victims\\firmware\\intel_quark\\quark_d2000_rom.bin 0x0&lt;br /&gt;
 ....8192 bytes written at address 0x00000000&lt;br /&gt;
 downloaded 8192 bytes in 66.997505s (0.119 KiB/s)&lt;br /&gt;
 &amp;gt; load_image C:\\chipwhisperer\\hardware\\victims\\firmware\\intel_quark\\simpleserial_example\\release\\quark_d2000\\x8&lt;br /&gt;
 .2872 bytes written at address 0x00180000&lt;br /&gt;
 downloaded 2872 bytes in 42.280869s (0.066 KiB/s)&lt;br /&gt;
&lt;br /&gt;
Note you can try the following if still having trouble:&lt;br /&gt;
&lt;br /&gt;
# Use a slower JTAG clock speed.&lt;br /&gt;
# Short the SHUNTH/SHUNTL pins.&lt;br /&gt;
&lt;br /&gt;
== Schematic ==&lt;br /&gt;
&lt;br /&gt;
See GIT Repo for PDF of schematic.&lt;br /&gt;
&lt;br /&gt;
[[File:CW308T-D2000-02_schematic.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
== Board Layout ==&lt;br /&gt;
&lt;br /&gt;
See GIT Repo for gerber files.&lt;br /&gt;
&lt;br /&gt;
{{Template:Hardware}}&lt;br /&gt;
[[Category:CW308 Targets]]&lt;/div&gt;</summary>
		<author><name>Cwiesner</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW308T-STM32F/ChipWhisperer_Bootloader&amp;diff=3110</id>
		<title>CW308T-STM32F/ChipWhisperer Bootloader</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW308T-STM32F/ChipWhisperer_Bootloader&amp;diff=3110"/>
				<updated>2018-02-15T21:10:44Z</updated>
		
		<summary type="html">&lt;p&gt;Cwiesner: /* Rev -02 Boards */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The STM32Fx devices have a built-in bootloader, and the ChipWhisperer software as of 3.5.2 includes support for this bootloader.&lt;br /&gt;
&lt;br /&gt;
Important notes before we begin:&lt;br /&gt;
* 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 &amp;quot;AES SimpleSerial on XMEGA&amp;quot; startup script.&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
To access the bootloader you can perform these steps. They vary based on if you have a &amp;quot;Rev 02&amp;quot; board or a &amp;quot;Rev 03 or Later&amp;quot; board. The revision number is printed on the bottom side as part of the PCB part number (STM32F-03 is Rev -03 for example).&lt;br /&gt;
&lt;br /&gt;
== Rev -03 or Later ==&lt;br /&gt;
&lt;br /&gt;
# Select the &amp;quot;Serial STM32F Programmer&amp;quot;&lt;br /&gt;
#: [[File:arm_programmer.png]]&lt;br /&gt;
# Select the hex-file and press the &amp;quot;Program/Verify&amp;quot; button.&lt;br /&gt;
# The device should program, it may take a moment to fully program/verify on larger devices:&lt;br /&gt;
#: [[File:arm_programmed.png]]&lt;br /&gt;
&lt;br /&gt;
{{Warningbox|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 &amp;quot;SH-&amp;quot; and &amp;quot;SH+&amp;quot; pins at J16 (to the left of the SMA connector) on the UFO board. Retry programming with the jumper mounted. }}&lt;br /&gt;
&lt;br /&gt;
== Rev -02 Boards ==&lt;br /&gt;
&lt;br /&gt;
The Rev -02 boards did not have all programming connections present. They require some additional steps:&lt;br /&gt;
&lt;br /&gt;
# Select the &amp;quot;Serial STM32F Programmer&amp;quot;&lt;br /&gt;
#: [[File:arm_programmer.png]]&lt;br /&gt;
# Mount a jumper between the H1 and PDIC pins (again this is ONLY for the -02 rev).&lt;br /&gt;
#: [[File:STMF32F-02 programmer jumper.jpg|400px]]&lt;br /&gt;
# Reset the ARM device either by pressing the reset button (newer UFO boards only), or by toggling power:&lt;br /&gt;
#: [[File:arm_togglepower.png]]&lt;br /&gt;
# Select the hex-file and press the &amp;quot;Program/Verify&amp;quot; button.&lt;br /&gt;
# The device should program, it may take a moment to fully program/verify on larger devices:&lt;br /&gt;
#: [[File:arm_programmed.png]]&lt;br /&gt;
# Remove the jumper between the H1/H2 pins.&lt;br /&gt;
# Reset the ARM device either by pressing the reset button (newer UFO boards only), or by toggling power:&lt;br /&gt;
#: [[File:arm_togglepower.png]]&lt;br /&gt;
&lt;br /&gt;
{{Warningbox|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 &amp;quot;SH-&amp;quot; and &amp;quot;SH+&amp;quot; pins at J16 (to the left of the SMA connector) on the UFO board. Retry programming with the jumper mounted. }}&lt;/div&gt;</summary>
		<author><name>Cwiesner</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=File:STMF32F-02_programmer_jumper.jpg&amp;diff=3109</id>
		<title>File:STMF32F-02 programmer jumper.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=File:STMF32F-02_programmer_jumper.jpg&amp;diff=3109"/>
				<updated>2018-02-15T21:08:03Z</updated>
		
		<summary type="html">&lt;p&gt;Cwiesner: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Cwiesner</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW308T-S6LX9&amp;diff=3108</id>
		<title>CW308T-S6LX9</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW308T-S6LX9&amp;diff=3108"/>
				<updated>2018-02-15T18:45:13Z</updated>
		
		<summary type="html">&lt;p&gt;Cwiesner: /* Programming */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox cw308target&lt;br /&gt;
|name                   = CW308T-S6LX9&lt;br /&gt;
|image                  = File:S6LX9-Top.jpg&lt;br /&gt;
|caption                = &lt;br /&gt;
|Target Device          = Spartan 6 LX9&lt;br /&gt;
|Target Architecture    = FPGA&lt;br /&gt;
|Hardware Crypto        = No&lt;br /&gt;
|Purchase Hardware      = [http://store.newae.com/spartan-6-lx9-fpga-target-for-cw308/ Webstore]&lt;br /&gt;
|Design Files           = [https://github.com/newaetech/chipwhisperer/tree/master/hardware/victims/cw308_ufo_target/spartan6lx9 GITHub link]&lt;br /&gt;
&lt;br /&gt;
[https://oshpark.com/shared_projects/ECbBlx58 OSH Park PCBs]&lt;br /&gt;
|Supported Applications = [[SimpleSerial | Simple Serial Enc]]&lt;br /&gt;
|Programmer             = Xilinx JTAG&lt;br /&gt;
|Status                 = Released&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The S6LX9 target is a low-cost FPGA target. It uses the Xilinx Spartan 6 in TQFP package (XC6SLX9-2TQG144C), and can fit an entire AES core. The example project includes the Simple-Serial interface which allows it to function like any of our other example targets.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
The board includes a single red LED (D1) which is connected to the FPGA &amp;quot;DONE&amp;quot; pin. This pin will be HIGH (and the LED on) when the FPGA is NOT programmed. That is to say immediately on power-on, the LED will be on. Once the FPGA is successfully programmed this LED will go out.&lt;br /&gt;
&lt;br /&gt;
The FPGA pins are connected to the various headers on the board. The JTAG header connects to the FPGA JTAG pins. The &amp;quot;Hx&amp;quot; pins, USART, and SPI connect to arbitrary FPGA pins.&lt;br /&gt;
&lt;br /&gt;
'''NB: You MUST enable the 1.2V regulator when using this board. The 1.2V power LED should be ON. This is easily done by toggling the position of the 1.2V LDO switch (to either come from the 3.3V from CW-Lite, or external power depending on your setup).&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== Example Project ==&lt;br /&gt;
&lt;br /&gt;
The GIT repo includes an example Xilinx ISE project, located at [https://github.com/newaetech/chipwhisperer/tree/develop/hardware/victims/cw308_ufo_target/spartan6lx9/ss_aes_ise hardware/victims/cw308_ufo_target/spartan6lx9/ss_aes_ise]. To use this project:&lt;br /&gt;
&lt;br /&gt;
# Build the bitstream (or see the pre-built one in the repo at [https://github.com/newaetech/chipwhisperer/raw/develop/hardware/victims/cw308_ufo_target/spartan6lx9/ss_aes_ise/cw308t_s6lx9_example.bit cw308t_s6lx9_example.bit])&lt;br /&gt;
# Use settings as in the 'Default XMEGA' or 'STM32Fx' targets (i.e., clock jumpers, etc).&lt;br /&gt;
# Ensure you have turned on the 1.2V &amp;amp; 3.3V power supplies to the UFO target.&lt;br /&gt;
# Program the bitstream into the FPGA using a programming tool such as Xilinx Impact + USB Programmer cable.&lt;br /&gt;
# Run the 'XMEGA Simple-Serial' script in ChipWhisperer-Capture. This will setup clocks, serial data format, etc as expected.&lt;br /&gt;
# Adjust the trigger offset settings - they should be changed to around ~750, and you can reduce the number of data points to ~128.&lt;br /&gt;
&lt;br /&gt;
The waveform should look something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:s6lx9_waveform.png|400px]]&lt;br /&gt;
&lt;br /&gt;
{{Warningbox|There appears to be occasional jitter on the default AES core, so you might need to use re-synchronization on the power traces. See the [https://github.com/newaetech/chipwhisperer/issues/72 GITHub issue track].}}&lt;br /&gt;
&lt;br /&gt;
== Known Issues ==&lt;br /&gt;
&lt;br /&gt;
Note the -02 Revision of the PCB has swapped the markings of the CLKIN/CLKOUT. The correct pinout is:&lt;br /&gt;
&lt;br /&gt;
* CLKIN connects to P84&lt;br /&gt;
* CLKOUT connects to P85&lt;br /&gt;
&lt;br /&gt;
The CLKIN pin is a _N clock pin. If you need the _P clock pin, you can use a jumper on the CW308 board to route the clock input into the CLKOUT pin.&lt;br /&gt;
&lt;br /&gt;
== Programming ==&lt;br /&gt;
&lt;br /&gt;
The ChipWhisperer will eventually support programming this target. Until then, you will need an external programmer. This is connected via JTAG to the pin headers:&lt;br /&gt;
&lt;br /&gt;
[[File:s6lx9_jtag.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Options for programmers include:&lt;br /&gt;
&lt;br /&gt;
* Xilinx Platform Cable USB or USB-II (Digikey/Mouser).&lt;br /&gt;
* Clone JTAG programmers off AliExpress/E-Bay for low cost (search 'Xilinx JTAG').&lt;br /&gt;
* Digilent Inc HS1/HS2/HS3 Cables (NB: you may need separate jumper wires).&lt;br /&gt;
&lt;br /&gt;
To use IMPACT:&lt;br /&gt;
&lt;br /&gt;
* Generate a new project.&lt;br /&gt;
* Assign the .bit file to the FPGA (say 'no' to attached SPI flash chips).&lt;br /&gt;
* Program.&lt;br /&gt;
&lt;br /&gt;
[[File:s6lx9_program.png|400px]]&lt;br /&gt;
&lt;br /&gt;
== Schematic ==&lt;br /&gt;
&lt;br /&gt;
See GIT Repo for PDF of schematic.&lt;br /&gt;
&lt;br /&gt;
[[File:CW308T_S6LX9_Schematic_Page_1.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
[[File:CW308T_S6LX9_Schematic_Page_2.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
[[File:CW308T_S6LX9_Schematic_Page_3.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
== Board Layout ==&lt;br /&gt;
&lt;br /&gt;
See GIT Repo for gerber files.&lt;br /&gt;
&lt;br /&gt;
{{Template:Hardware}}&lt;br /&gt;
[[Category: CW308 Targets]]&lt;/div&gt;</summary>
		<author><name>Cwiesner</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=File:S6lx9_jtag.jpg&amp;diff=3107</id>
		<title>File:S6lx9 jtag.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=File:S6lx9_jtag.jpg&amp;diff=3107"/>
				<updated>2018-02-15T18:37:45Z</updated>
		
		<summary type="html">&lt;p&gt;Cwiesner: Cwiesner uploaded a new version of File:S6lx9 jtag.jpg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Cwiesner</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=File:S6lx9_jtag.jpg&amp;diff=3106</id>
		<title>File:S6lx9 jtag.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=File:S6lx9_jtag.jpg&amp;diff=3106"/>
				<updated>2018-02-15T18:36:10Z</updated>
		
		<summary type="html">&lt;p&gt;Cwiesner: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>Cwiesner</name></author>	</entry>

	</feed>