<?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=Adewar</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=Adewar"/>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/Special:Contributions/Adewar"/>
		<updated>2026-04-29T06:18:22Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>http://wiki.newae.com/index.php?title=Template:Hardware&amp;diff=4220</id>
		<title>Template:Hardware</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=Template:Hardware&amp;diff=4220"/>
				<updated>2025-03-18T17:08:14Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div id=&amp;quot;contents-footer&amp;quot; class=&amp;quot;hlist plainlinks selfreference mw-collapsible&amp;quot; style=&amp;quot;font-size:100%; margin-top:5px; border:1px solid {{{1|#B8C7D9}}}; background-color:{{{2|#E6F2FF}}}; padding:1em; text-align:left&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:140%; font-weight:bold&amp;quot;&amp;gt;Old Hardware (see https://chipwhisperer.readthedocs.io/en/latest/ for new)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;font-size:100%&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 3rd Party Targets&lt;br /&gt;
| [[SAKURA-G Target]] • [[SASEBO-W Target]]&lt;br /&gt;
|-&lt;br /&gt;
! Test Equipment&lt;br /&gt;
| [[PicoScope (USB Scope)]] • [[VISA Connected Oscilloscope]] &lt;br /&gt;
|- &lt;br /&gt;
! Obsolete&lt;br /&gt;
| [[CW1002 ChipWhisperer Capture Rev2]] • [[CW301 Multi-Target]] &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=Template:Hardware&amp;diff=4219</id>
		<title>Template:Hardware</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=Template:Hardware&amp;diff=4219"/>
				<updated>2025-03-18T17:07:49Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div id=&amp;quot;contents-footer&amp;quot; class=&amp;quot;hlist plainlinks selfreference mw-collapsible&amp;quot; style=&amp;quot;font-size:100%; margin-top:5px; border:1px solid {{{1|#B8C7D9}}}; background-color:{{{2|#E6F2FF}}}; padding:1em; text-align:left&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:140%; font-weight:bold&amp;quot;&amp;gt;Old Hardware (see https://chipwhisperer.readthedocs.io/en/latest/for new)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot; style=&amp;quot;font-size:100%&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 3rd Party Targets&lt;br /&gt;
| [[SAKURA-G Target]] • [[SASEBO-W Target]]&lt;br /&gt;
|-&lt;br /&gt;
! Test Equipment&lt;br /&gt;
| [[PicoScope (USB Scope)]] • [[VISA Connected Oscilloscope]] &lt;br /&gt;
|- &lt;br /&gt;
! Obsolete&lt;br /&gt;
| [[CW1002 ChipWhisperer Capture Rev2]] • [[CW301 Multi-Target]] &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=Main_Page&amp;diff=4218</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=Main_Page&amp;diff=4218"/>
				<updated>2025-03-18T17:07:36Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: /* WARNING: This wiki is now deprecated, as of August 2020. Product documentation is moved to https://rtfm.newae.com */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt; ChipWhisperer® by NewAE Technology Inc. &amp;lt;/strong&amp;gt;&lt;br /&gt;
&amp;lt;!-- You MUST resave this page for categorytree to update for now --&amp;gt;&lt;br /&gt;
&amp;lt;!-- &amp;lt;categorytree mode=all depth=4 hideroot='on' style=&amp;quot;float:right; clear:right; margin-left:1ex; border:1px solid gray; padding:0.7ex; background-color:white;&amp;quot;&amp;gt;TocRoot&amp;lt;/categorytree&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WARNING: This wiki is now deprecated, as of August 2020. Product documentation is moved to https://chipwhisperer.readthedocs.io/en/latest/ ==&lt;br /&gt;
&lt;br /&gt;
Welcome to ChipWhisperer - the complete open-source toolchain for side-channel power analysis and glitching attacks. This is the main landing page for ChipWhisperer. ChipWhisperer has been presented at conferences such as DEFCON and Blackhat, had a [https://www.kickstarter.com/projects/coflynn/chipwhisperer-lite-a-new-era-of-hardware-security successful Kickstarter (that delivered ahead of schedule)], and placed 2nd place in the first annual Hackaday Prize. ChipWhisperer has been used in a number of academic articles, and is featured in the Car Hacking Handbook. Portions of the design have even been used by [http://permalink.lanl.gov/object/tr?what=info:lanl-repo/lareport/LA-UR-15-26344 Los Alamos Labs for an electron accelerator]. You can see a full list of references on the [[Press]] page.&lt;br /&gt;
&lt;br /&gt;
ChipWhisperer is maintained by [https://www.newae.com NewAE Technology Inc.], which sells a combination of open-source hardware, supporting tools, training, and consulting services. ChipWhisperer is trademark of NewAE Technology Inc., registered in the US, Europe, and China. This means only NewAE can sell official products under the ChipWhisperer name, and was done to ensure products meet [[Quality Control Guidelines]], as these fairly complex products require good testing to ensure you don't have a frustrating experience.&lt;br /&gt;
&lt;br /&gt;
Beyond supporting just the ChipWhisperer project, this wiki is now growing towards the objective of offering a complete reference on embedded security.&lt;br /&gt;
&lt;br /&gt;
'''NOTE1: ChipWhisperer V5 is here! CW4 tutorials are available via links on the wiki tutorial pages. CW4 info is available at [[CW4]]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
Confused on where to begin? If you're new to this area, see the [[V5:Getting Started]] page, which details how you can get involved in side-channel power analysis. From there you can see the hardware documentation (linked below), or take one of the [http://newae.com/training/ Training Courses].&lt;br /&gt;
&lt;br /&gt;
If you're stuck, you can also get help on the [https://forum.newae.com Discussion Forum].&lt;br /&gt;
&lt;br /&gt;
== Hardware Documentation ==&lt;br /&gt;
&lt;br /&gt;
{{Template:Hardware}}&lt;br /&gt;
&lt;br /&gt;
== Software Documentation ==&lt;br /&gt;
&lt;br /&gt;
ChipWhisperer is an open-source project. All of the source code is available from the [https://github.com/newaetech/chipwhisperer Git Repository]. Documentation is available on our [https://chipwhisperer.readthedocs.io/en/latest/index.html Read the Docs page]. &lt;br /&gt;
&lt;br /&gt;
For more information about the software releases, see [https://github.com/newaetech/chipwhisperer/releases Releases] or the [https://chipwhisperer.readthedocs.io/en/latest/installing.html installation instructions].&lt;br /&gt;
&lt;br /&gt;
== Sample Projects and Tutorials ==&lt;br /&gt;
&lt;br /&gt;
Tutorials are implemented using Jupyter Notebooks, available in our [https://github.com/newaetech/chipwhisperer-jupyter chipwhisperer-jupyter submodule]. &lt;br /&gt;
&lt;br /&gt;
{{Template:Tutorials}}&lt;br /&gt;
&lt;br /&gt;
=== Example Attacks / Other ===&lt;br /&gt;
&lt;br /&gt;
While ChipWhisperer started as a side-channel power analysis platform, it has grown to be useful in other attack types. This section is designed to show you a wide variety of attacks on embedded systems, to give you an idea of what is required for building secure embedded systems. These are held on the page [[Embedded Attacks]].&lt;br /&gt;
&lt;br /&gt;
In 2016, ChipWhisperer was used as part of the CHES2016 CTF challenge. See details of the event on the [[CHES2016 CTF]] page.&lt;br /&gt;
&lt;br /&gt;
See what ChipWhisperer has been used for in the &amp;quot;real world&amp;quot; by reading some [[Academic Papers]] about research using ChipWhisperer.&lt;br /&gt;
&lt;br /&gt;
== Recent/Upcoming Events ==&lt;br /&gt;
&lt;br /&gt;
Upcomming Events:&lt;br /&gt;
* NewAE is not physically attending any events in 2020. As of August 2020 this wiki is deprecated, future announcements will be on [https://newae.com newae.com]&lt;br /&gt;
&lt;br /&gt;
These are some past events that were attended by someone from NewAE:&lt;br /&gt;
* Embedded World 2020: Exhibit Booth (we were there as a hold-out even with cancellations!)&lt;br /&gt;
* Arm TechCon 2019: Exhibit booth!&lt;br /&gt;
* [http://HardwareSecurity.training HardwareSecurity.training] event in November - California 4-day training.&lt;br /&gt;
* Embedded World 2019: Exhibit Booth&lt;br /&gt;
* Black Hat USA 2018: Training, Arsenal Demo&lt;br /&gt;
* [http://chesworkshop.org CHES 2018]: Sponsor with exhibit booth&lt;br /&gt;
* [http://HardwareSecurity.training HardwareSecurity.training] event in April - Maryland 4-day training.&lt;br /&gt;
* Embedded World 2018: Exhibit Booth&lt;br /&gt;
* [http://HardwareSecurity.training HardwareSecurity.training] event on November 6-9th in San Francisco, running security training&lt;br /&gt;
* [http://chesworkshop.org CHES 2017]: Gold sponsor with exhibit booth&lt;br /&gt;
* Blackhat USA 2017 ([https://www.blackhat.com/us-17/training/advanced-hardware-hacking-hands-on-power-analysis-and-glitching-with-the-chipwhisperer.html Hands-on Power Analysis &amp;amp; Glitching with the ChipWhisperer])&lt;br /&gt;
* COSADE 2017: Gold sponsor&lt;br /&gt;
* Blackhat USA 2016: Training based on ChipWhisperer, 2x talks by Colin, Arsenal&lt;br /&gt;
* CHES 2016: Sponsor with exhibit booth&lt;br /&gt;
* Blackhat USA 2014: Training class&lt;br /&gt;
* RECON 2014: [http://recon.cx/2014/video/recon2014-24-colin-o-flynn-Power-Analysis-and-Clock-Glitching-with-the-Open-Source-ChipWhisperer-Platform.mp4 Video] and [https://www.assembla.com/spaces/chipwhisperer/documents/cnp7Ss_8Sr471aacwqjQXA/download/cnp7Ss_8Sr471aacwqjQXA Slides]&lt;br /&gt;
* [http://solidcon.com/solid2014 O'Reilly Solid 2014]: [http://solidcon.com/solid2014/public/schedule/detail/33655 Demo]&lt;br /&gt;
* [http://cosade.org/ COSADE] 2014: [http://eprint.iacr.org/2014/204.pdf Paper]&lt;br /&gt;
* CHES 2013: [http://www.newae.com/files/CHES2013_Tutorial.pptx Slides] and [http://www.youtube.com/watch?v=UzDx5yx3Qc4&amp;amp;hd=1 Video]&lt;br /&gt;
* Blackhat USA 2013 &lt;br /&gt;
* iSEC Open Security Forum (April 2013)  &lt;br /&gt;
* Design West 2013&lt;br /&gt;
* Blackhat EU 2013&lt;br /&gt;
* AtlSecCon 2013&lt;br /&gt;
* Blackhat Abu Dhabi 2012&lt;br /&gt;
&lt;br /&gt;
== Extra Notes ==&lt;br /&gt;
&lt;br /&gt;
See the page [[Thanks]] for a note about the people who made this project possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ChipWhisperer is a Trademark of NewAE Technology Inc., registered in the U.S, the European Union, and China.&lt;br /&gt;
&lt;br /&gt;
ChipSHOUTER is a Trademark of NewAE Technology Inc., registered in the European Union.&lt;br /&gt;
&lt;br /&gt;
Trademarks used with permission.&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=Main_Page&amp;diff=4217</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=Main_Page&amp;diff=4217"/>
				<updated>2023-09-29T13:37:31Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt; ChipWhisperer® by NewAE Technology Inc. &amp;lt;/strong&amp;gt;&lt;br /&gt;
&amp;lt;!-- You MUST resave this page for categorytree to update for now --&amp;gt;&lt;br /&gt;
&amp;lt;!-- &amp;lt;categorytree mode=all depth=4 hideroot='on' style=&amp;quot;float:right; clear:right; margin-left:1ex; border:1px solid gray; padding:0.7ex; background-color:white;&amp;quot;&amp;gt;TocRoot&amp;lt;/categorytree&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WARNING: This wiki is now deprecated, as of August 2020. Product documentation is moved to https://rtfm.newae.com ==&lt;br /&gt;
&lt;br /&gt;
Welcome to ChipWhisperer - the complete open-source toolchain for side-channel power analysis and glitching attacks. This is the main landing page for ChipWhisperer. ChipWhisperer has been presented at conferences such as DEFCON and Blackhat, had a [https://www.kickstarter.com/projects/coflynn/chipwhisperer-lite-a-new-era-of-hardware-security successful Kickstarter (that delivered ahead of schedule)], and placed 2nd place in the first annual Hackaday Prize. ChipWhisperer has been used in a number of academic articles, and is featured in the Car Hacking Handbook. Portions of the design have even been used by [http://permalink.lanl.gov/object/tr?what=info:lanl-repo/lareport/LA-UR-15-26344 Los Alamos Labs for an electron accelerator]. You can see a full list of references on the [[Press]] page.&lt;br /&gt;
&lt;br /&gt;
ChipWhisperer is maintained by [https://www.newae.com NewAE Technology Inc.], which sells a combination of open-source hardware, supporting tools, training, and consulting services. ChipWhisperer is trademark of NewAE Technology Inc., registered in the US, Europe, and China. This means only NewAE can sell official products under the ChipWhisperer name, and was done to ensure products meet [[Quality Control Guidelines]], as these fairly complex products require good testing to ensure you don't have a frustrating experience.&lt;br /&gt;
&lt;br /&gt;
Beyond supporting just the ChipWhisperer project, this wiki is now growing towards the objective of offering a complete reference on embedded security.&lt;br /&gt;
&lt;br /&gt;
'''NOTE1: ChipWhisperer V5 is here! CW4 tutorials are available via links on the wiki tutorial pages. CW4 info is available at [[CW4]]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
Confused on where to begin? If you're new to this area, see the [[V5:Getting Started]] page, which details how you can get involved in side-channel power analysis. From there you can see the hardware documentation (linked below), or take one of the [http://newae.com/training/ Training Courses].&lt;br /&gt;
&lt;br /&gt;
If you're stuck, you can also get help on the [https://forum.newae.com Discussion Forum].&lt;br /&gt;
&lt;br /&gt;
== Hardware Documentation ==&lt;br /&gt;
&lt;br /&gt;
{{Template:Hardware}}&lt;br /&gt;
&lt;br /&gt;
== Software Documentation ==&lt;br /&gt;
&lt;br /&gt;
ChipWhisperer is an open-source project. All of the source code is available from the [https://github.com/newaetech/chipwhisperer Git Repository]. Documentation is available on our [https://chipwhisperer.readthedocs.io/en/latest/index.html Read the Docs page]. &lt;br /&gt;
&lt;br /&gt;
For more information about the software releases, see [https://github.com/newaetech/chipwhisperer/releases Releases] or the [https://chipwhisperer.readthedocs.io/en/latest/installing.html installation instructions].&lt;br /&gt;
&lt;br /&gt;
== Sample Projects and Tutorials ==&lt;br /&gt;
&lt;br /&gt;
Tutorials are implemented using Jupyter Notebooks, available in our [https://github.com/newaetech/chipwhisperer-jupyter chipwhisperer-jupyter submodule]. You can also find completed versions of the tutorials on [https://chipwhisperer.readthedocs.io/en/latest/tutorials.html Read the Docs].&lt;br /&gt;
&lt;br /&gt;
{{Template:Tutorials}}&lt;br /&gt;
&lt;br /&gt;
=== Example Attacks / Other ===&lt;br /&gt;
&lt;br /&gt;
While ChipWhisperer started as a side-channel power analysis platform, it has grown to be useful in other attack types. This section is designed to show you a wide variety of attacks on embedded systems, to give you an idea of what is required for building secure embedded systems. These are held on the page [[Embedded Attacks]].&lt;br /&gt;
&lt;br /&gt;
In 2016, ChipWhisperer was used as part of the CHES2016 CTF challenge. See details of the event on the [[CHES2016 CTF]] page.&lt;br /&gt;
&lt;br /&gt;
See what ChipWhisperer has been used for in the &amp;quot;real world&amp;quot; by reading some [[Academic Papers]] about research using ChipWhisperer.&lt;br /&gt;
&lt;br /&gt;
== Recent/Upcoming Events ==&lt;br /&gt;
&lt;br /&gt;
Upcomming Events:&lt;br /&gt;
* NewAE is not physically attending any events in 2020. As of August 2020 this wiki is deprecated, future announcements will be on [https://newae.com newae.com]&lt;br /&gt;
&lt;br /&gt;
These are some past events that were attended by someone from NewAE:&lt;br /&gt;
* Embedded World 2020: Exhibit Booth (we were there as a hold-out even with cancellations!)&lt;br /&gt;
* Arm TechCon 2019: Exhibit booth!&lt;br /&gt;
* [http://HardwareSecurity.training HardwareSecurity.training] event in November - California 4-day training.&lt;br /&gt;
* Embedded World 2019: Exhibit Booth&lt;br /&gt;
* Black Hat USA 2018: Training, Arsenal Demo&lt;br /&gt;
* [http://chesworkshop.org CHES 2018]: Sponsor with exhibit booth&lt;br /&gt;
* [http://HardwareSecurity.training HardwareSecurity.training] event in April - Maryland 4-day training.&lt;br /&gt;
* Embedded World 2018: Exhibit Booth&lt;br /&gt;
* [http://HardwareSecurity.training HardwareSecurity.training] event on November 6-9th in San Francisco, running security training&lt;br /&gt;
* [http://chesworkshop.org CHES 2017]: Gold sponsor with exhibit booth&lt;br /&gt;
* Blackhat USA 2017 ([https://www.blackhat.com/us-17/training/advanced-hardware-hacking-hands-on-power-analysis-and-glitching-with-the-chipwhisperer.html Hands-on Power Analysis &amp;amp; Glitching with the ChipWhisperer])&lt;br /&gt;
* COSADE 2017: Gold sponsor&lt;br /&gt;
* Blackhat USA 2016: Training based on ChipWhisperer, 2x talks by Colin, Arsenal&lt;br /&gt;
* CHES 2016: Sponsor with exhibit booth&lt;br /&gt;
* Blackhat USA 2014: Training class&lt;br /&gt;
* RECON 2014: [http://recon.cx/2014/video/recon2014-24-colin-o-flynn-Power-Analysis-and-Clock-Glitching-with-the-Open-Source-ChipWhisperer-Platform.mp4 Video] and [https://www.assembla.com/spaces/chipwhisperer/documents/cnp7Ss_8Sr471aacwqjQXA/download/cnp7Ss_8Sr471aacwqjQXA Slides]&lt;br /&gt;
* [http://solidcon.com/solid2014 O'Reilly Solid 2014]: [http://solidcon.com/solid2014/public/schedule/detail/33655 Demo]&lt;br /&gt;
* [http://cosade.org/ COSADE] 2014: [http://eprint.iacr.org/2014/204.pdf Paper]&lt;br /&gt;
* CHES 2013: [http://www.newae.com/files/CHES2013_Tutorial.pptx Slides] and [http://www.youtube.com/watch?v=UzDx5yx3Qc4&amp;amp;hd=1 Video]&lt;br /&gt;
* Blackhat USA 2013 &lt;br /&gt;
* iSEC Open Security Forum (April 2013)  &lt;br /&gt;
* Design West 2013&lt;br /&gt;
* Blackhat EU 2013&lt;br /&gt;
* AtlSecCon 2013&lt;br /&gt;
* Blackhat Abu Dhabi 2012&lt;br /&gt;
&lt;br /&gt;
== Extra Notes ==&lt;br /&gt;
&lt;br /&gt;
See the page [[Thanks]] for a note about the people who made this project possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ChipWhisperer is a Trademark of NewAE Technology Inc., registered in the U.S, the European Union, and China.&lt;br /&gt;
&lt;br /&gt;
ChipSHOUTER is a Trademark of NewAE Technology Inc., registered in the European Union.&lt;br /&gt;
&lt;br /&gt;
Trademarks used with permission.&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW-Capture_Tool&amp;diff=4216</id>
		<title>CW-Capture Tool</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW-Capture_Tool&amp;diff=4216"/>
				<updated>2023-08-24T13:33:05Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''WARNING: THE CHIPWHISPERER CAPTURE AND ANALYZER TOOLS ARE DEPRECATED. AS SUCH, WE ARE UNABLE TO PROVIDE SUPPORT FOR THESE TOOLS OR RELEASES THAT INCLUDE THESE TOOLS.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This tool captures traces from scopes while is also capable of synchronize it with different targets devices. &lt;br /&gt;
&lt;br /&gt;
Main features:&lt;br /&gt;
* View the wave form of each trace;&lt;br /&gt;
* Save/load/import/edit/manage the traces;&lt;br /&gt;
* Run custom capture scripts;&lt;br /&gt;
* Automated glitch exploring with a nice scatterplot widget to visualize the result;&lt;br /&gt;
* Convenient firmware programmer to flash files to the target board;&lt;br /&gt;
* Record traces using fixed/random encryption keys and fixed/random plaintext inputs;&lt;br /&gt;
* Serial Terminal&lt;br /&gt;
[[File:Screen Shot 2016-07-15 at 10.00.52 AM.png|1100px]]&lt;br /&gt;
&lt;br /&gt;
== The Basics ==&lt;br /&gt;
The capture tool comes with a list of built-in scripts to connect to different pairs of target-scope hardwares. The easiest way to start using it is accessing the &amp;quot;Project&amp;quot;-&amp;gt;&amp;quot;Example Scripts&amp;quot; menu and select the appropriate item in the list.&lt;br /&gt;
&lt;br /&gt;
If you want more advanced setups, you will have to configure the capture environment manually using the Setting tabs, starting with the &amp;quot;Generic Settings&amp;quot;:&lt;br /&gt;
# Select the desired &amp;quot;Scope Module&amp;quot;  (e.g., ChipWhisperer/OpenADC). Leave it as None if you only want to use the target.&lt;br /&gt;
# Select the desired &amp;quot;Target Module&amp;quot; (e.g., Simple Serial). Leave it as None if you only want to use the scope.&lt;br /&gt;
# Select the desired &amp;quot;Trace Format&amp;quot; (e.g., ChipWhisperer/Native). Leave it as None if you don't need to save the traces, as often happen when executing the Glitching attack.&lt;br /&gt;
# Switch to the &amp;quot;Scope Settings&amp;quot; tab and setup your scope connection (e.g., selecting 'NewAE USB (CWLite/CW1200)').&lt;br /&gt;
# Switch to the &amp;quot;Target Settings&amp;quot; tab and setup your target connection (e.g., selecting 'NewAE USB (CWLite/CW1200)').&lt;br /&gt;
# Connect to the desired scope/target pair, using the toolbar buttons. The master button connects to both at the same time.&lt;br /&gt;
#* At this point, you may want to flash the desired firmware to the target, using the Programmer option in the Tools' menu.&lt;br /&gt;
# Once connected, both the &amp;quot;Scope Settings&amp;quot; and &amp;quot;Target Settings&amp;quot; list of parameters may expand, giving access to more advanced settings. You will have to set these parameters which depend on what you want to capture. It usually involves setting the following parameters:&lt;br /&gt;
#* Trigger Pins&lt;br /&gt;
#* Target IOn Pins&lt;br /&gt;
#* Target HS IO-Out&lt;br /&gt;
#* Clock Setup&lt;br /&gt;
#* Trigger Setup-&amp;gt;Total Samples&lt;br /&gt;
#* Trigger Setup-&amp;gt;Offset&lt;br /&gt;
#* Trigger Setup-&amp;gt;Mode&lt;br /&gt;
#* Gain&lt;br /&gt;
#* Relock/reset the DCM in case it is lost.&lt;br /&gt;
#* TIP: check the content of the &amp;quot;Example Scripts&amp;quot; at chipwhisperer/software/chipwhisperer/capture/scripts if you are lost.&lt;br /&gt;
# You may want to check if everything is working properly by clicking in the &amp;quot;Capture 1&amp;quot; button and adjusting the above settings if necessary.&lt;br /&gt;
# Once it is working as expected, you can set the &amp;quot;Generic Settings&amp;quot;-&amp;gt;&amp;quot;Acquisition Settings&amp;quot;-&amp;gt;&amp;quot;Number of Traces&amp;quot; option to the desired amount (e.g. 50-100) and click the &amp;quot;Capture M&amp;quot; button in the toolbar. This time the traces will be saved to the &amp;quot;Trace Manager&amp;quot; if you specified a &amp;quot;Trace Format&amp;quot;.&lt;br /&gt;
# In order to view the saved traces, you will have to change the &amp;quot;Result&amp;quot;-&amp;gt;&amp;quot;Trace Output Plot&amp;quot;-&amp;gt;&amp;quot;Input&amp;quot; from the scope channel to the &amp;quot;Trace Manager&amp;quot;. You may also want to change the &amp;quot;X Axis&amp;quot; temporal sequence from Samples to Time. &lt;br /&gt;
# You can also import, delete, edit or select/deselect the trace segments by opening the &amp;quot;Trace Manager&amp;quot; in the Project menu.&lt;br /&gt;
# Don't forget to save the Project after each change in the traces. A &amp;quot;Consolidate&amp;quot; option is also available to move/copy all the trace files to the current project directory. It is useful if you imported existing traces or captured it before creating the project.&lt;br /&gt;
Once you master this procedure and get tired of doing it over and over again, there are two things you can do about it:&lt;br /&gt;
# Create your own script (based on the existing ones) and add it to the chipwhisperer/software/chipwhisperer/capture/scripts or ~/chipwhisperer_projects/chipwhisperer/capture/scripts directories. You may want to copy/paste the lines from the &amp;quot;Script Commands&amp;quot; window, once the environment is already set, in order to make it easier.&lt;br /&gt;
# Set your capture environment and save the parameter groups using the Save buttons in the top of the Settings tabs. Other possibility would be to use the &amp;quot;Project&amp;quot;-&amp;gt;&amp;quot;Save Settings&amp;quot; option to save all the settings at the same time to the &amp;quot;settings.cwset&amp;quot; file inside your project directory. The '''settings are NOT loaded automatically''' when the project is opened. Instead, you should click in the Load button for each group of settings that you want to restore. It is possible to have multiple settings profiles using different settings files. The capture tool also records the settings with the traces when they are captured. If you want to configure the tool to the same environment used in a previous capture, it is possible by loading the setting file saved inside the traces directory.&lt;br /&gt;
&lt;br /&gt;
== Tutorials ==&lt;br /&gt;
Follow the [[Tutorial B5 Breaking AES (Straightforward)|B5 tutorial]] to learn how to use it with different targets.&lt;br /&gt;
&lt;br /&gt;
== Advanced ==&lt;br /&gt;
Click in this link to learn how to use the [[Glitch Explorer]].&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW-Analyzer_Tool&amp;diff=4215</id>
		<title>CW-Analyzer Tool</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW-Analyzer_Tool&amp;diff=4215"/>
				<updated>2023-08-24T13:32:40Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''WARNING: THE CHIPWHISPERER CAPTURE AND ANALYZER TOOLS ARE DEPRECATED. AS SUCH, WE ARE UNABLE TO PROVIDE SUPPORT FOR THESE TOOLS OR RELEASES THAT INCLUDE THESE TOOLS.'''&lt;br /&gt;
&lt;br /&gt;
The objective of this tool is to analyze the traces captured from a given scope.&lt;br /&gt;
&lt;br /&gt;
Main features:&lt;br /&gt;
* CPA and Profiling types of attack;&lt;br /&gt;
* Built-in preprocessing modules (decimation, resync, digital filter, normalize and noise);&lt;br /&gt;
* Record preprocessed traces output;&lt;br /&gt;
* Execute custom analysis scripts;&lt;br /&gt;
* AES Key schedule calculator;&lt;br /&gt;
* Set of result widgets: Correlation vs Traces plot; Output vs Point plot; PGE vs Trace plot; PGE Table; Waveform Viewer.&lt;br /&gt;
&lt;br /&gt;
[[File:Screen Shot 2016-07-12 at 4.02.17 PM.png|1100px]]&lt;br /&gt;
&lt;br /&gt;
== Using the Analyzer ==&lt;br /&gt;
After loading the project, you will need to setup the analysis environment first. &lt;br /&gt;
&lt;br /&gt;
In the analyzer, the settings tabs are used to automatically generate the analysis script (shown in the &amp;quot;Analysis Script&amp;quot; dock). This code can be edited by the user for a more &amp;quot;advanced&amp;quot; usage. It can also be saved and loaded through:&lt;br /&gt;
* the console ($python script.py); &lt;br /&gt;
* using the &amp;quot;Attack Script Generator&amp;quot; tab;&lt;br /&gt;
* copying it to the scripts folder (chipwhisperer/software/chipwhisperer/analyzer/scripts or ˜/chipwhisperer_projects/chipwhisperer/analyzer/scripts) so that it will appear in the Project-&amp;gt;&amp;quot;Example Scripts&amp;quot; menu the next time you execute the tool.&lt;br /&gt;
In the &amp;quot;Analysis Script&amp;quot; dock, the constructor of the script object is called automatically every time that a new script is generated. It is done because widgets like the waveform viewer should update the trace output of the preprocessing modules when the user modify its settings. The run() method is executed only when the &amp;quot;Start Analysis&amp;quot; button in the toolbar is pressed. Custom methods can be executed by selecting it in the code and right clicking: a &amp;quot;Run Function&amp;quot; option will show up.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Attack Script Generator&amp;quot; is the main settings tab. It allows the user to set the Preprocessing modules that should be applied over the original traces and the Attack module. The Preprocessing and the Attack tabs will update accordingly.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Trace Explorer&amp;quot; tab enables a set of helper scripts needed by some of the analysis algorithms (like the POI detection in the Template attack).&lt;br /&gt;
&lt;br /&gt;
== Preprocessing Modules ==&lt;br /&gt;
Are filters that modify the traces from a given trace source (that can be another Preprocessing Module or the Trace Manager) and works as a new trace source to the next module in the chain (called trace observer).&lt;br /&gt;
&lt;br /&gt;
=== Add Noise: Amplitude ===&lt;br /&gt;
Add random noise to the traces. Used for testing, has no use in actual analysis.&lt;br /&gt;
&lt;br /&gt;
=== Add Noise: Time Jitter ===&lt;br /&gt;
Add random jitter. Used for testing, has no use in actual analysis.&lt;br /&gt;
&lt;br /&gt;
=== Decimation: Clock Recovery ===&lt;br /&gt;
Attempts to 'recover' the clock by band-pass filtering, and then uses that to decimate to only points of interest. ****CURRENTLY NOT SUPPORTED****&lt;br /&gt;
&lt;br /&gt;
=== Decimation: Fixed ===&lt;br /&gt;
Decimate (reduce the sample rate) by a fixed factor.&lt;br /&gt;
&lt;br /&gt;
=== Digital Filter ===&lt;br /&gt;
Frequency specific filter.&lt;br /&gt;
&lt;br /&gt;
=== Normalize ===&lt;br /&gt;
Normalize by standard deviation.&lt;br /&gt;
&lt;br /&gt;
=== Resync: Cross Correlation ===&lt;br /&gt;
Use cross-correlation to detect shift between a 'reference trace' and every input trace. In practice the other resync methods seem to work better.&lt;br /&gt;
&lt;br /&gt;
=== Resync: Peak Detect ===&lt;br /&gt;
Line up traces so peak (either max positive or max negative) within some given range of points all aligns.&lt;br /&gt;
&lt;br /&gt;
For each trace the following must hold or the trace is rejected:&lt;br /&gt;
* (1-valid limit) &amp;lt; (peak value from candidate trace) / (peak value from reference) &amp;lt; (1+valid limit)&lt;br /&gt;
&lt;br /&gt;
* If 'valid limit' is 0 then this is ignored, and all traces are kept.&lt;br /&gt;
&lt;br /&gt;
=== Resync: Resample based on Zero-Crossing ===&lt;br /&gt;
Deal with resampling 'bins' based on zero-crossing detection.&lt;br /&gt;
&lt;br /&gt;
=== Resync: Sum-of-Difference ===&lt;br /&gt;
Minimize the 'Sum of Absolute Difference' (SAD), also known as 'Sum of Absolute Error'. Uses a portion of one of the traces as the 'reference'. This reference is then slid over the 'input window' for each trace, and the amount of shift resulting in the minimum SAD criteria is selected as the shift amount for that trace. &lt;br /&gt;
&lt;br /&gt;
See [[Sum of Absolute Difference (SAD) Pre-Processing]] for more information.&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=Manual_SAM3U_Firmware_Update&amp;diff=4214</id>
		<title>Manual SAM3U Firmware Update</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=Manual_SAM3U_Firmware_Update&amp;diff=4214"/>
				<updated>2023-05-05T18:14:33Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
'''WARNING: THE INFORMATION IN THIS PAGE IS WOEFULLY OUT OF DATE! UPDATED DOCUMENTATION IS AVAILABLE AT: https://chipwhisperer.readthedocs.io/en/latest/firmware.html'''&lt;br /&gt;
&lt;br /&gt;
'''CONTINUE AT YOUR OWN RISK!'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The SAM3U device has a ROM-resident bootloader. This means the bootloader is always present - unless the chip is damaged it can be run, making the device almost &amp;quot;unbrickable&amp;quot;. If you have trouble running the instructions on this webpage it's most likely an issue with your host computer, and not an issue with the SAM3U being damaged. &lt;br /&gt;
&lt;br /&gt;
==Entering Bootloader Mode==&lt;br /&gt;
&lt;br /&gt;
The only way to enter the bootloader mode is to erase the FLASH memory. Before erasing the FLASH memory you should install the programmer tool and confirms it works (it won't connect to the device, but at least check the install works). See the next heading for details of the programming tool.&lt;br /&gt;
&lt;br /&gt;
To erase the FLASH memory, simply short the jumper labeled &amp;quot;ERASE&amp;quot; on the ChipWhisperer-Lite. Do this while the device is connected via micro-USB. The blue LED should stop flashing at this point, and will stay either on or off (depending when you shorted the jumper). This can be accomplished by anything metallic - for example using a screwdriver or tweezers:&lt;br /&gt;
&lt;br /&gt;
[[File:short_screwdriver.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:short_tweezers.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
Once this is accomplished, unplug and replug the micro-USB port. This will install a new driver (assuming you installed BOSSA already), and the red and blue LED should be only 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;
==Flashing Firmware Using BOSSA==&lt;br /&gt;
&lt;br /&gt;
The suggested utility to program the device is BOSSA - see [http://www.shumatech.com/web/products/bossa] for details. Before proceeding, install BOSSA for your system.&lt;br /&gt;
&lt;br /&gt;
Run BOSSA, and in the &amp;quot;File&amp;quot; point it to chipwhisperer\hardware\capture\chipwhisperer-lite\sam3u_fw\SAM3U_VendorExample\Debug\SAM3U_CW1173.bin from either your release or GIT. If you press the &amp;quot;Auto-Scan&amp;quot; button BOSSA should detect the ATSAM3U2 device. Note if you are using Windows it might take a few minutes to install the drivers - check the status, as until the drivers are fully loaded it won't detect the SAM3U device.&lt;br /&gt;
&lt;br /&gt;
# Once this is done, press the Write button.&lt;br /&gt;
# Press Verify afterwards to confirm things worked.&lt;br /&gt;
# Press Exit to close out the program.&lt;br /&gt;
# Unplug &amp;amp; Replug the Micro-USB and you've got a working ChipWhisperer-Lite again, with the latest SAM3U firmware!&lt;br /&gt;
&lt;br /&gt;
[[File:Bossa.png]]&lt;br /&gt;
&lt;br /&gt;
==BOSSA Command Line==&lt;br /&gt;
&lt;br /&gt;
On certain systems it may be easier to use the command-line version of BOSSA, called bossac. You can also build just this version if required (see instructions below).&lt;br /&gt;
&lt;br /&gt;
You can also run the BOSSA utility at the command line, with an instruction like the following:&lt;br /&gt;
 &lt;br /&gt;
 bossac -e -w -v -b /path/to/SAM3U_CW1173.bin&lt;br /&gt;
&lt;br /&gt;
If you are on Linux, you may need to either fix permissions on the serial port, or run bossac as root/sudo. See below for details.&lt;br /&gt;
&lt;br /&gt;
=== Linux-Specific Instructions ===&lt;br /&gt;
&lt;br /&gt;
You may need to give yourself write permission for the serial port. This can be done on some systems easily by adding yourself to the &amp;lt;code&amp;gt;dialout&amp;lt;/code&amp;gt; user group. For example, assuming your username was &amp;lt;code&amp;gt;cwuser&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;$ sudo usermod -a -G dialout cwuser&amp;lt;/code&amp;gt;&lt;br /&gt;
# Log out and log back in again for changes to take effect.&lt;br /&gt;
&lt;br /&gt;
You may also need to build bossac from sources, as the provided binary does not work with your system. Details of how to perform this are provided next:&lt;br /&gt;
&lt;br /&gt;
To build BOSSA, it is recommended to use our simplified bossac repository, which only builds the command-line version. To build this perform these steps:&lt;br /&gt;
&lt;br /&gt;
# Download [https://github.com/newaetech/BOSSA/archive/master.zip a copy of the GIT repo], or clone with &amp;lt;code&amp;gt;git clone git@github.com:newaetech/BOSSA.git&amp;lt;/code&amp;gt; (see github.com/newaetech/bossa for the full repo).&lt;br /&gt;
# Unzip the directory if you downloaded the zip.&lt;br /&gt;
# Run &amp;lt;code&amp;gt;make&amp;lt;/code&amp;gt;.&lt;br /&gt;
# The binary should be in &amp;lt;code&amp;gt;bin\bossac&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=Installing_ChipWhisperer&amp;diff=4154</id>
		<title>Installing ChipWhisperer</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=Installing_ChipWhisperer&amp;diff=4154"/>
				<updated>2020-07-02T12:07:59Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span class=&amp;quot;expandall&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Warningbox|These installation instructions are out of date! The new installation instructions can be found at https://chipwhisperer.readthedocs.io/en/latest/, along with our software documentation.}}&lt;br /&gt;
&lt;br /&gt;
This page describes how to install the ChipWhisperer software before release 5.1. &lt;br /&gt;
&lt;br /&gt;
There are five ways to set up ChipWhisperer:&lt;br /&gt;
* '''VMWare Virtual Machine:''' Get a pre-prepared virtual machine image with all of the required tools already installed. ''Recommended for beginners.''&lt;br /&gt;
* '''Windows Installer''' Get a Windows binary that installs the ChipWhisperer repository to your computer. Does not include WinAVR compiler.&lt;br /&gt;
* '''ChipWhisperer Releases:''' Get a zip file with the latest stable ChipWhisperer code and run it on your own environment. &lt;br /&gt;
* '''PyPi Package:''' &amp;lt;code&amp;gt;pip install chipwhisperer&amp;lt;/code&amp;gt;. Only includes the software - doesn't come with the hardware source files, drivers, or example firmware.&lt;br /&gt;
* '''Git Repository:''' Get the latest, bleeding-edge features and bugs. Recommended if you're an experienced developer and you want to contribute to ChipWhisperer.&lt;br /&gt;
'''NOTE TO USERS WITH AN ARM TARGET:''' To build firmware, you'll need the GNU Embedded Toolchain For ARM. This is included with the VM. Otherwise please see '''Installing ARM Toolchain''' at the bottom of the page.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Warningbox|If you are installing 64-bit Python rather than 32-bit, and the ChipWhisperer software's graph widget's axis disappear, the fix is this: ''pip uninstall pyside'' and then ''pip install https://download.qt.io/official_releases/pyside/PySide-1.2.2-cp27-none-win_amd64.whl''. This uninstalls the current pyside package and installs the official QT Pyside package.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Warningbox|You may need to add ''--trusted-host pypi.python.org'' to the ''pip install'' command to allow HTTP connections. This is done as follows for example: ''sudo pip install --trusted-host pypi.python.org pyusb''}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{TOC|limit=3}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Using VMWare Virtual Machine ===&lt;br /&gt;
|content= Installing ChipWhisperer/Using VMWare Virtual Machine}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Automatic Windows Installer ===&lt;br /&gt;
|content= Installing ChipWhisperer/Windows Installer}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro= === Manual Install - Windows ===&lt;br /&gt;
|content= Installing ChipWhisperer/Required Tools - Windows}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro= === Manual Install - Linux ===&lt;br /&gt;
|content= Installing ChipWhisperer/Required Tools - Linux}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro= === Manual Install - Mac OS X ===&lt;br /&gt;
|content= Installing ChipWhisperer/Required Tools - Mac OS X}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro= === Installing ChipWhisperer from Releases ===&lt;br /&gt;
|content= Installing ChipWhisperer/Installing ChipWhisperer from Releases}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro= === Installing ChipWhisperer from PyPi ===&lt;br /&gt;
|content= Installing ChipWhisperer/Installing ChipWhisperer from PyPi}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro= === Installing ChipWhisperer from Git ===&lt;br /&gt;
|content= Installing ChipWhisperer/Installing ChipWhisperer from Git}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro= === Installing ARM Toolchain ===&lt;br /&gt;
|content= Installing ChipWhisperer/Installing_ARM_Toolchain}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- {{CollapsibleSection&lt;br /&gt;
|intro= === Quick Tests ===&lt;br /&gt;
|content= Installing ChipWhisperer/Quick Tests}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Introduction]]&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=Installing_ChipWhisperer&amp;diff=4153</id>
		<title>Installing ChipWhisperer</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=Installing_ChipWhisperer&amp;diff=4153"/>
				<updated>2020-07-02T12:07:25Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span class=&amp;quot;expandall&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Warningbox|These installation instructions are out of date! The new installation instructions can be found at https://chipwhisperer.readthedocs.io/en/latest/, along with our software documentation.}}&lt;br /&gt;
&lt;br /&gt;
This page describes how to install the ChipWhisperer software. &lt;br /&gt;
&lt;br /&gt;
There are five ways to set up ChipWhisperer:&lt;br /&gt;
* '''VMWare Virtual Machine:''' Get a pre-prepared virtual machine image with all of the required tools already installed. ''Recommended for beginners.''&lt;br /&gt;
* '''Windows Installer''' Get a Windows binary that installs the ChipWhisperer repository to your computer. Does not include WinAVR compiler.&lt;br /&gt;
* '''ChipWhisperer Releases:''' Get a zip file with the latest stable ChipWhisperer code and run it on your own environment. &lt;br /&gt;
* '''PyPi Package:''' &amp;lt;code&amp;gt;pip install chipwhisperer&amp;lt;/code&amp;gt;. Only includes the software - doesn't come with the hardware source files, drivers, or example firmware.&lt;br /&gt;
* '''Git Repository:''' Get the latest, bleeding-edge features and bugs. Recommended if you're an experienced developer and you want to contribute to ChipWhisperer.&lt;br /&gt;
'''NOTE TO USERS WITH AN ARM TARGET:''' To build firmware, you'll need the GNU Embedded Toolchain For ARM. This is included with the VM. Otherwise please see '''Installing ARM Toolchain''' at the bottom of the page.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Warningbox|If you are installing 64-bit Python rather than 32-bit, and the ChipWhisperer software's graph widget's axis disappear, the fix is this: ''pip uninstall pyside'' and then ''pip install https://download.qt.io/official_releases/pyside/PySide-1.2.2-cp27-none-win_amd64.whl''. This uninstalls the current pyside package and installs the official QT Pyside package.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Warningbox|You may need to add ''--trusted-host pypi.python.org'' to the ''pip install'' command to allow HTTP connections. This is done as follows for example: ''sudo pip install --trusted-host pypi.python.org pyusb''}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{TOC|limit=3}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Using VMWare Virtual Machine ===&lt;br /&gt;
|content= Installing ChipWhisperer/Using VMWare Virtual Machine}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Automatic Windows Installer ===&lt;br /&gt;
|content= Installing ChipWhisperer/Windows Installer}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro= === Manual Install - Windows ===&lt;br /&gt;
|content= Installing ChipWhisperer/Required Tools - Windows}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro= === Manual Install - Linux ===&lt;br /&gt;
|content= Installing ChipWhisperer/Required Tools - Linux}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro= === Manual Install - Mac OS X ===&lt;br /&gt;
|content= Installing ChipWhisperer/Required Tools - Mac OS X}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro= === Installing ChipWhisperer from Releases ===&lt;br /&gt;
|content= Installing ChipWhisperer/Installing ChipWhisperer from Releases}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro= === Installing ChipWhisperer from PyPi ===&lt;br /&gt;
|content= Installing ChipWhisperer/Installing ChipWhisperer from PyPi}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro= === Installing ChipWhisperer from Git ===&lt;br /&gt;
|content= Installing ChipWhisperer/Installing ChipWhisperer from Git}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro= === Installing ARM Toolchain ===&lt;br /&gt;
|content= Installing ChipWhisperer/Installing_ARM_Toolchain}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- {{CollapsibleSection&lt;br /&gt;
|intro= === Quick Tests ===&lt;br /&gt;
|content= Installing ChipWhisperer/Quick Tests}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Introduction]]&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=Main_Page&amp;diff=4151</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=Main_Page&amp;diff=4151"/>
				<updated>2020-06-01T19:08:18Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: Fix forum link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt; ChipWhisperer® by NewAE Technology Inc. &amp;lt;/strong&amp;gt;&lt;br /&gt;
&amp;lt;!-- You MUST resave this page for categorytree to update for now --&amp;gt;&lt;br /&gt;
&amp;lt;!-- &amp;lt;categorytree mode=all depth=4 hideroot='on' style=&amp;quot;float:right; clear:right; margin-left:1ex; border:1px solid gray; padding:0.7ex; background-color:white;&amp;quot;&amp;gt;TocRoot&amp;lt;/categorytree&amp;gt; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Welcome to ChipWhisperer - the complete open-source toolchain for side-channel power analysis and glitching attacks. This is the main landing page for ChipWhisperer. ChipWhisperer has been presented at conferences such as DEFCON and Blackhat, had a [https://www.kickstarter.com/projects/coflynn/chipwhisperer-lite-a-new-era-of-hardware-security successful Kickstarter (that delivered ahead of schedule)], and placed 2nd place in the first annual Hackaday Prize. ChipWhisperer has been used in a number of academic articles, and is featured in the Car Hacking Handbook. Portions of the design have even been used by [http://permalink.lanl.gov/object/tr?what=info:lanl-repo/lareport/LA-UR-15-26344 Los Alamos Labs for an electron accelerator]. You can see a full list of references on the [[Press]] page.&lt;br /&gt;
&lt;br /&gt;
ChipWhisperer is maintained by [https://www.newae.com NewAE Technology Inc.], which sells a combination of open-source hardware, supporting tools, training, and consulting services. ChipWhisperer is trademark of NewAE Technology Inc., registered in the US, Europe, and China. This means only NewAE can sell official products under the ChipWhisperer name, and was done to ensure products meet [[Quality Control Guidelines]], as these fairly complex products require good testing to ensure you don't have a frustrating experience.&lt;br /&gt;
&lt;br /&gt;
Beyond supporting just the ChipWhisperer project, this wiki is now growing towards the objective of offering a complete reference on embedded security.&lt;br /&gt;
&lt;br /&gt;
'''NOTE: ChipWhisperer V5 is here! CW4 tutorials are available via links on the wiki tutorial pages. CW4 info is available at [[CW4]]'''&lt;br /&gt;
&lt;br /&gt;
'''NOTE: Account creation is disabled on this wiki currently due to spam. Please contact us at wiki@newae.com if you would like to contribute.'''&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
Confused on where to begin? If you're new to this area, see the [[V5:Getting Started]] page, which details how you can get involved in side-channel power analysis. From there you can see the hardware documentation (linked below), or take one of the [http://newae.com/training/ Training Courses].&lt;br /&gt;
&lt;br /&gt;
If you're stuck, you can also get help on the [https://forum.newae.com Discussion Forum].&lt;br /&gt;
&lt;br /&gt;
== Hardware Documentation ==&lt;br /&gt;
&lt;br /&gt;
{{Template:Hardware}}&lt;br /&gt;
&lt;br /&gt;
== Software Documentation ==&lt;br /&gt;
&lt;br /&gt;
ChipWhisperer is an open-source project. All of the source code is available from the [https://github.com/newaetech/chipwhisperer Git Repository]. Documentation is available on our [https://chipwhisperer.readthedocs.io/en/latest/index.html Read the Docs page]. &lt;br /&gt;
&lt;br /&gt;
For more information about the software releases, see [https://github.com/newaetech/chipwhisperer/releases Releases] or the [https://chipwhisperer.readthedocs.io/en/latest/installing.html installation instructions].&lt;br /&gt;
&lt;br /&gt;
== Sample Projects and Tutorials ==&lt;br /&gt;
&lt;br /&gt;
Tutorials are implemented using Jupyter Notebooks, available in our [https://github.com/newaetech/chipwhisperer-jupyter chipwhisperer-jupyter submodule]. You can also find completed versions of the tutorials on [https://chipwhisperer.readthedocs.io/en/latest/tutorials.html Read the Docs].&lt;br /&gt;
&lt;br /&gt;
{{Template:Tutorials}}&lt;br /&gt;
&lt;br /&gt;
=== Example Attacks / Other ===&lt;br /&gt;
&lt;br /&gt;
While ChipWhisperer started as a side-channel power analysis platform, it has grown to be useful in other attack types. This section is designed to show you a wide variety of attacks on embedded systems, to give you an idea of what is required for building secure embedded systems. These are held on the page [[Embedded Attacks]].&lt;br /&gt;
&lt;br /&gt;
In 2016, ChipWhisperer was used as part of the CHES2016 CTF challenge. See details of the event on the [[CHES2016 CTF]] page.&lt;br /&gt;
&lt;br /&gt;
See what ChipWhisperer has been used for in the &amp;quot;real world&amp;quot; by reading some [[Academic Papers]] about research using ChipWhisperer.&lt;br /&gt;
&lt;br /&gt;
== Recent/Upcoming Events ==&lt;br /&gt;
&lt;br /&gt;
Upcoming events with NewAE:&lt;br /&gt;
* Arm TechCon: Exhibit booth!&lt;br /&gt;
* [http://HardwareSecurity.training HardwareSecurity.training] event in November - California 4-day training.&lt;br /&gt;
* Embedded World 2019: Exhibit Booth&lt;br /&gt;
&lt;br /&gt;
These are some past events that were attended by someone from NewAE:&lt;br /&gt;
* Black Hat USA 2018: Training, Arsenal Demo&lt;br /&gt;
* [http://chesworkshop.org CHES 2018]: Sponsor with exhibit booth&lt;br /&gt;
* [http://HardwareSecurity.training HardwareSecurity.training] event in April - Maryland 4-day training.&lt;br /&gt;
* Embedded World 2018: Exhibit Booth&lt;br /&gt;
* [http://HardwareSecurity.training HardwareSecurity.training] event on November 6-9th in San Francisco, running security training&lt;br /&gt;
* [http://chesworkshop.org CHES 2017]: Gold sponsor with exhibit booth&lt;br /&gt;
* Blackhat USA 2017 ([https://www.blackhat.com/us-17/training/advanced-hardware-hacking-hands-on-power-analysis-and-glitching-with-the-chipwhisperer.html Hands-on Power Analysis &amp;amp; Glitching with the ChipWhisperer])&lt;br /&gt;
* COSADE 2017: Gold sponsor&lt;br /&gt;
* Blackhat USA 2016: Training based on ChipWhisperer, 2x talks by Colin, Arsenal&lt;br /&gt;
* CHES 2016: Sponsor with exhibit booth&lt;br /&gt;
* Blackhat USA 2014: Training class&lt;br /&gt;
* RECON 2014: [http://recon.cx/2014/video/recon2014-24-colin-o-flynn-Power-Analysis-and-Clock-Glitching-with-the-Open-Source-ChipWhisperer-Platform.mp4 Video] and [https://www.assembla.com/spaces/chipwhisperer/documents/cnp7Ss_8Sr471aacwqjQXA/download/cnp7Ss_8Sr471aacwqjQXA Slides]&lt;br /&gt;
* [http://solidcon.com/solid2014 O'Reilly Solid 2014]: [http://solidcon.com/solid2014/public/schedule/detail/33655 Demo]&lt;br /&gt;
* [http://cosade.org/ COSADE] 2014: [http://eprint.iacr.org/2014/204.pdf Paper]&lt;br /&gt;
* CHES 2013: [http://www.newae.com/files/CHES2013_Tutorial.pptx Slides] and [http://www.youtube.com/watch?v=UzDx5yx3Qc4&amp;amp;hd=1 Video]&lt;br /&gt;
* Blackhat USA 2013 &lt;br /&gt;
* iSEC Open Security Forum (April 2013)  &lt;br /&gt;
* Design West 2013&lt;br /&gt;
* Blackhat EU 2013&lt;br /&gt;
* AtlSecCon 2013&lt;br /&gt;
* Blackhat Abu Dhabi 2012&lt;br /&gt;
&lt;br /&gt;
== Extra Notes ==&lt;br /&gt;
&lt;br /&gt;
See the page [[Thanks]] for a note about the people who made this project possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ChipWhisperer is a Trademark of NewAE Technology Inc., registered in the U.S, the European Union, and China.&lt;br /&gt;
&lt;br /&gt;
ChipSHOUTER is a Trademark of NewAE Technology Inc., registered in the European Union.&lt;br /&gt;
&lt;br /&gt;
Trademarks used with permission.&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW308T-STM32F/ChipWhisperer_Bootloader&amp;diff=4146</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=4146"/>
				<updated>2020-05-07T15:03:21Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Warningbox|These instructions have been updated for ChipWhisperer 5. If you're using and earlier version, see https://wiki.newae.com/V4:CW308T-STM32F/ChipWhisperer_Bootloader}}&lt;br /&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 connecting to the scope and target, then running &amp;lt;code&amp;gt;default_setup()&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
import chipwhisperer as cw&lt;br /&gt;
scope = cw.scope&lt;br /&gt;
target = cw.target(scope)&lt;br /&gt;
scope.default_setup()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* On the STM32F1, you MUST adjust the clock frequency to 8MHz. The bootloader does not work with our usual 7.37 MHz clock frequency. '''This 8MHz frequency does not apply to the code that you're running on the device. Once you're done programming, you'll need to set the frequency back to F_CPU (likely 7.37MHz)''' For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
scope.default_setup()&lt;br /&gt;
scope.clock.clkgen_freq = 8E6&lt;br /&gt;
#program target...&lt;br /&gt;
scope.clock.clkgen_freq = 7.37E6&lt;br /&gt;
#reset and run as usual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&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;
Run the following python code once you have the scope and target set up:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
prog = cw.programmers.STM32FProgrammer&lt;br /&gt;
cw.program_target(scope, prog, &amp;quot;&amp;lt;path to fw hex file&amp;gt;&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you get errors during the programming process:&lt;br /&gt;
* Retry the programming process with a lower baud rate:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
prog = cw.programmers.STM32FProgrammer&lt;br /&gt;
cw.program_target(scope, prog, &amp;quot;&amp;lt;path to fw hex file&amp;gt;&amp;quot;, baud=38400)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* If using a CW308 based STM, try 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;
# Setup the device as usual:&lt;br /&gt;
#:&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
scope = cw.scope()&lt;br /&gt;
target = cw.target(scope)&lt;br /&gt;
scope.default_setup()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&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;
#:&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
scope.io.target_pwr = False&lt;br /&gt;
time.sleep(1)&lt;br /&gt;
scope.io.target_pwr = True&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# Program the device:&lt;br /&gt;
#:&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
prog = cw.programmers.STM32FProgrammer&lt;br /&gt;
cw.program_target(scope, prog, &amp;quot;&amp;lt;path to fw hex file&amp;gt;&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# The device should program, it may take a moment to fully program/verify on larger devices.&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;
#:&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
scope.io.target_pwr = False&lt;br /&gt;
time.sleep(1)&lt;br /&gt;
scope.io.target_pwr = True&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW308T-STM32F/ChipWhisperer_Bootloader&amp;diff=4145</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=4145"/>
				<updated>2020-05-07T15:02:42Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Warningbox|These instructions have been updated for ChipWhisperer 5. If you're using and earlier version, see https://wiki.newae.com/V4:CW308T-STM32F/ChipWhisperer_Bootloader}}&lt;br /&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 connecting to the scope and target, then running &amp;lt;code&amp;gt;default_setup()&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
import chipwhisperer as cw&lt;br /&gt;
scope = cw.scope&lt;br /&gt;
target = cw.target(scope)&lt;br /&gt;
scope.default_setup()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* On the STM32F1, you MUST adjust the clock frequency to 8MHz. The bootloader does not work with our usual 7.37 MHz clock frequency. '''This 8MHz frequency does not apply to the code that you're running on the device. Once you're done programming, you'll need to set the frequency back to F_CPU (likely 7.37MHz)''' For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
scope.default_setup()&lt;br /&gt;
scope.clock.clkgen_freq = 8E6&lt;br /&gt;
#program target...&lt;br /&gt;
scope.clock.clkgen_freq = 7.37E6&lt;br /&gt;
#reset and run as usual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&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;
Run the following python code once you have the scope and target set up:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
prog = cw.programmers.STM32FProgrammer&lt;br /&gt;
cw.program_target(scope, prog, &amp;quot;&amp;lt;path to fw hex file&amp;gt;&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you get errors during the programming process:&lt;br /&gt;
* Retry the programming process with a lower baud rate:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
prog = cw.programmers.STM32FProgrammer&lt;br /&gt;
cw.program_target(scope, prog, &amp;quot;&amp;lt;path to fw hex file&amp;gt;&amp;quot;, baud=38400)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* If using a CW308 based STM, try 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;
# Setup the device as usual:&lt;br /&gt;
#:&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
scope = cw.scope()&lt;br /&gt;
target = cw.target(scope)&lt;br /&gt;
scope.default_setup()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&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;
#:&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
scope.io.target_pwr = False&lt;br /&gt;
time.sleep(1)&lt;br /&gt;
scope.io.target_pwr = True&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# Program the device:&lt;br /&gt;
#:&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
prog = cw.programmers.STM32FProgrammer&lt;br /&gt;
cw.program_target(scope, prog, &amp;quot;&amp;lt;path to fw hex file&amp;gt;&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# The device should program, it may take a moment to fully program/verify on larger devices.&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;
#:&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
scope.io.target_pwr = False&lt;br /&gt;
time.sleep(1)&lt;br /&gt;
scope.io.target_pwr = True&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=File:DPA_3_Subkey_Offset.png&amp;diff=4144</id>
		<title>File:DPA 3 Subkey Offset.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=File:DPA_3_Subkey_Offset.png&amp;diff=4144"/>
				<updated>2020-03-20T18:59:56Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW1173_ChipWhisperer-Lite&amp;diff=4143</id>
		<title>CW1173 ChipWhisperer-Lite</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW1173_ChipWhisperer-Lite&amp;diff=4143"/>
				<updated>2020-03-12T20:17:03Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: /* Capture and Attack Quickstart */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Warningbox|This page has been recently updated for the ChipWhisperer 5 release. The previous version can be found here: https://wiki.newae.com/V4:CW1173_ChipWhisperer-Lite.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;expandall&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ChipWhisperer-Lite Bare Board consists of two main parts: a multi-purpose power analysis capture instrument, and a target board. The target board is a standard microcontroller which you can implement algorithms onto. For example if you wish to evaluate an AES library, you can program that library into the target board and perform the power analysis.&lt;br /&gt;
&lt;br /&gt;
[[File:cwlite_basic.png|image]]&lt;br /&gt;
&lt;br /&gt;
== Quick-Start Guide ==&lt;br /&gt;
&lt;br /&gt;
You can see a [http://www.youtube.com/watch?v=MJmkYqA-LeM&amp;amp;hd=1 Video] of the quickstart guide, which will take you through all the setup items discussed here:&lt;br /&gt;
&lt;br /&gt;
[[File:cwlite_demo_video.png|link=http://www.youtube.com/watch?v=MJmkYqA-LeM&amp;amp;hd=1]]&lt;br /&gt;
&lt;br /&gt;
== Connection Quick-Start ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Follow the [[Installing ChipWhisperer]] instructions for the ChipWhisperer software and its prerequisites.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Connect ChipWhisperer-Lite, install USB Drivers:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Windows:&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Plug micro-USB cable into ChipWhisperer-Lite&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the &amp;amp;quot;New Hardware Found&amp;amp;quot; wizard doesn't prompt you for drivers, go to the control panel and find the &amp;amp;quot;ChipWhisperer-Lite&amp;amp;quot; device, and select &amp;quot;Update Drivers&amp;quot;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;You can find drivers in &amp;lt;code&amp;gt;c:\chipwhisperer\hardware\capture\chipwhisperer-lite\&amp;lt;/code&amp;gt;. You will likely need to extract them from the &amp;lt;code&amp;gt;cwlite_usb_driver.zip&amp;lt;/code&amp;gt; file. If so simply extract them somewhere (i.e. your desktop), and then point the new hardware found wizard to that location.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Linux:&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Driver installation is not required, but if you do not update the 'udev' system, you will be unable to run ChipWhisperer-Capture as a regular user. To update the udev system, first make sure the ChipWhisperer-Lite is Make a file called &amp;lt;code&amp;gt;/etc/udev/rules.d/99-cwlite.rules&amp;lt;/code&amp;gt; . The contents of this file should be:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# allow users to claim the device&lt;br /&gt;
SUBSYSTEM==&amp;amp;quot;usb&amp;amp;quot;, ATTRS{idVendor}==&amp;amp;quot;2b3e&amp;amp;quot;, ATTRS{idProduct}==&amp;amp;quot;ace2&amp;amp;quot;, MODE=&amp;amp;quot;0664&amp;amp;quot;, GROUP=&amp;amp;quot;plugdev&amp;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;Add your username to the plugdev group:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo usermod -a -G plugdev YOUR-USERNAME&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;And reset the udev system:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo udevadm control --reload-rules&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Finally log out &amp;amp;amp; in again for the group change to take effect.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Connect the micro-USB cable&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;MAC:&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;No special installation required - must ensure you have installed libusb via homebrew (see instructions at [[MacOSX_Installation]]).&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&amp;lt;/dl&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;To check for a successful installation, connect to the ChipWhisperer. This can be done from one of two ways:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open up a terminal and run python. Next, run &amp;lt;code&amp;gt;import chipwhisperer as cw; scope = cw.scope()&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open Jupyter Notebook and open PA_Intro_1-Firmware_Build_Setup.ipynb. On the toolbar, click Cell&amp;gt;Run All. If the tutorial completes successfully, your installation should be good to go!&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information on starting ChipWhisperer, see: https://chipwhisperer.readthedocs.io/en/latest/starting.html&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Capture and Attack Quickstart ==&lt;br /&gt;
See https://chipwhisperer.readthedocs.io/en/latest/tutorials.html#correlation-power-analysis for an example attack.&lt;br /&gt;
&lt;br /&gt;
== Important Bugs/Caveats ==&lt;br /&gt;
&lt;br /&gt;
The following includes various things that might trip you up:&lt;br /&gt;
&lt;br /&gt;
# A &amp;quot;device has no langID&amp;quot; or similar error message may appear when connecting to your ChipWhisperer. This indicates that the ChipWhisperer is connected, but that we're unable to communicate with it. For example, if you're on Linux and skipped the 99-newae.rules part of the installation, you won't have the correct permissions to access the device.&lt;br /&gt;
# There are a few warnings/exceptions that come up (i.e. divide-by-zero). Generally just keep going and see if things are still working. A number of those are on the ''TODO'' list to fix but I didn't get around to it yet.&lt;br /&gt;
# By default the XMEGA device was programmed with a partial AES implementation only. This is done to avoid any crypto export issues. This does not affect your side-channel analysis, but be aware the returned value might not appear to be correct (since only the first couple rounds of AES occurred).&lt;br /&gt;
&lt;br /&gt;
== Basic Usage Instructions ==&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === AVR Programmer ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/AVR Programmer}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === XMEGA Programmer ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/XMEGA Programmer}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === STM32F Programmer ===&lt;br /&gt;
|content= CW308T-STM32F/ChipWhisperer_Bootloader}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Using Glitch Port ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/Glitch Port}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Using Measure Port ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/Measure Port}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === 20-Pin Connector ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/20-Pin Connector}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === 8-Pin SmartCard Connector ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/8-Pin SmartCard Connector}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Upgrading SAM3U Firmware ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/Upgrading SAM3U Firmware}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Breaking Target Section Apart ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/Breaking Target Section Apart&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Advanced Usage ==&lt;br /&gt;
&lt;br /&gt;
=== Mounting Jumpers ===&lt;br /&gt;
&lt;br /&gt;
Note the ChipWhisperer-Lite main board and target section contain a number of jumper options. By default these are not mounted, and solder jumper bridges on the PCB have been bridged to select the appropriate options when required. Some options are only solder jumpers, which to move the jumper requires a soldering iron to bridge or clear the appropriate connections.&lt;br /&gt;
&lt;br /&gt;
The following lists jumpers on the ChipWhisperer-Lite / Target Section:&lt;br /&gt;
&lt;br /&gt;
; Capture Section Jumpers&lt;br /&gt;
* JP4 is the &amp;quot;RESET&amp;quot; net for the SAM3U processor.&lt;br /&gt;
* JP2 causes the SAM3U processor flash memory to be erased. When the chip is erased a rom-resident bootloader takes over. See section XXXXX for bootloader details.&lt;br /&gt;
* JP5 selects the IO voltage for the FPGA bank which connects to the 20-pin target. By default SJ6 selects this to be 3.3V. It is not recommended to change this, as it is easy to damage the FPGA by feeding an out-of-range voltage in.&lt;br /&gt;
* SJ1 selects if the power supply comes from the Micro-USB connector (default) or an external 5V supply at the +5VIN pin.&lt;br /&gt;
; Target Section Jumpers:&lt;br /&gt;
* JP7 connects the &amp;quot;MEASURE&amp;quot; SMA to the XMEGA VCC Rail. Shorted by default with SJ4.&lt;br /&gt;
* JP6 connects the &amp;quot;GLITCH&amp;quot; SMA to the XMEGA VCC Rail. Shorted by default with SJ5.&lt;br /&gt;
* JP12 can be used to feed an external voltage into the XMEGA VCC Rail. By default SJ3 connects this to 3.3V.&lt;br /&gt;
* SJ2 selects if the 3.3V rail comes from the 20-pin IDC connector (i.e. ChipWhisperer-Lite board), or via an optional LDO and USB connector.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Schematic ===&lt;br /&gt;
[https://github.com/newaetech/chipwhisperer/blob/master/hardware/capture/chipwhisperer-lite/pcb/cw-lite-main.pdf Link to PDF]&lt;br /&gt;
&lt;br /&gt;
(Expand for inline images of schematic)&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/Schematic &lt;br /&gt;
}}&lt;br /&gt;
== Hardware ==&lt;br /&gt;
{{Template:Hardware}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Capture Hardware]]&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW1173_ChipWhisperer-Lite&amp;diff=4142</id>
		<title>CW1173 ChipWhisperer-Lite</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW1173_ChipWhisperer-Lite&amp;diff=4142"/>
				<updated>2020-03-12T20:16:01Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: /* Important Bugs/Caveats */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Warningbox|This page has been recently updated for the ChipWhisperer 5 release. The previous version can be found here: https://wiki.newae.com/V4:CW1173_ChipWhisperer-Lite.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;expandall&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ChipWhisperer-Lite Bare Board consists of two main parts: a multi-purpose power analysis capture instrument, and a target board. The target board is a standard microcontroller which you can implement algorithms onto. For example if you wish to evaluate an AES library, you can program that library into the target board and perform the power analysis.&lt;br /&gt;
&lt;br /&gt;
[[File:cwlite_basic.png|image]]&lt;br /&gt;
&lt;br /&gt;
== Quick-Start Guide ==&lt;br /&gt;
&lt;br /&gt;
You can see a [http://www.youtube.com/watch?v=MJmkYqA-LeM&amp;amp;hd=1 Video] of the quickstart guide, which will take you through all the setup items discussed here:&lt;br /&gt;
&lt;br /&gt;
[[File:cwlite_demo_video.png|link=http://www.youtube.com/watch?v=MJmkYqA-LeM&amp;amp;hd=1]]&lt;br /&gt;
&lt;br /&gt;
== Connection Quick-Start ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Follow the [[Installing ChipWhisperer]] instructions for the ChipWhisperer software and its prerequisites.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Connect ChipWhisperer-Lite, install USB Drivers:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Windows:&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Plug micro-USB cable into ChipWhisperer-Lite&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the &amp;amp;quot;New Hardware Found&amp;amp;quot; wizard doesn't prompt you for drivers, go to the control panel and find the &amp;amp;quot;ChipWhisperer-Lite&amp;amp;quot; device, and select &amp;quot;Update Drivers&amp;quot;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;You can find drivers in &amp;lt;code&amp;gt;c:\chipwhisperer\hardware\capture\chipwhisperer-lite\&amp;lt;/code&amp;gt;. You will likely need to extract them from the &amp;lt;code&amp;gt;cwlite_usb_driver.zip&amp;lt;/code&amp;gt; file. If so simply extract them somewhere (i.e. your desktop), and then point the new hardware found wizard to that location.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Linux:&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Driver installation is not required, but if you do not update the 'udev' system, you will be unable to run ChipWhisperer-Capture as a regular user. To update the udev system, first make sure the ChipWhisperer-Lite is Make a file called &amp;lt;code&amp;gt;/etc/udev/rules.d/99-cwlite.rules&amp;lt;/code&amp;gt; . The contents of this file should be:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# allow users to claim the device&lt;br /&gt;
SUBSYSTEM==&amp;amp;quot;usb&amp;amp;quot;, ATTRS{idVendor}==&amp;amp;quot;2b3e&amp;amp;quot;, ATTRS{idProduct}==&amp;amp;quot;ace2&amp;amp;quot;, MODE=&amp;amp;quot;0664&amp;amp;quot;, GROUP=&amp;amp;quot;plugdev&amp;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;Add your username to the plugdev group:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo usermod -a -G plugdev YOUR-USERNAME&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;And reset the udev system:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo udevadm control --reload-rules&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Finally log out &amp;amp;amp; in again for the group change to take effect.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Connect the micro-USB cable&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;MAC:&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;No special installation required - must ensure you have installed libusb via homebrew (see instructions at [[MacOSX_Installation]]).&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&amp;lt;/dl&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;To check for a successful installation, connect to the ChipWhisperer. This can be done from one of two ways:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open up a terminal and run python. Next, run &amp;lt;code&amp;gt;import chipwhisperer as cw; scope = cw.scope()&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open Jupyter Notebook and open PA_Intro_1-Firmware_Build_Setup.ipynb. On the toolbar, click Cell&amp;gt;Run All. If the tutorial completes successfully, your installation should be good to go!&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information on starting ChipWhisperer, see: https://chipwhisperer.readthedocs.io/en/latest/starting.html&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Capture and Attack Quickstart ==&lt;br /&gt;
&lt;br /&gt;
# See [[Tutorial_B5_Breaking_AES_(Straightforward)]]for details. Note the hardware setup is slightly different -- but you can skip to step 5.5.3, and should be able to pick up from there. Be sure to use the &amp;lt;code&amp;gt;ChipWhisperer-Lite: AES SimpleSerial on XMEGA&amp;lt;/code&amp;gt; script instead of the one referenced in step 5.5.3.&lt;br /&gt;
&lt;br /&gt;
== Important Bugs/Caveats ==&lt;br /&gt;
&lt;br /&gt;
The following includes various things that might trip you up:&lt;br /&gt;
&lt;br /&gt;
# A &amp;quot;device has no langID&amp;quot; or similar error message may appear when connecting to your ChipWhisperer. This indicates that the ChipWhisperer is connected, but that we're unable to communicate with it. For example, if you're on Linux and skipped the 99-newae.rules part of the installation, you won't have the correct permissions to access the device.&lt;br /&gt;
# There are a few warnings/exceptions that come up (i.e. divide-by-zero). Generally just keep going and see if things are still working. A number of those are on the ''TODO'' list to fix but I didn't get around to it yet.&lt;br /&gt;
# By default the XMEGA device was programmed with a partial AES implementation only. This is done to avoid any crypto export issues. This does not affect your side-channel analysis, but be aware the returned value might not appear to be correct (since only the first couple rounds of AES occurred).&lt;br /&gt;
&lt;br /&gt;
== Basic Usage Instructions ==&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === AVR Programmer ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/AVR Programmer}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === XMEGA Programmer ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/XMEGA Programmer}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === STM32F Programmer ===&lt;br /&gt;
|content= CW308T-STM32F/ChipWhisperer_Bootloader}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Using Glitch Port ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/Glitch Port}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Using Measure Port ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/Measure Port}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === 20-Pin Connector ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/20-Pin Connector}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === 8-Pin SmartCard Connector ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/8-Pin SmartCard Connector}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Upgrading SAM3U Firmware ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/Upgrading SAM3U Firmware}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Breaking Target Section Apart ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/Breaking Target Section Apart&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Advanced Usage ==&lt;br /&gt;
&lt;br /&gt;
=== Mounting Jumpers ===&lt;br /&gt;
&lt;br /&gt;
Note the ChipWhisperer-Lite main board and target section contain a number of jumper options. By default these are not mounted, and solder jumper bridges on the PCB have been bridged to select the appropriate options when required. Some options are only solder jumpers, which to move the jumper requires a soldering iron to bridge or clear the appropriate connections.&lt;br /&gt;
&lt;br /&gt;
The following lists jumpers on the ChipWhisperer-Lite / Target Section:&lt;br /&gt;
&lt;br /&gt;
; Capture Section Jumpers&lt;br /&gt;
* JP4 is the &amp;quot;RESET&amp;quot; net for the SAM3U processor.&lt;br /&gt;
* JP2 causes the SAM3U processor flash memory to be erased. When the chip is erased a rom-resident bootloader takes over. See section XXXXX for bootloader details.&lt;br /&gt;
* JP5 selects the IO voltage for the FPGA bank which connects to the 20-pin target. By default SJ6 selects this to be 3.3V. It is not recommended to change this, as it is easy to damage the FPGA by feeding an out-of-range voltage in.&lt;br /&gt;
* SJ1 selects if the power supply comes from the Micro-USB connector (default) or an external 5V supply at the +5VIN pin.&lt;br /&gt;
; Target Section Jumpers:&lt;br /&gt;
* JP7 connects the &amp;quot;MEASURE&amp;quot; SMA to the XMEGA VCC Rail. Shorted by default with SJ4.&lt;br /&gt;
* JP6 connects the &amp;quot;GLITCH&amp;quot; SMA to the XMEGA VCC Rail. Shorted by default with SJ5.&lt;br /&gt;
* JP12 can be used to feed an external voltage into the XMEGA VCC Rail. By default SJ3 connects this to 3.3V.&lt;br /&gt;
* SJ2 selects if the 3.3V rail comes from the 20-pin IDC connector (i.e. ChipWhisperer-Lite board), or via an optional LDO and USB connector.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Schematic ===&lt;br /&gt;
[https://github.com/newaetech/chipwhisperer/blob/master/hardware/capture/chipwhisperer-lite/pcb/cw-lite-main.pdf Link to PDF]&lt;br /&gt;
&lt;br /&gt;
(Expand for inline images of schematic)&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/Schematic &lt;br /&gt;
}}&lt;br /&gt;
== Hardware ==&lt;br /&gt;
{{Template:Hardware}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Capture Hardware]]&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW1173_ChipWhisperer-Lite/Upgrading_SAM3U_Firmware&amp;diff=4141</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=4141"/>
				<updated>2020-03-12T19:33:00Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Warningbox|This section has been recently updated for ChipWhisperer 5. The previous version can be found here: https://wiki.newae.com/V4:CW1173_ChipWhisperer-Lite/Upgrading_SAM3U_Firmware}}&lt;br /&gt;
&lt;br /&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;
See https://chipwhisperer.readthedocs.io/en/latest/api.html#firmware-update for instructions on how to update the SAM3U firmware.&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>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW1173_ChipWhisperer-Lite/Upgrading_SAM3U_Firmware&amp;diff=4140</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=4140"/>
				<updated>2020-03-12T19:30:17Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Warningbox|This section has been recently updated for ChipWhisperer 5. The previous version can be found here: https://wiki.newae.com/V4:CW1173_ChipWhisperer-Lite/Upgrading_SAM3U_Firmware}}&lt;br /&gt;
&lt;br /&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 ''CW Firmware Preferences''&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>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=V4:CW1173_ChipWhisperer-Lite/Upgrading_SAM3U_Firmware&amp;diff=4139</id>
		<title>V4:CW1173 ChipWhisperer-Lite/Upgrading SAM3U Firmware</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=V4:CW1173_ChipWhisperer-Lite/Upgrading_SAM3U_Firmware&amp;diff=4139"/>
				<updated>2020-03-12T19:29:19Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: Created page with &amp;quot;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...&amp;quot;&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 ''CW Firmware Preferences''&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>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW1173_ChipWhisperer-Lite&amp;diff=4138</id>
		<title>CW1173 ChipWhisperer-Lite</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW1173_ChipWhisperer-Lite&amp;diff=4138"/>
				<updated>2020-03-12T19:27:22Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Warningbox|This page has been recently updated for the ChipWhisperer 5 release. The previous version can be found here: https://wiki.newae.com/V4:CW1173_ChipWhisperer-Lite.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;expandall&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ChipWhisperer-Lite Bare Board consists of two main parts: a multi-purpose power analysis capture instrument, and a target board. The target board is a standard microcontroller which you can implement algorithms onto. For example if you wish to evaluate an AES library, you can program that library into the target board and perform the power analysis.&lt;br /&gt;
&lt;br /&gt;
[[File:cwlite_basic.png|image]]&lt;br /&gt;
&lt;br /&gt;
== Quick-Start Guide ==&lt;br /&gt;
&lt;br /&gt;
You can see a [http://www.youtube.com/watch?v=MJmkYqA-LeM&amp;amp;hd=1 Video] of the quickstart guide, which will take you through all the setup items discussed here:&lt;br /&gt;
&lt;br /&gt;
[[File:cwlite_demo_video.png|link=http://www.youtube.com/watch?v=MJmkYqA-LeM&amp;amp;hd=1]]&lt;br /&gt;
&lt;br /&gt;
== Connection Quick-Start ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Follow the [[Installing ChipWhisperer]] instructions for the ChipWhisperer software and its prerequisites.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Connect ChipWhisperer-Lite, install USB Drivers:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Windows:&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Plug micro-USB cable into ChipWhisperer-Lite&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the &amp;amp;quot;New Hardware Found&amp;amp;quot; wizard doesn't prompt you for drivers, go to the control panel and find the &amp;amp;quot;ChipWhisperer-Lite&amp;amp;quot; device, and select &amp;quot;Update Drivers&amp;quot;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;You can find drivers in &amp;lt;code&amp;gt;c:\chipwhisperer\hardware\capture\chipwhisperer-lite\&amp;lt;/code&amp;gt;. You will likely need to extract them from the &amp;lt;code&amp;gt;cwlite_usb_driver.zip&amp;lt;/code&amp;gt; file. If so simply extract them somewhere (i.e. your desktop), and then point the new hardware found wizard to that location.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Linux:&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Driver installation is not required, but if you do not update the 'udev' system, you will be unable to run ChipWhisperer-Capture as a regular user. To update the udev system, first make sure the ChipWhisperer-Lite is Make a file called &amp;lt;code&amp;gt;/etc/udev/rules.d/99-cwlite.rules&amp;lt;/code&amp;gt; . The contents of this file should be:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# allow users to claim the device&lt;br /&gt;
SUBSYSTEM==&amp;amp;quot;usb&amp;amp;quot;, ATTRS{idVendor}==&amp;amp;quot;2b3e&amp;amp;quot;, ATTRS{idProduct}==&amp;amp;quot;ace2&amp;amp;quot;, MODE=&amp;amp;quot;0664&amp;amp;quot;, GROUP=&amp;amp;quot;plugdev&amp;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;Add your username to the plugdev group:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo usermod -a -G plugdev YOUR-USERNAME&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;And reset the udev system:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo udevadm control --reload-rules&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Finally log out &amp;amp;amp; in again for the group change to take effect.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Connect the micro-USB cable&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;MAC:&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;No special installation required - must ensure you have installed libusb via homebrew (see instructions at [[MacOSX_Installation]]).&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&amp;lt;/dl&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;To check for a successful installation, connect to the ChipWhisperer. This can be done from one of two ways:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open up a terminal and run python. Next, run &amp;lt;code&amp;gt;import chipwhisperer as cw; scope = cw.scope()&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open Jupyter Notebook and open PA_Intro_1-Firmware_Build_Setup.ipynb. On the toolbar, click Cell&amp;gt;Run All. If the tutorial completes successfully, your installation should be good to go!&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information on starting ChipWhisperer, see: https://chipwhisperer.readthedocs.io/en/latest/starting.html&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Capture and Attack Quickstart ==&lt;br /&gt;
&lt;br /&gt;
# See [[Tutorial_B5_Breaking_AES_(Straightforward)]]for details. Note the hardware setup is slightly different -- but you can skip to step 5.5.3, and should be able to pick up from there. Be sure to use the &amp;lt;code&amp;gt;ChipWhisperer-Lite: AES SimpleSerial on XMEGA&amp;lt;/code&amp;gt; script instead of the one referenced in step 5.5.3.&lt;br /&gt;
&lt;br /&gt;
== Important Bugs/Caveats ==&lt;br /&gt;
&lt;br /&gt;
The following includes various things that might trip you up:&lt;br /&gt;
&lt;br /&gt;
# If you save the project ''before'' running the capture, you can specify any directory. Traces will be copied to the appropriate location during capture.&lt;br /&gt;
# If you save the project ''after'' running the capture, you must save the project to the same directory that &amp;amp;quot;default-data-dir&amp;amp;quot; exists in. This is normally the folder from where you invoked the Python GUI.&lt;br /&gt;
# There are a few warnings/exceptions that come up (i.e. divide-by-zero). Generally just keep going and see if things are still working. A number of those are on the ''TODO'' list to fix but I didn't get around to it yet.&lt;br /&gt;
# The &amp;amp;quot;Total Ops&amp;amp;quot; window which checks for proper AES operation requires PyCrypto to be installed.&lt;br /&gt;
# By default the XMEGA device was programmed with a partial AES implementation only. This is done to avoid any crypto export issues. This does not affect your side-channel analysis, but be aware the returned value might not appear to be correct (since only the first couple rounds of AES occurred).&lt;br /&gt;
&lt;br /&gt;
== Basic Usage Instructions ==&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === AVR Programmer ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/AVR Programmer}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === XMEGA Programmer ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/XMEGA Programmer}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === STM32F Programmer ===&lt;br /&gt;
|content= CW308T-STM32F/ChipWhisperer_Bootloader}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Using Glitch Port ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/Glitch Port}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Using Measure Port ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/Measure Port}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === 20-Pin Connector ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/20-Pin Connector}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === 8-Pin SmartCard Connector ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/8-Pin SmartCard Connector}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Upgrading SAM3U Firmware ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/Upgrading SAM3U Firmware}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Breaking Target Section Apart ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/Breaking Target Section Apart&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Advanced Usage ==&lt;br /&gt;
&lt;br /&gt;
=== Mounting Jumpers ===&lt;br /&gt;
&lt;br /&gt;
Note the ChipWhisperer-Lite main board and target section contain a number of jumper options. By default these are not mounted, and solder jumper bridges on the PCB have been bridged to select the appropriate options when required. Some options are only solder jumpers, which to move the jumper requires a soldering iron to bridge or clear the appropriate connections.&lt;br /&gt;
&lt;br /&gt;
The following lists jumpers on the ChipWhisperer-Lite / Target Section:&lt;br /&gt;
&lt;br /&gt;
; Capture Section Jumpers&lt;br /&gt;
* JP4 is the &amp;quot;RESET&amp;quot; net for the SAM3U processor.&lt;br /&gt;
* JP2 causes the SAM3U processor flash memory to be erased. When the chip is erased a rom-resident bootloader takes over. See section XXXXX for bootloader details.&lt;br /&gt;
* JP5 selects the IO voltage for the FPGA bank which connects to the 20-pin target. By default SJ6 selects this to be 3.3V. It is not recommended to change this, as it is easy to damage the FPGA by feeding an out-of-range voltage in.&lt;br /&gt;
* SJ1 selects if the power supply comes from the Micro-USB connector (default) or an external 5V supply at the +5VIN pin.&lt;br /&gt;
; Target Section Jumpers:&lt;br /&gt;
* JP7 connects the &amp;quot;MEASURE&amp;quot; SMA to the XMEGA VCC Rail. Shorted by default with SJ4.&lt;br /&gt;
* JP6 connects the &amp;quot;GLITCH&amp;quot; SMA to the XMEGA VCC Rail. Shorted by default with SJ5.&lt;br /&gt;
* JP12 can be used to feed an external voltage into the XMEGA VCC Rail. By default SJ3 connects this to 3.3V.&lt;br /&gt;
* SJ2 selects if the 3.3V rail comes from the 20-pin IDC connector (i.e. ChipWhisperer-Lite board), or via an optional LDO and USB connector.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Schematic ===&lt;br /&gt;
[https://github.com/newaetech/chipwhisperer/blob/master/hardware/capture/chipwhisperer-lite/pcb/cw-lite-main.pdf Link to PDF]&lt;br /&gt;
&lt;br /&gt;
(Expand for inline images of schematic)&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/Schematic &lt;br /&gt;
}}&lt;br /&gt;
== Hardware ==&lt;br /&gt;
{{Template:Hardware}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Capture Hardware]]&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW1173_ChipWhisperer-Lite/Glitch_Port&amp;diff=4137</id>
		<title>CW1173 ChipWhisperer-Lite/Glitch Port</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW1173_ChipWhisperer-Lite/Glitch_Port&amp;diff=4137"/>
				<updated>2020-03-12T19:24:30Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Warningbox|This section has been recently updated for ChipWhisperer 5. The previous version can be found here: https://wiki.newae.com/V4:CW1173_ChipWhisperer-Lite/XMEGA_Programmer}}&lt;br /&gt;
The &amp;amp;quot;GLITCH&amp;amp;quot; port is used for voltage glitching. It's connected to two MOSFET elements, as the following figure shows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;[[File:glitch_lp_hp.png|image]]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
The CW1173 glitch output can be commanded to turn on either of those MOSFETs via &amp;lt;code&amp;gt;scope.io.glitch_hp&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;scope.io.glitch_lp&amp;lt;/code&amp;gt; fields:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
scope.io.glitch_hp = True #enable high power glitch&lt;br /&gt;
scope.io.glitch_hp = False #disable high power glitch&lt;br /&gt;
&lt;br /&gt;
scope.io.glitch_lp = True #enable low power glitch&lt;br /&gt;
scope.io.glitch_lp = False #disable low power glitch&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Be careful using this feature, as you don't want to short the MOSFETs for too long. It's also possible to damage the ChipWhisperer-Lite by burning these MOSFETs up if used incorrectly. See tutorial Fault_2 (https://chipwhisperer.readthedocs.io/en/latest/tutorials/fault_2-openadc-cwlitearm.html#tutorial-fault-2-openadc-cwlitearm) for more information.&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=V4:CW1173_ChipWhisperer-Lite/Glitch_Port&amp;diff=4136</id>
		<title>V4:CW1173 ChipWhisperer-Lite/Glitch Port</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=V4:CW1173_ChipWhisperer-Lite/Glitch_Port&amp;diff=4136"/>
				<updated>2020-03-12T19:21:43Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: Created page with &amp;quot;The &amp;amp;quot;GLITCH&amp;amp;quot; port is used for voltage glitching. It's connected to two MOSFET elements, as the following figure shows:  &amp;lt;blockquote&amp;gt;image &amp;lt;...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;amp;quot;GLITCH&amp;amp;quot; port is used for voltage glitching. It's connected to two MOSFET elements, as the following figure shows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;[[File:glitch_lp_hp.png|image]]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
The CW1173 glitch output can be commanded to turn on either of those MOSFETs via the &amp;amp;quot;Glitch Out Enable&amp;amp;quot; checkboxes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;[[File:glitch_gui.png|image]]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Be careful using this feature, as you don't want to short the MOSFETs for too long. It's also possible to damage the ChipWhisperer-Lite by burning these MOSFETs up if used incorrectly. See tutorial #A3 for more information on using this feature.&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW308T-STM32F/ChipWhisperer_Bootloader&amp;diff=4135</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=4135"/>
				<updated>2020-03-12T19:21:01Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Warningbox|These instructions have been updated for ChipWhisperer 5. If you're using and earlier version, see https://wiki.newae.com/V4:CW308T-STM32F/ChipWhisperer_Bootloader}}&lt;br /&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 connecting to the scope and target, then running &amp;lt;code&amp;gt;default_setup()&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
import chipwhisperer as cw&lt;br /&gt;
scope = cw.scope&lt;br /&gt;
target = cw.target(scope)&lt;br /&gt;
scope.default_setup()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* On the STM32F1, you MUST adjust the clock frequency to 8MHz. The bootloader does not work with our usual 7.37 MHz clock frequency. '''This 8MHz frequency does not apply to the code that you're running on the device. Once you're done programming, you'll need to set the frequency back to F_CPU (likely 7.37MHz)''' For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
scope.default_setup()&lt;br /&gt;
scope.clock.clkgen_freq = 8E6&lt;br /&gt;
#program target...&lt;br /&gt;
scope.clock.clkgen_freq = 7.37E6&lt;br /&gt;
#reset and run as usual&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&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;
Run the following python code once you have the scope and target set up:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
prog = cw.programmers.STM32FProgrammer&lt;br /&gt;
cw.program_target(scope, prog, &amp;quot;&amp;lt;path to fw hex file&amp;gt;&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you get errors during the programming process:&lt;br /&gt;
* Retry the programming process with a lower baud rate:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
prog = cw.programmers.STM32FProgrammer&lt;br /&gt;
cw.program_target(scope, prog, &amp;quot;&amp;lt;path to fw hex file&amp;gt;&amp;quot;, baud=38400)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* If using a CW308 based STM, try 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;
# Setup the device as usual:&lt;br /&gt;
#:&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
scope = cw.scope()&lt;br /&gt;
target = cw.target(scope)&lt;br /&gt;
scope.default_setup()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&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;
#:&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
scope.io.target_pwr = False&lt;br /&gt;
time.sleep(1)&lt;br /&gt;
scope.io.target_pwr = True&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# Program the device:&lt;br /&gt;
#:&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
prog = cw.programmers.STM32FProgrammer&lt;br /&gt;
cw.program_target(scope, prog, &amp;quot;&amp;lt;path to fw hex file&amp;gt;&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# The device should program, it may take a moment to fully program/verify on larger devices.&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;
#:&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
scope.io.target_pwr = False&lt;br /&gt;
time.sleep(1)&lt;br /&gt;
scope.io.target_pwr = True&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW1173_ChipWhisperer-Lite/XMEGA_Programmer&amp;diff=4134</id>
		<title>CW1173 ChipWhisperer-Lite/XMEGA Programmer</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW1173_ChipWhisperer-Lite/XMEGA_Programmer&amp;diff=4134"/>
				<updated>2020-03-12T19:12:47Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Warningbox|This section has been recently updated for ChipWhisperer 5. The previous version can be found here: https://wiki.newae.com/V4:CW1173_ChipWhisperer-Lite/XMEGA_Programmer}}&lt;br /&gt;
&lt;br /&gt;
The XMEGA device programmer requires only two connections to the target: clock (PDIC) and data (PDID). The PDIC line is usually shared with the RESET pin, and the PDID pin is a specific pin on the XMEGA device. See [[#20-Pin_Connector]] for details of XMEGA programming pin connections. Once you have the scope setup, the programmer can be accessed through &amp;lt;code&amp;gt;cw.programmers.XMEGAProgrammer&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
prog = cw.programmers.XMEGAProgrammer&lt;br /&gt;
cw.program_target(scope, prog, &amp;quot;&amp;lt;path to fw hex file&amp;gt;&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW1173_ChipWhisperer-Lite/XMEGA_Programmer&amp;diff=4133</id>
		<title>CW1173 ChipWhisperer-Lite/XMEGA Programmer</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW1173_ChipWhisperer-Lite/XMEGA_Programmer&amp;diff=4133"/>
				<updated>2020-03-12T19:11:15Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Warningbox|This section has been recently updated for ChipWhisperer 5. The previous version can be found here: https://wiki.newae.com/V4:CW1173_ChipWhisperer-Lite/XMEGA_Programmer}}&lt;br /&gt;
&lt;br /&gt;
The XMEGA device programmer requires only two connections to the target: clock (PDIC) and data (PDID). The PDIC line is usually shared with the RESET pin, and the PDID pin is a specific pin on the XMEGA device. See [[#20-Pin_Connector]] for details of XMEGA programming pin connections. The programmer can be accessed through &amp;lt;code&amp;gt;cw.programmers.XMEGAProgrammer&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
prog = cw.programmers.XMEGAProgrammer&lt;br /&gt;
cw.program_target(scope, prog, &amp;quot;&amp;lt;path to fw hex file&amp;gt;&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=V4:CW1173_ChipWhisperer-Lite/XMEGA_Programmer&amp;diff=4132</id>
		<title>V4:CW1173 ChipWhisperer-Lite/XMEGA Programmer</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=V4:CW1173_ChipWhisperer-Lite/XMEGA_Programmer&amp;diff=4132"/>
				<updated>2020-03-12T19:06:05Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: Created page with &amp;quot; The XMEGA device programmer requires only two connections to the target: clock (PDIC) and data (PDID). The PDIC line is usually shared with the RESET pin, and the PDID pin is...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The XMEGA device programmer requires only two connections to the target: clock (PDIC) and data (PDID). The PDIC line is usually shared with the RESET pin, and the PDID pin is a specific pin on the XMEGA device. See [[#20-Pin_Connector]] for details of XMEGA programming pin connections.&lt;br /&gt;
&lt;br /&gt;
[[File:xmegaprog_main.png|image]]&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW1173_ChipWhisperer-Lite/AVR_Programmer&amp;diff=4131</id>
		<title>CW1173 ChipWhisperer-Lite/AVR Programmer</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW1173_ChipWhisperer-Lite/AVR_Programmer&amp;diff=4131"/>
				<updated>2020-03-12T19:05:23Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Warningbox|This section was recently updated for ChipWhisperer 5. The old version can be found here: https://wiki.newae.com/V4:CW1173_ChipWhisperer-Lite/AVR_Programmer.}}&lt;br /&gt;
The CW1173 and CW1200 have built-in support for programming either Atmel AVR or Atmel XMEGA device. This is designed to allow you to program our target boards (including the built-in XMEGA target).&lt;br /&gt;
&lt;br /&gt;
Note this programmer is fairly simple, and ''does not'' provide all the features of a stand-alone programmer.&lt;br /&gt;
&lt;br /&gt;
The AVR device programmer requires four connections to the target: RESET, MOSI, MISO, SCK. See [[#20-Pin_Connector]] for details of AVR programming pin connections.&lt;br /&gt;
&lt;br /&gt;
==== Accessing the Programmer ====&lt;br /&gt;
&lt;br /&gt;
First, setup the ChipWhisperer as usual:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
import chipwhisperer as cw&lt;br /&gt;
scope = cw.scope()&lt;br /&gt;
target = cw.target(scope)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, the AVR programmer can be accessed through the cw.programmers.AVRProgrammer object:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
prog = cw.programmers.AVRProgrammer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== Programming the Flash ====&lt;br /&gt;
&lt;br /&gt;
Note to use the AVR programmer you may require a valid clock source for the AVR. It is suggested to use the default ChipWhisperer setup, which will generate a 7.37MHz clock:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
scope.default_setup()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that NewAE's Notduino targets have the transmit and receive pins swapped compared to the usual targets. If you're using one of these targets, swap them using the API:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
scope.io.tio1 = &amp;quot;serial_tx&amp;quot;&lt;br /&gt;
scope.io.tio2 = &amp;quot;serial_rx&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, try programming the device by calling &amp;lt;code&amp;gt;cw.program_target()&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
cw.program_target(scope, prog, &amp;quot;&amp;lt;path to hex file&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default SPI data rate for the programmer is too fast for devices which are running slower than 2 MHz. If programming a device with a clock source slower than 2 MHz, you will need to enable the &amp;amp;quot;Slow Clock Mode&amp;amp;quot;. In &amp;amp;quot;Slow Clock Mode&amp;amp;quot; the entire SAM3U and FPGA clock is changed from 96 MHz to 12 MHz. Note the default fuse bytes for a virgin ATMega328P result in a 1 MHz clock, so you will need to use &amp;amp;quot;slow clock mode&amp;amp;quot; to program the correct fuse bytes, after which point you will not need to use &amp;amp;quot;slow clock mode&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
To enable slow clock mode, call &amp;lt;code&amp;gt;program_target&amp;lt;/code&amp;gt; with an additional &amp;lt;code&amp;gt;slow_clock = True&amp;lt;/code&amp;gt; parameter:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
cw.program_target(scope, prog, &amp;quot;&amp;lt;path to hex file&amp;quot;, slow_clock=True)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;'''note'''&lt;br /&gt;
&lt;br /&gt;
The 'slow clock mode' is used to provide a slower SPI clock than would otherwise be possible. When switching into 'slow clock mode' it will cause all DCM blocks in the FPGA to become unlocked. You will need to reset the DCM blocks, or simply call &amp;lt;code&amp;gt;default_setup()&amp;lt;/code&amp;gt; again (this will reset the serial pins, so you'll have to swap them again if you're using a Notduino target).&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
==== Programming the Fuses ====&lt;br /&gt;
&lt;br /&gt;
By default the AVR programmer allows you to modify the LOW fuse byte only, as this byte controls the clock source selection. To change the value of the fuse byte, you'll need to manually setup the programmer:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
avr_programmer = prog(slow_clock=False) #call with slow_clock = True to enable the slow clock&lt;br /&gt;
avr_programmer.scope = scope&lt;br /&gt;
avr_programmer.open()&lt;br /&gt;
avr_programmer.find()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once that's accomplished, the readFuse() and writeFuse() methods can be used to read and write the fuse bits, respectively:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
fuse_vals = avr_programmer.readFuse(&amp;lt;value&amp;gt;)&lt;br /&gt;
avr_programmer.writeFuse(&amp;lt;value&amp;gt;, &amp;lt;lfuse&amp;gt;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
with &amp;lt;value&amp;gt; corresponding to one of the following: &amp;quot;low&amp;quot;, &amp;quot;high&amp;quot;, or &amp;quot;extended&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
See [http://eleccelerator.com/fusecalc/fusecalc.php?chip=atmega328p an Online Fuse Calculator] to better understand what the values mean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;'''tip'''&lt;br /&gt;
&lt;br /&gt;
; If programming a virgin ATMega328P device, the default low-fuse value of &amp;lt;code&amp;gt;62&amp;lt;/code&amp;gt; results in the internal 8 MHz oscillator being divided down to 1 MHz. Any external clock is ignored.&lt;br /&gt;
&lt;br /&gt;
The low fuse byte must be changed to &amp;lt;code&amp;gt;D0&amp;lt;/code&amp;gt; to use the external clock provided by the ChipWhisperer toolchain.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
==== Troubleshooting ====&lt;br /&gt;
&lt;br /&gt;
If you run into issues when programming the AVR, try the following troubleshooting methods:&lt;br /&gt;
&lt;br /&gt;
* Ensure the ChipWhisperer is outputting a clock if the target requires one.&lt;br /&gt;
* Ensure you have the serial pins the right way around&lt;br /&gt;
* Ensure the fuse bits are set correctly.&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=V4:CW1173_ChipWhisperer-Lite/AVR_Programmer&amp;diff=4130</id>
		<title>V4:CW1173 ChipWhisperer-Lite/AVR Programmer</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=V4:CW1173_ChipWhisperer-Lite/AVR_Programmer&amp;diff=4130"/>
				<updated>2020-03-12T17:19:49Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: Created page with &amp;quot;The CW1173 and CW1200 have built-in support for programming either Atmel AVR or Atmel XMEGA device. This is designed to allow you to program our target boards (including the b...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The CW1173 and CW1200 have built-in support for programming either Atmel AVR or Atmel XMEGA device. This is designed to allow you to program our target boards (including the built-in XMEGA target).&lt;br /&gt;
&lt;br /&gt;
Note this programmer is fairly simple, and ''does not'' provide all the features of a stand-alone programmer.&lt;br /&gt;
&lt;br /&gt;
The AVR device programmer requires four connections to the target: RESET, MOSI, MISO, SCK. See [[#20-Pin_Connector]] for details of AVR programming pin connections.&lt;br /&gt;
&lt;br /&gt;
==== Accessing the Programming ====&lt;br /&gt;
&lt;br /&gt;
To access the AVR Programmer, select the &amp;amp;quot;CW-Lite AVR Programmer&amp;amp;quot; from the pull-down Tools menu:&lt;br /&gt;
&lt;br /&gt;
[[File:avrprog_menu.png|image]]&lt;br /&gt;
&lt;br /&gt;
Which should give you the AVR Programmer Window.&lt;br /&gt;
&lt;br /&gt;
==== Clock Source Selection ====&lt;br /&gt;
&lt;br /&gt;
Note to use the AVR programmer you may require a valid clock source for the AVR. It is suggested to select one of the setup scripts (such as &amp;lt;code&amp;gt;ChipWhisperer-Lite: AES Simple-Serial on ATMega328P&amp;lt;/code&amp;gt;) which will generate a 7.37 MHz clock.&lt;br /&gt;
&lt;br /&gt;
Check if the device is found by pressing the &amp;amp;quot;Check Signature&amp;amp;quot; button. The status window will show the detected device based on the signature.&lt;br /&gt;
&lt;br /&gt;
[[File:avrprog_sigok.png|image]]&lt;br /&gt;
&lt;br /&gt;
If this fails, double-check connections, and ensure the clock source to the AVR is suitable. Note some errors will appear as part of the main window log:&lt;br /&gt;
&lt;br /&gt;
[[File:avrprog_fail.png|image]]&lt;br /&gt;
&lt;br /&gt;
The default SPI data rate for the programmer is too fast for devices which are running slower than 2 MHz. If programming a device with a clock source slower than 2 MHz, you will need to enable the &amp;amp;quot;Slow Clock Mode&amp;amp;quot;. In &amp;amp;quot;Slow Clock Mode&amp;amp;quot; the entire SAM3U and FPGA clock is changed from 96 MHz to 12 MHz. Note the default fuse bytes for a virgin ATMega328P result in a 1 MHz clock, so you will need to use &amp;amp;quot;slow clock mode&amp;amp;quot; to program the correct fuse bytes, after which point you will not need to use &amp;amp;quot;slow clock mode&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;'''note'''&lt;br /&gt;
&lt;br /&gt;
The 'slow clock mode' is used to provide a slower SPI clock than would otherwise be possible. When switching into 'slow clock mode' it will cause all DCM blocks in the FPGA to become unlocked. You will need to reset the DCM blocks, or simply restart the CW-Capture software and run the setup script.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
==== Programming the Fuses ====&lt;br /&gt;
&lt;br /&gt;
By default the AVR programmer allows you to modify the LOW fuse byte only, as this byte controls the clock source selection. To change the value of the fuse byte:&lt;br /&gt;
&lt;br /&gt;
# Press the &amp;amp;quot;Read Fuses&amp;amp;quot; button, and the values should be populated&lt;br /&gt;
# Specify the new low fuse value&lt;br /&gt;
# Hit &amp;amp;quot;Write Fuses&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
See [http://eleccelerator.com/fusecalc/fusecalc.php?chip=atmega328p an Online Fuse Calculator] to better understand what the values mean.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;'''tip'''&lt;br /&gt;
&lt;br /&gt;
; If programming a virgin ATMega328P device, the default low-fuse value of &amp;lt;code&amp;gt;62&amp;lt;/code&amp;gt; results in the internal 8 MHz oscillator being divided down to 1 MHz. Any external clock is ignored.&lt;br /&gt;
&lt;br /&gt;
The low fuse byte must be changed to &amp;lt;code&amp;gt;D0&amp;lt;/code&amp;gt; to use the external clock provided by the ChipWhisperer toolchain.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
==== Programming the Flash ====&lt;br /&gt;
&lt;br /&gt;
Programming the flash is accomplished by selecting the new .hex file in the &amp;amp;quot;Find&amp;amp;quot; menu, and pressing the &amp;amp;quot;Erase/Program/Verify FLASH&amp;amp;quot; button. The &amp;amp;quot;Status&amp;amp;quot; line will show the following information:&lt;br /&gt;
&lt;br /&gt;
* File programmed into device&lt;br /&gt;
* Time file was last modified (very useful to confirm you are using changed file when doing development)&lt;br /&gt;
* Status of verification, and number of bytes programmed/verified&lt;br /&gt;
&lt;br /&gt;
[[File:avrprog_progok.png|image]]&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW1173_ChipWhisperer-Lite&amp;diff=4129</id>
		<title>CW1173 ChipWhisperer-Lite</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW1173_ChipWhisperer-Lite&amp;diff=4129"/>
				<updated>2020-03-11T20:02:12Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: /* Connection Quick-Start */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Warningbox|This page has not yet been updated for the v5 release. Some information may be outdated.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;expandall&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ChipWhisperer-Lite Bare Board consists of two main parts: a multi-purpose power analysis capture instrument, and a target board. The target board is a standard microcontroller which you can implement algorithms onto. For example if you wish to evaluate an AES library, you can program that library into the target board and perform the power analysis.&lt;br /&gt;
&lt;br /&gt;
[[File:cwlite_basic.png|image]]&lt;br /&gt;
&lt;br /&gt;
== Quick-Start Guide ==&lt;br /&gt;
&lt;br /&gt;
You can see a [http://www.youtube.com/watch?v=MJmkYqA-LeM&amp;amp;hd=1 Video] of the quickstart guide, which will take you through all the setup items discussed here:&lt;br /&gt;
&lt;br /&gt;
[[File:cwlite_demo_video.png|link=http://www.youtube.com/watch?v=MJmkYqA-LeM&amp;amp;hd=1]]&lt;br /&gt;
&lt;br /&gt;
== Connection Quick-Start ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Follow the [[Installing ChipWhisperer]] instructions for the ChipWhisperer software and its prerequisites.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Connect ChipWhisperer-Lite, install USB Drivers:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Windows:&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Plug micro-USB cable into ChipWhisperer-Lite&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the &amp;amp;quot;New Hardware Found&amp;amp;quot; wizard doesn't prompt you for drivers, go to the control panel and find the &amp;amp;quot;ChipWhisperer-Lite&amp;amp;quot; device, and select &amp;quot;Update Drivers&amp;quot;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;You can find drivers in &amp;lt;code&amp;gt;c:\chipwhisperer\hardware\capture\chipwhisperer-lite\&amp;lt;/code&amp;gt;. You will likely need to extract them from the &amp;lt;code&amp;gt;cwlite_usb_driver.zip&amp;lt;/code&amp;gt; file. If so simply extract them somewhere (i.e. your desktop), and then point the new hardware found wizard to that location.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Linux:&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Driver installation is not required, but if you do not update the 'udev' system, you will be unable to run ChipWhisperer-Capture as a regular user. To update the udev system, first make sure the ChipWhisperer-Lite is Make a file called &amp;lt;code&amp;gt;/etc/udev/rules.d/99-cwlite.rules&amp;lt;/code&amp;gt; . The contents of this file should be:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# allow users to claim the device&lt;br /&gt;
SUBSYSTEM==&amp;amp;quot;usb&amp;amp;quot;, ATTRS{idVendor}==&amp;amp;quot;2b3e&amp;amp;quot;, ATTRS{idProduct}==&amp;amp;quot;ace2&amp;amp;quot;, MODE=&amp;amp;quot;0664&amp;amp;quot;, GROUP=&amp;amp;quot;plugdev&amp;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;Add your username to the plugdev group:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo usermod -a -G plugdev YOUR-USERNAME&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;And reset the udev system:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo udevadm control --reload-rules&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Finally log out &amp;amp;amp; in again for the group change to take effect.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Connect the micro-USB cable&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;MAC:&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;No special installation required - must ensure you have installed libusb via homebrew (see instructions at [[MacOSX_Installation]]).&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&amp;lt;/dl&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;To check for a successful installation, connect to the ChipWhisperer. This can be done from one of two ways:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open up a terminal and run python. Next, run &amp;lt;code&amp;gt;import chipwhisperer as cw; scope = cw.scope()&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open Jupyter Notebook and open PA_Intro_1-Firmware_Build_Setup.ipynb. On the toolbar, click Cell&amp;gt;Run All. If the tutorial completes successfully, your installation should be good to go!&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information on starting ChipWhisperer, see: https://chipwhisperer.readthedocs.io/en/latest/starting.html&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Capture and Attack Quickstart ==&lt;br /&gt;
&lt;br /&gt;
# See [[Tutorial_B5_Breaking_AES_(Straightforward)]]for details. Note the hardware setup is slightly different -- but you can skip to step 5.5.3, and should be able to pick up from there. Be sure to use the &amp;lt;code&amp;gt;ChipWhisperer-Lite: AES SimpleSerial on XMEGA&amp;lt;/code&amp;gt; script instead of the one referenced in step 5.5.3.&lt;br /&gt;
&lt;br /&gt;
== Important Bugs/Caveats ==&lt;br /&gt;
&lt;br /&gt;
The following includes various things that might trip you up:&lt;br /&gt;
&lt;br /&gt;
# If you save the project ''before'' running the capture, you can specify any directory. Traces will be copied to the appropriate location during capture.&lt;br /&gt;
# If you save the project ''after'' running the capture, you must save the project to the same directory that &amp;amp;quot;default-data-dir&amp;amp;quot; exists in. This is normally the folder from where you invoked the Python GUI.&lt;br /&gt;
# There are a few warnings/exceptions that come up (i.e. divide-by-zero). Generally just keep going and see if things are still working. A number of those are on the ''TODO'' list to fix but I didn't get around to it yet.&lt;br /&gt;
# The &amp;amp;quot;Total Ops&amp;amp;quot; window which checks for proper AES operation requires PyCrypto to be installed.&lt;br /&gt;
# By default the XMEGA device was programmed with a partial AES implementation only. This is done to avoid any crypto export issues. This does not affect your side-channel analysis, but be aware the returned value might not appear to be correct (since only the first couple rounds of AES occurred).&lt;br /&gt;
&lt;br /&gt;
== Basic Usage Instructions ==&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === AVR Programmer ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/AVR Programmer}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === XMEGA Programmer ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/XMEGA Programmer}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Using Glitch Port ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/Glitch Port}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Using Measure Port ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/Measure Port}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === 20-Pin Connector ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/20-Pin Connector}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === 8-Pin SmartCard Connector ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/8-Pin SmartCard Connector}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Upgrading SAM3U Firmware ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/Upgrading SAM3U Firmware}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Breaking Target Section Apart ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/Breaking Target Section Apart&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Advanced Usage ==&lt;br /&gt;
&lt;br /&gt;
=== Mounting Jumpers ===&lt;br /&gt;
&lt;br /&gt;
Note the ChipWhisperer-Lite main board and target section contain a number of jumper options. By default these are not mounted, and solder jumper bridges on the PCB have been bridged to select the appropriate options when required. Some options are only solder jumpers, which to move the jumper requires a soldering iron to bridge or clear the appropriate connections.&lt;br /&gt;
&lt;br /&gt;
The following lists jumpers on the ChipWhisperer-Lite / Target Section:&lt;br /&gt;
&lt;br /&gt;
; Capture Section Jumpers&lt;br /&gt;
* JP4 is the &amp;quot;RESET&amp;quot; net for the SAM3U processor.&lt;br /&gt;
* JP2 causes the SAM3U processor flash memory to be erased. When the chip is erased a rom-resident bootloader takes over. See section XXXXX for bootloader details.&lt;br /&gt;
* JP5 selects the IO voltage for the FPGA bank which connects to the 20-pin target. By default SJ6 selects this to be 3.3V. It is not recommended to change this, as it is easy to damage the FPGA by feeding an out-of-range voltage in.&lt;br /&gt;
* SJ1 selects if the power supply comes from the Micro-USB connector (default) or an external 5V supply at the +5VIN pin.&lt;br /&gt;
; Target Section Jumpers:&lt;br /&gt;
* JP7 connects the &amp;quot;MEASURE&amp;quot; SMA to the XMEGA VCC Rail. Shorted by default with SJ4.&lt;br /&gt;
* JP6 connects the &amp;quot;GLITCH&amp;quot; SMA to the XMEGA VCC Rail. Shorted by default with SJ5.&lt;br /&gt;
* JP12 can be used to feed an external voltage into the XMEGA VCC Rail. By default SJ3 connects this to 3.3V.&lt;br /&gt;
* SJ2 selects if the 3.3V rail comes from the 20-pin IDC connector (i.e. ChipWhisperer-Lite board), or via an optional LDO and USB connector.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Schematic ===&lt;br /&gt;
[https://github.com/newaetech/chipwhisperer/blob/master/hardware/capture/chipwhisperer-lite/pcb/cw-lite-main.pdf Link to PDF]&lt;br /&gt;
&lt;br /&gt;
(Expand for inline images of schematic)&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/Schematic &lt;br /&gt;
}}&lt;br /&gt;
== Hardware ==&lt;br /&gt;
{{Template:Hardware}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Capture Hardware]]&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW1173_ChipWhisperer-Lite&amp;diff=4128</id>
		<title>CW1173 ChipWhisperer-Lite</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW1173_ChipWhisperer-Lite&amp;diff=4128"/>
				<updated>2020-03-11T20:01:53Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: /* Connection Quick-Start */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Warningbox|This page has not yet been updated for the v5 release. Some information may be outdated.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;expandall&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ChipWhisperer-Lite Bare Board consists of two main parts: a multi-purpose power analysis capture instrument, and a target board. The target board is a standard microcontroller which you can implement algorithms onto. For example if you wish to evaluate an AES library, you can program that library into the target board and perform the power analysis.&lt;br /&gt;
&lt;br /&gt;
[[File:cwlite_basic.png|image]]&lt;br /&gt;
&lt;br /&gt;
== Quick-Start Guide ==&lt;br /&gt;
&lt;br /&gt;
You can see a [http://www.youtube.com/watch?v=MJmkYqA-LeM&amp;amp;hd=1 Video] of the quickstart guide, which will take you through all the setup items discussed here:&lt;br /&gt;
&lt;br /&gt;
[[File:cwlite_demo_video.png|link=http://www.youtube.com/watch?v=MJmkYqA-LeM&amp;amp;hd=1]]&lt;br /&gt;
&lt;br /&gt;
== Connection Quick-Start ==&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Follow the [[Installing ChipWhisperer]] instructions for the ChipWhisperer software and its prerequisites.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Connect ChipWhisperer-Lite, install USB Drivers:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Windows:&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Plug micro-USB cable into ChipWhisperer-Lite&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the &amp;amp;quot;New Hardware Found&amp;amp;quot; wizard doesn't prompt you for drivers, go to the control panel and find the &amp;amp;quot;ChipWhisperer-Lite&amp;amp;quot; device, and select &amp;quot;Update Drivers&amp;quot;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;You can find drivers in &amp;lt;code&amp;gt;c:\chipwhisperer\hardware\capture\chipwhisperer-lite\&amp;lt;/code&amp;gt;. You will likely need to extract them from the &amp;lt;code&amp;gt;cwlite_usb_driver.zip&amp;lt;/code&amp;gt; file. If so simply extract them somewhere (i.e. your desktop), and then point the new hardware found wizard to that location.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Linux:&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Driver installation is not required, but if you do not update the 'udev' system, you will be unable to run ChipWhisperer-Capture as a regular user. To update the udev system, first make sure the ChipWhisperer-Lite is Make a file called &amp;lt;code&amp;gt;/etc/udev/rules.d/99-cwlite.rules&amp;lt;/code&amp;gt; . The contents of this file should be:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# allow users to claim the device&lt;br /&gt;
SUBSYSTEM==&amp;amp;quot;usb&amp;amp;quot;, ATTRS{idVendor}==&amp;amp;quot;2b3e&amp;amp;quot;, ATTRS{idProduct}==&amp;amp;quot;ace2&amp;amp;quot;, MODE=&amp;amp;quot;0664&amp;amp;quot;, GROUP=&amp;amp;quot;plugdev&amp;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;Add your username to the plugdev group:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo usermod -a -G plugdev YOUR-USERNAME&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;And reset the udev system:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo udevadm control --reload-rules&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Finally log out &amp;amp;amp; in again for the group change to take effect.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Connect the micro-USB cable&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;MAC:&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;No special installation required - must ensure you have installed libusb via homebrew (see instructions at [[MacOSX_Installation]]).&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&amp;lt;/dl&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;To check for a successful installation, connect to the ChipWhisperer. This can be done from one of two ways:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open up a terminal and run python. Next, run &amp;lt;code&amp;gt;import chipwhisperer as cw; scope = cw.scope()&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open Jupyter Notebook and open PA_Intro_1-Firmware_Build_Setup.ipynb. On the toolbar, click Cell&amp;gt;Run All. If the tutorial completes successfully, your installation should be good to go!&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information on starting ChipWhisperer, see: https://chipwhisperer.readthedocs.io/en/latest/starting.html&lt;br /&gt;
&lt;br /&gt;
== Capture and Attack Quickstart ==&lt;br /&gt;
&lt;br /&gt;
# See [[Tutorial_B5_Breaking_AES_(Straightforward)]]for details. Note the hardware setup is slightly different -- but you can skip to step 5.5.3, and should be able to pick up from there. Be sure to use the &amp;lt;code&amp;gt;ChipWhisperer-Lite: AES SimpleSerial on XMEGA&amp;lt;/code&amp;gt; script instead of the one referenced in step 5.5.3.&lt;br /&gt;
&lt;br /&gt;
== Important Bugs/Caveats ==&lt;br /&gt;
&lt;br /&gt;
The following includes various things that might trip you up:&lt;br /&gt;
&lt;br /&gt;
# If you save the project ''before'' running the capture, you can specify any directory. Traces will be copied to the appropriate location during capture.&lt;br /&gt;
# If you save the project ''after'' running the capture, you must save the project to the same directory that &amp;amp;quot;default-data-dir&amp;amp;quot; exists in. This is normally the folder from where you invoked the Python GUI.&lt;br /&gt;
# There are a few warnings/exceptions that come up (i.e. divide-by-zero). Generally just keep going and see if things are still working. A number of those are on the ''TODO'' list to fix but I didn't get around to it yet.&lt;br /&gt;
# The &amp;amp;quot;Total Ops&amp;amp;quot; window which checks for proper AES operation requires PyCrypto to be installed.&lt;br /&gt;
# By default the XMEGA device was programmed with a partial AES implementation only. This is done to avoid any crypto export issues. This does not affect your side-channel analysis, but be aware the returned value might not appear to be correct (since only the first couple rounds of AES occurred).&lt;br /&gt;
&lt;br /&gt;
== Basic Usage Instructions ==&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === AVR Programmer ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/AVR Programmer}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === XMEGA Programmer ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/XMEGA Programmer}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Using Glitch Port ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/Glitch Port}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Using Measure Port ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/Measure Port}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === 20-Pin Connector ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/20-Pin Connector}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === 8-Pin SmartCard Connector ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/8-Pin SmartCard Connector}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Upgrading SAM3U Firmware ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/Upgrading SAM3U Firmware}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Breaking Target Section Apart ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/Breaking Target Section Apart&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Advanced Usage ==&lt;br /&gt;
&lt;br /&gt;
=== Mounting Jumpers ===&lt;br /&gt;
&lt;br /&gt;
Note the ChipWhisperer-Lite main board and target section contain a number of jumper options. By default these are not mounted, and solder jumper bridges on the PCB have been bridged to select the appropriate options when required. Some options are only solder jumpers, which to move the jumper requires a soldering iron to bridge or clear the appropriate connections.&lt;br /&gt;
&lt;br /&gt;
The following lists jumpers on the ChipWhisperer-Lite / Target Section:&lt;br /&gt;
&lt;br /&gt;
; Capture Section Jumpers&lt;br /&gt;
* JP4 is the &amp;quot;RESET&amp;quot; net for the SAM3U processor.&lt;br /&gt;
* JP2 causes the SAM3U processor flash memory to be erased. When the chip is erased a rom-resident bootloader takes over. See section XXXXX for bootloader details.&lt;br /&gt;
* JP5 selects the IO voltage for the FPGA bank which connects to the 20-pin target. By default SJ6 selects this to be 3.3V. It is not recommended to change this, as it is easy to damage the FPGA by feeding an out-of-range voltage in.&lt;br /&gt;
* SJ1 selects if the power supply comes from the Micro-USB connector (default) or an external 5V supply at the +5VIN pin.&lt;br /&gt;
; Target Section Jumpers:&lt;br /&gt;
* JP7 connects the &amp;quot;MEASURE&amp;quot; SMA to the XMEGA VCC Rail. Shorted by default with SJ4.&lt;br /&gt;
* JP6 connects the &amp;quot;GLITCH&amp;quot; SMA to the XMEGA VCC Rail. Shorted by default with SJ5.&lt;br /&gt;
* JP12 can be used to feed an external voltage into the XMEGA VCC Rail. By default SJ3 connects this to 3.3V.&lt;br /&gt;
* SJ2 selects if the 3.3V rail comes from the 20-pin IDC connector (i.e. ChipWhisperer-Lite board), or via an optional LDO and USB connector.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Schematic ===&lt;br /&gt;
[https://github.com/newaetech/chipwhisperer/blob/master/hardware/capture/chipwhisperer-lite/pcb/cw-lite-main.pdf Link to PDF]&lt;br /&gt;
&lt;br /&gt;
(Expand for inline images of schematic)&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/Schematic &lt;br /&gt;
}}&lt;br /&gt;
== Hardware ==&lt;br /&gt;
{{Template:Hardware}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Capture Hardware]]&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW308T-MPC5748G&amp;diff=4127</id>
		<title>CW308T-MPC5748G</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW308T-MPC5748G&amp;diff=4127"/>
				<updated>2020-03-11T19:02:20Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Warningbox|This requires a programmer for the MPC5748G to reload code. }}&lt;br /&gt;
{{Warningbox|This target requires special setup. An example script can be found at: https://github.com/newaetech/chipwhisperer-jupyter/blob/1ccd1b1fbd8a3295e1033efb37e53e1022d47cc5/Helper_Scripts/Setup_CW308_MPC5748G.ipynb}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox cw308target&lt;br /&gt;
|name                   = CW308T-MPC5748G&lt;br /&gt;
|image                  = mpc5748g_web.jpg&lt;br /&gt;
|caption                = &lt;br /&gt;
|Target Device          = NXP MPC5748G&lt;br /&gt;
|Target Architecture    = PowerPC, Triple-Core&lt;br /&gt;
|Hardware Crypto        = Possible&lt;br /&gt;
|Purchase Hardware      = &lt;br /&gt;
|Design Files           = [https://github.com/newaetech/chipwhisperer-target-mpc5748g Example Application]&lt;br /&gt;
|Supported Applications =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The MPC5748G target uses the NXP MPC5748G device, which is a triple-core PowerPC microcontroller for automotive applications. This target board has a number of interesting features including:&lt;br /&gt;
&lt;br /&gt;
* Two CAN interfaces, with with DB9.&lt;br /&gt;
* Two serial ports (usable as LIN).&lt;br /&gt;
* Various solder jumpers for variety of power analysis options.&lt;br /&gt;
&lt;br /&gt;
=Intended Usage=&lt;br /&gt;
&lt;br /&gt;
== Demo Application ==&lt;br /&gt;
&lt;br /&gt;
The demo application provides examples of:&lt;br /&gt;
* Using serial interface (implements Simple-Serial).&lt;br /&gt;
* Using CAN interface.&lt;br /&gt;
* Enabling all three cores, and communicating between cores with shared memory.&lt;br /&gt;
* Running software AES on main core.&lt;br /&gt;
* Running password-check (XOR) on main core.&lt;br /&gt;
* Setup of clock network for using external clock from ChipWhisperer.&lt;br /&gt;
* Enabling the PASS module &amp;amp; passing a password to it (to allow DPA testing of PASS module).&lt;br /&gt;
&lt;br /&gt;
This demo application is posted as a separate github repository at [https://github.com/newaetech/chipwhisperer-target-mpc5748g https://github.com/newaetech/chipwhisperer-target-mpc5748g]. The github link includes additional documentation.&lt;br /&gt;
&lt;br /&gt;
== Offered Variants ==&lt;br /&gt;
The product is available in one variant:&lt;br /&gt;
&lt;br /&gt;
* The &amp;quot;NORMAL&amp;quot; variant which is normally shipped (i.e., P/N NAE-CW308T-MPC5748G). This variant has the following setup:&lt;br /&gt;
** HSM is not programmed. We cannot provide details on this usage without a NDA.&lt;br /&gt;
** The four OTP password groups have been programmed with 4 known passwords you can use for experimentation.&lt;br /&gt;
** Device lifecycle is progressed to the &amp;quot;OEM Production&amp;quot; stage. This will prevent you from doing certain updates to the memory, but for most &amp;quot;normal&amp;quot; uses will not prevent reloading of code etc. This progression is done since it is required to use the password/censorship features.&lt;br /&gt;
** The demo application is loaded which includes ability to execute code loaded over the serial port and change/read memory locations (but is NOT a full bootloader).&lt;br /&gt;
** Device censorship is disabled (this can be turned on using an external programmer).&lt;br /&gt;
** The JTAG port has a known password, but is not locked (this can be turned on using an external programmer or via load functions).&lt;br /&gt;
&lt;br /&gt;
== Programming ==&lt;br /&gt;
&lt;br /&gt;
The device is designed to use an external programmer for reflashing, as it does not include a bootloader. The suggested programmer (scripts are provided in the GIT repo) is the PE-Micro which requires purchasing:&lt;br /&gt;
*PEMicro USB Multilink or USB Mulilink FX&lt;br /&gt;
*PEMicro PROGPPCNEXUS (Programmer SW only) or PEMicro PowerPC Nexus Development Kit (includes Debugger). You may be able to use a GDB server instead but we haven't tested this.&lt;br /&gt;
&lt;br /&gt;
You can use the MPC5748G-DEVKIT instead with invasive hardware mods - the devkit has an on-board programmer, but it uses buffers such it cannot be routed to any available header pins. You would need to solder small jumper wires to small SMD pins for this to work. However as the dev-kit is very cheap, it may be worthwhile to scrap one and convert into an external programmer.&lt;br /&gt;
&lt;br /&gt;
== HSM Usage ==&lt;br /&gt;
&lt;br /&gt;
The device features a HSM, but details of this are under NDA and cannot be made public.&lt;br /&gt;
&lt;br /&gt;
== Random Useful Tips ==&lt;br /&gt;
&lt;br /&gt;
=== S32DS Version ===&lt;br /&gt;
&lt;br /&gt;
It is recommended to use S32DS Version 2017 or later. The default linker scripts changed slightly in such a way that old scripts don't work with the new version, and thus all scripts have been updated to work with the latest release.&lt;br /&gt;
&lt;br /&gt;
=== Disassembling Source ===&lt;br /&gt;
&lt;br /&gt;
If you are having trouble debugging, it can be useful to read out a memory segment and dissassemble it. This is possible with the included S32DS tools. The following shows the required command line:&lt;br /&gt;
&lt;br /&gt;
  E:\nxp\S32DS_Power_v2017.R1\Cross_Tools\powerpc-eabivle-4_9\bin&amp;gt;powerpc-eabivle-objdump.exe -mpowerpc -Me200z4 -D -b srec -EB MPC5748G.s19 &amp;gt; MPC5748G.txt&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
{{Template:Hardware}}&lt;br /&gt;
&lt;br /&gt;
[[Category: CW308 Targets]]&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW308T-ESP32&amp;diff=4126</id>
		<title>CW308T-ESP32</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW308T-ESP32&amp;diff=4126"/>
				<updated>2020-03-11T19:00:30Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Warningbox|This target requires special setup. An example script can be found at: https://github.com/newaetech/chipwhisperer-jupyter/blob/1ccd1b1fbd8a3295e1033efb37e53e1022d47cc5/Helper_Scripts/Setup_CW308_ESP32.ipynb}}&lt;br /&gt;
{{Infobox cw308target&lt;br /&gt;
|name                   = CW308T-ESP32&lt;br /&gt;
|image                  = ESP32_topdown_web.jpg&lt;br /&gt;
|caption                = &lt;br /&gt;
|Target Device          = ESP32&lt;br /&gt;
|Target Architecture    = ARM&lt;br /&gt;
|Hardware Crypto        = Yes&lt;br /&gt;
|Purchase Hardware      = &lt;br /&gt;
&lt;br /&gt;
|Supported Applications =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The ESP32 is a super-low-cost IoT device with Bluetooth &amp;amp; WiFi support. This target board does not break out any of the RF capabilities, and is primarily concerned with testing portions of the device stand-alone (such as secure boot, AES hardware accelerator, etc).&lt;br /&gt;
&lt;br /&gt;
== SPI Buffer ==&lt;br /&gt;
&lt;br /&gt;
This device uses a Texas Instruments TXB0104 as a SPI buffer. This is a bidirectional buffer chip, meaning you can use it in any of the following ways:&lt;br /&gt;
&lt;br /&gt;
* Disable chip, allowing ESP32 to load/program the attached SPI flash chip.&lt;br /&gt;
* Sniff the SPI bus, but with a buffer in-line to prevent your sniffer from affecting the SPI load process (or trigger on SPI packets).&lt;br /&gt;
* Program the SPI chip using external programmer. To do this hold ESP32 in reset.&lt;br /&gt;
* Use an external SPI chip (or emulator) to load the data for the ESP32. To do this you'll have to disconnect the CS pin of the SPI chip.&lt;br /&gt;
&lt;br /&gt;
The direction is detected automatically.&lt;br /&gt;
&lt;br /&gt;
== SPI Flash  Device ==&lt;br /&gt;
&lt;br /&gt;
The ESP32 needs an attached SPI flash. The production devices use a W25Q32BVSSIG from Winbond, but this can be difficult to find from regular distributors. If you are building your own device I suggest using ISSI IS25WP032D-JBLE which is more widely available. &lt;br /&gt;
&lt;br /&gt;
A variety of other devices will not work with the bootloader, meaning you cannot easily program them. It's not known exactly what is needed (they need to support DSPI at least), but for example SST26VF016BT-104I/SN did not work.&lt;br /&gt;
&lt;br /&gt;
== Example Application ==&lt;br /&gt;
&lt;br /&gt;
An example application is provided in the GIT repository in the [https://github.com/newaetech/chipwhisperer/tree/develop/hardware/victims/firmware/esp32 firmware/esp32 ] directory. Note this hasn't yet been integrated into the full build system. This application uses hardware AES.&lt;br /&gt;
&lt;br /&gt;
== Schematic ==&lt;br /&gt;
&lt;br /&gt;
For PDF see GIT repository.&lt;br /&gt;
&lt;br /&gt;
[[File:CW308T-ESP32-02_schematic_Page_2.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
[[File:CW308T-ESP32-02_schematic_Page_1.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
{{Template:Hardware}}&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW308T-AVR&amp;diff=4125</id>
		<title>CW308T-AVR</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW308T-AVR&amp;diff=4125"/>
				<updated>2020-03-11T18:55:32Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Warningbox|The serial pins for this target are swapped compared to the usual setup. An example setup script can be found here: https://github.com/newaetech/chipwhisperer-jupyter/blob/1ccd1b1fbd8a3295e1033efb37e53e1022d47cc5/Helper_Scripts/Setup_Notduino.ipynb}}&lt;br /&gt;
{{Infobox cw308target&lt;br /&gt;
|name                   = CW308T-AVR&lt;br /&gt;
|image                  = File:P1090088.jpg&lt;br /&gt;
|caption                = &lt;br /&gt;
|Target Device          = Atmel AVR&lt;br /&gt;
|Target Architecture    = 8-bit Harvard&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/avr GITHub link]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/newaetech/chipwhisperer/blob/master/hardware/victims/cw308_ufo_target/avr/cw308t-avr-bom-1click.tsv 1-Click BOM]&lt;br /&gt;
&lt;br /&gt;
[https://oshpark.com/shared_projects/65GO0ZHN OSH Park PCBs]&lt;br /&gt;
|Supported Applications =  [[SimpleSerial | Simple Serial Enc/Auth]]&lt;br /&gt;
|Programmer             = CW Integrated (ISP)&lt;br /&gt;
Atmel ICE (ISP)&lt;br /&gt;
|Status                 = Released&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== I/O Connections ==&lt;br /&gt;
&lt;br /&gt;
The pinout of this module matches the &amp;quot;NOTDuino&amp;quot; kit along with the &amp;quot;CW301 Multi-Target Board&amp;quot; routing. The following is the connection between GPIO1-4 and the I/O lines on the AVR:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!CW308 Pin&lt;br /&gt;
!ATMega328P Pin&lt;br /&gt;
!Notes&lt;br /&gt;
|-&lt;br /&gt;
|GPIO1&lt;br /&gt;
|PD0 (RXD)&lt;br /&gt;
|Serial INPUT to AVR.&lt;br /&gt;
|-&lt;br /&gt;
|GPIO2&lt;br /&gt;
|PD1 (TXD)&lt;br /&gt;
|Serial OUTPUT from AVR.&lt;br /&gt;
|-&lt;br /&gt;
|GPIO3&lt;br /&gt;
|N/C&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|GPIO4&lt;br /&gt;
|PC0&lt;br /&gt;
|Trigger pin (mapped to ADC-port such that I/O driver power comes from AVCC).&lt;br /&gt;
|-&lt;br /&gt;
|CLKIN&lt;br /&gt;
|XTAL1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CLKFB&lt;br /&gt;
|PB0&lt;br /&gt;
|Can set this pin as CLKO with fuse. Useful for synchronizing to internal RC oscillator.&lt;br /&gt;
|-&lt;br /&gt;
|nRST&lt;br /&gt;
|nRST (PC6)&lt;br /&gt;
|Used by in-system-programming (ISP) interface.&lt;br /&gt;
|-&lt;br /&gt;
|MOSI&lt;br /&gt;
|PB3 (MOSI)&lt;br /&gt;
|Used by in-system-programming (ISP) interface.&lt;br /&gt;
|-&lt;br /&gt;
|MISO&lt;br /&gt;
|PB4 (MISO)&lt;br /&gt;
|Used by in-system-programming (ISP) interface.&lt;br /&gt;
|-&lt;br /&gt;
|SCK&lt;br /&gt;
|PB5 (SCK)&lt;br /&gt;
|Used by in-system-programming (ISP) interface.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Programming Header ==&lt;br /&gt;
&lt;br /&gt;
The 6-pin programming heading can be used with the Atmel ISP interface. The pinout of the 6-pin programming header on the main-board allows it to work with standard Atmel ISP tools:&lt;br /&gt;
&lt;br /&gt;
[[File:avr_isp.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
== Schematic ==&lt;br /&gt;
&lt;br /&gt;
[[File:CW308T_AVR_Schematic_Page_1.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
[[File:CW308T_AVR_Schematic_Page_2.png|1000px]]&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
{{Template:Hardware}}&lt;br /&gt;
[[Category: CW308 Targets]]&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW304_Notduino_Target&amp;diff=4124</id>
		<title>CW304 Notduino Target</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW304_Notduino_Target&amp;diff=4124"/>
				<updated>2020-03-11T18:25:00Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Warningbox|The serial pins for the Notduino Target are swapped compared to most other targets. An example script for correctly setting up the Notduino can be found here: https://github.com/newaetech/chipwhisperer-jupyter/blob/1ccd1b1fbd8a3295e1033efb37e53e1022d47cc5/Helper_Scripts/Setup_Notduino.ipynb}}&lt;br /&gt;
{{Infobox cw308target&lt;br /&gt;
|name                   = CW308T-CEC1702&lt;br /&gt;
|image                  = File:Notduino.jpg&lt;br /&gt;
|caption                = &lt;br /&gt;
|Target Device          = Atmel MEGA328P&lt;br /&gt;
|Target Architecture    = 8-bit RISC&lt;br /&gt;
|Hardware Crypto        = &lt;br /&gt;
|Purchase Hardware      = &lt;br /&gt;
|Supported Applications = &lt;br /&gt;
|Programmer             = CW Integrated (ISP)&lt;br /&gt;
|Status                 = Released&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The Notduino is used as a target for the ChipWhisperer Capture system. This includes interfacing to the CW-Lite (CW1173) and ChipWhisperer Capture Rev 2 (CW1002). &lt;br /&gt;
&lt;br /&gt;
== Specifications / Feature Set ==&lt;br /&gt;
* 3.3V Operating Voltage&lt;br /&gt;
* Atmel ATMega328P Microcontroller&lt;br /&gt;
* Power analysis on VCC rail&lt;br /&gt;
* Power glitching using CW1173 Crowbar&lt;br /&gt;
* One user LED&lt;br /&gt;
* One user push-button&lt;br /&gt;
* Clock input or output line&lt;br /&gt;
* 6 user I/O lines (including trigger to ChipWhisperer)&lt;br /&gt;
* Optional crystal mounting holes&lt;br /&gt;
* USART Lines for communication&lt;br /&gt;
* Header to connect USB-Serial for Arduino bootloader usage&lt;br /&gt;
&lt;br /&gt;
== Board Usage ==&lt;br /&gt;
&lt;br /&gt;
The board is connected to the standard 20-pin target connector used on the ChipWhisperer system. In addition you will require connection of the SMA connector to perform power measurements:&lt;br /&gt;
&lt;br /&gt;
[[File:Cwlite_notduino.jpg|image]]&lt;br /&gt;
&lt;br /&gt;
Like most of our targets, the Notduino can be used without the capture hardware. In this case the SMA connector is used to connect to the regular oscilloscope, and a USB-Serial is used for communications:&lt;br /&gt;
&lt;br /&gt;
[[File:Normalscope.jpg|image]]&lt;br /&gt;
&lt;br /&gt;
=== VCC Jumper Settings (JP2) ===&lt;br /&gt;
&lt;br /&gt;
JP2 uses our standard 6-pin connector, similar to the Multi-Target board. On the NOTDuino board only the VCC shunt is present however, which means you cannot perform measurements on a GND shunt.&lt;br /&gt;
&lt;br /&gt;
Using the header in the following position is required for both side-channel power analysis and voltage-glitching attacks:&lt;br /&gt;
&lt;br /&gt;
[[File:6pin_measure.jpg|image]]&lt;br /&gt;
&lt;br /&gt;
If you are only doing clock glitching attacks (without associated power measurement), you could short the jumper:&lt;br /&gt;
&lt;br /&gt;
[[File:6pin_short.jpg|image]]&lt;br /&gt;
&lt;br /&gt;
== Clock Jumper Settings (JP8/JP9) ==&lt;br /&gt;
&lt;br /&gt;
The clock jumpers allow you to connect the HSOUT and HSIN lines to the two XTAL pins on the ATMega328P. Normally you would mount JP8, which routes the HSOUT line from the ChipWhisperer to the &amp;amp;quot;External Clock Input&amp;amp;quot; on the ATMega328P.&lt;br /&gt;
&lt;br /&gt;
You can also try mounting a crystal at Q1 (along with require capacitors typically in 18pF-22pF range) at C8 and C9. If this is done, you will need to ensure the fuses for the ATMega328P are programmed for the &amp;amp;quot;Full Output Swing&amp;amp;quot;, and you can then route the output of the crystal buffer to CLKIN by mounting pin C9.&lt;br /&gt;
&lt;br /&gt;
Finally, you can also solder a wire from pin 14 (PB0) of the ATMega328P to pin 10 (PB7, the XTAL out pin). This allows you to enable the internal oscillator of the ATMega328P, and also enable the &amp;amp;quot;Clock Out&amp;amp;quot; pin. This clock output drives the internal oscillator frequency onto the output pin, which you then route to the HSIN lines.&lt;br /&gt;
&lt;br /&gt;
== Serial Header (JP4) ==&lt;br /&gt;
&lt;br /&gt;
The serial header at JP4 provides a method of connecting a standard serial cable to the NOTDuino board. Note the &amp;amp;quot;RST&amp;amp;quot; pin is broken out, allowing you to use a serial cable with a &amp;amp;quot;DTR&amp;amp;quot; pin to control the reset of the ATMega328P (which is required for the Arduino bootloader).&lt;br /&gt;
&lt;br /&gt;
Note you will need to mount an appropriate crystal at Q1, along with C8 and C9 if not using the ChipWhisperer for a clock source.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Silkscreen&lt;br /&gt;
! ATMega328P&lt;br /&gt;
! Arduino Name&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| GND&lt;br /&gt;
| Ground&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 3V3&lt;br /&gt;
| VCC&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
| If NOT connected to CW-Lite, can power from 3-5V&lt;br /&gt;
|-&lt;br /&gt;
| TXD&lt;br /&gt;
| PORTD.1&lt;br /&gt;
| Pin 1&lt;br /&gt;
| Output from AVR&lt;br /&gt;
|-&lt;br /&gt;
| RXD&lt;br /&gt;
| PORTD.0&lt;br /&gt;
| Pin 0&lt;br /&gt;
| Input to AVR&lt;br /&gt;
|-&lt;br /&gt;
| RST&lt;br /&gt;
| Reset&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== User IO Header (JP3) ==&lt;br /&gt;
&lt;br /&gt;
The user IO header breaks out&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Silkscreen&lt;br /&gt;
! ATMega328P&lt;br /&gt;
! Arduino Name&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| GND&lt;br /&gt;
| Ground&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| A5&lt;br /&gt;
| PORTC.5&lt;br /&gt;
| Analog Pin A5&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| A4&lt;br /&gt;
| PORTC.4&lt;br /&gt;
| Analog Pin A4&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| A3&lt;br /&gt;
| PORTC.3&lt;br /&gt;
| Analog Pin A3&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| A2&lt;br /&gt;
| PORTC.2&lt;br /&gt;
| Analog Pin A2&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| PORTC.1&lt;br /&gt;
| Analog Pin A1&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| PORTC.0&lt;br /&gt;
| Analog Pin A0&lt;br /&gt;
| Trigger&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Using Arduino Software ==&lt;br /&gt;
&lt;br /&gt;
If you wish to use the Arduino software with the NOTDuino board, there is two main methods of doing that:&lt;br /&gt;
&lt;br /&gt;
# Using ChipWhisperer-Lite as programmer.&lt;br /&gt;
# Using board entirely stand-alone.&lt;br /&gt;
&lt;br /&gt;
=== Using ChipWhisperer-Lite as Programmer ===&lt;br /&gt;
&lt;br /&gt;
If using the board with the ChipWhisperer-Lite attached (i.e. using the ChipWhisperer-Lite as the capture hardware), this requires the fewest modifications. To use the board you will need to:&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;In the tutorials, set the CLKGEN frequency to 16.00 MHz instead of 7.37 MHz.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Use the integrated AVR programmer, program the compiled &amp;lt;code&amp;gt;.hex&amp;lt;/code&amp;gt; file. This file can be found in two ways:&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: lower-alpha;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;For Arduino 1.6.5 or later, there is an ''Export Compiled Binary'' from the ''Sketch'' menu.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;For earlier version of Arduino, enable the ''Show vervose output during compilation'' in the ''Preferences'' menu. This will show you where the &amp;lt;code&amp;gt;.hex&amp;lt;/code&amp;gt; file is located (NOTE: it changes after every compilation).&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Using Board Entirely Stand-Alone ===&lt;br /&gt;
&lt;br /&gt;
If using the board stand-alone, you will need to perform the following:&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;&amp;lt;p&amp;gt;Program the Arduino bootloader into the ATMega328P. This can be done with the ChipWhisperer-Lite programmer, or with a standard programmer and the 6-pin ISP header at JP6.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Also program default fuses for the Arduino to select the external crystal.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Mount a 16 MHz crystal at Q1, and appropriate capacitors at C8 and C9 (typically in range of 18-22pF depending on the crystal). Remove jumpers JP8 and JP9.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Connect a USB-Serial adapter to JP4. You can connect the VCC line of a serial port to the &amp;amp;quot;+3v3&amp;amp;quot; line, as the board can be powered from 5V '''when not connected to the ChipWhisperer-Lite'''. Never connect the board to a 5V line with the ChipWhisperer-Lite attached, as it will ''destroy the ChipWhisperer-Lite''.&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kit Assembly ==&lt;br /&gt;
&lt;br /&gt;
The Notduino kit includes all the parts to assemble the Notduino kit. The following shows the kit parts:&lt;br /&gt;
&lt;br /&gt;
[[File:Kit_packaged.jpg|image]]&lt;br /&gt;
&lt;br /&gt;
=== Kit Parts ===&lt;br /&gt;
&lt;br /&gt;
Which you can break out into the following parts:&lt;br /&gt;
&lt;br /&gt;
[[File:Kit_parts.jpg|image]]&lt;br /&gt;
&lt;br /&gt;
The following lists all the parts in the kit:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! Qty&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| NPCB-CWTARG-NOTDUINO-02&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 100nF Ceramic Capacitor (Marked with '104')&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 220uF Electrolytic Capacitor&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| 51-ohm 1/4W Resistor (Green Brown Black Gold Brown), 1 spare&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| 330-ohm 1/4W Resistor (Orange Orange Black Black Brown), 1 spare&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| 10k-ohm 1/4W Resistor (Brown Black Black Red Brown), 1 spare&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Red 5MM LED&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Green 5MM LED&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| ATMega328P-PU&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 28-pin IC Socket&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Tactile Pushbuttons&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| Jumpers&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 1x5 Pin Header&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 1x7 Pin Header&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 2x3 Pin Header&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 2x4 Pin Header&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| 20-Pin Shrouded Header&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| SMA Edge-Mount Connector&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note the resistors use a 5-band colour code, which is different from the &amp;amp;quot;regular&amp;amp;quot; colour code you might be used to. The following shows the resistors, note the colour code listed in the parts list above. Each of the resistors have an extra provided, so when you assemble the board you should have three left-over resistors.&lt;br /&gt;
&lt;br /&gt;
[[File:Resistors.jpg|image]]&lt;br /&gt;
&lt;br /&gt;
=== Assembly Process ===&lt;br /&gt;
&lt;br /&gt;
There is no specific assembly procedure for the board. The values of components have been marked on the blank PCB, here are some general instructions for the assembly process:&lt;br /&gt;
&lt;br /&gt;
# You can use lead or lead-free solder due to the immersion gold finish of the PCB.&lt;br /&gt;
# Mount parts starting with the lowest height (such as resistors and ceramic capacitors) first.&lt;br /&gt;
# Note there is an extra of each of the resistors - i.e. you only need one 10k resistor (R4) but are provided two.&lt;br /&gt;
# Watch the polarity of LED1 and LED2. The flat edge of the LED should match the flat marking on the silkscreen.&lt;br /&gt;
# The electrolytic capacitors (C7 and C6) have the negative marked on them. Be sure to match up the negative with the &amp;amp;quot;-&amp;amp;quot; marking on the PCB. The two capacitors have the negative terminal facing each other.&lt;br /&gt;
# The shrouded header has an orientation - match up the notch in the 20-pin header with the mark on the PCB silkscreen.&lt;br /&gt;
# See the picture at the beginning of this section for details of the assembly.&lt;br /&gt;
# The test-points (including the &amp;amp;quot;GND&amp;amp;quot;) can be made using a cut-off resistor lead. This gives you something to clip a test point onto.&lt;br /&gt;
&lt;br /&gt;
=== Assembly Video ===&lt;br /&gt;
&lt;br /&gt;
You can see a [http://www.youtube.com/watch?v=zCmWzpyEYe8&amp;amp;hd=1 Video] of the assembly process of YouTube:&lt;br /&gt;
&lt;br /&gt;
[[File:Cw304asm.png|link=http://www.youtube.com/watch?v=zCmWzpyEYe8&amp;amp;hd=1]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Programming a New Notduino AVR ===&lt;br /&gt;
&lt;br /&gt;
Some users have had trouble programming fresh Notduinos from the ChipWhisperer-Lite: attempting to read the AVR's signature or program it causes the program to time out (with the message &amp;lt;code&amp;gt;USBError: [Errno 110] Operation timed out&amp;lt;/code&amp;gt;). This is generally because the ChipWhisperer-Lite can't generate a clock speed slow enough to program a fresh AVR. See [https://www.newae.com/forum/viewtopic.php?f=6&amp;amp;t=174 this forum thread] for the problem symptoms, and [https://www.newae.com/forum/viewtopic.php?f=6&amp;amp;t=67 this thread] for the solution.&lt;br /&gt;
&lt;br /&gt;
== Schematic ==&lt;br /&gt;
&lt;br /&gt;
[[File:Cw304_schematic.png|image]]&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
{{Template:Hardware}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Targets]]&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW308T-STM32F&amp;diff=4123</id>
		<title>CW308T-STM32F</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW308T-STM32F&amp;diff=4123"/>
				<updated>2020-03-11T18:16:29Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: /* Example Projects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox cw308target&lt;br /&gt;
|name                   = CW308T-STM32F&lt;br /&gt;
|image                  = STM32F3-Top_Rev03.jpg&lt;br /&gt;
|caption                = &lt;br /&gt;
|Target Device          = ST STM32F&lt;br /&gt;
|Target Architecture    = Cortex M0,M3,M4&lt;br /&gt;
|Hardware Crypto        = Possible&lt;br /&gt;
|Purchase Hardware      = [http://store.newae.com/stm32f0-target-for-cw308-arm-cortex-m0-128kb-flash-8kb-sram/ Webstore, F0]&lt;br /&gt;
&lt;br /&gt;
[http://store.newae.com/stm32f1-target-for-cw308-arm-cortex-m3-128kb-flash-8kb-sram/ Webstore, F1]&lt;br /&gt;
&lt;br /&gt;
[http://store.newae.com/stm32f3-target-for-cw308-arm-cortex-m4-256kb-flash-40kb-sram/ Webstore, F3]&lt;br /&gt;
&lt;br /&gt;
[http://store.newae.com/stm32f4-target-for-cw308-arm-cortex-m4-1mb-flash-192kb-sram/ Webstore, F4]&lt;br /&gt;
&lt;br /&gt;
[http://store.newae.com/blank-pcb-stm32fx-cw308-target/ Webstore PCB]&lt;br /&gt;
|Design Files           = [https://github.com/newaetech/chipwhisperer/tree/master/hardware/victims/cw308_ufo_target/stm32f GITHub Link]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.newae.com/CW308T-STM32F OSH Park PCBs]&lt;br /&gt;
&lt;br /&gt;
|Supported Applications = [[SimpleSerial | Simple Serial Enc/Auth]]&lt;br /&gt;
|Programmer             = ST-LINK/V2&lt;br /&gt;
|Status                 = Released&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Warningbox|ChipWisperer v5.1.3 before commit 3557 and arm-none-eabi-gcc before q2-2018 can produce non-working binaries for the STM32F3. The only fix is to update either ChipWhisperer or gcc}}&lt;br /&gt;
&lt;br /&gt;
== Supported Devices ==&lt;br /&gt;
&lt;br /&gt;
The STM32F board supports several STM32F devices in the TQFP-64 package. Various solder jumpers need to bet set to either the &amp;quot;A&amp;quot; or &amp;quot;B&amp;quot; position to select appropriate VCC supply for the different series. The following table summarizes examples of suitable devices:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!STM32F Series&lt;br /&gt;
!Package&lt;br /&gt;
!Device&lt;br /&gt;
!Hardware AES&lt;br /&gt;
!Tested&lt;br /&gt;
!Jumper&lt;br /&gt;
!Flash&lt;br /&gt;
!SRAM&lt;br /&gt;
!NAE P/N&lt;br /&gt;
|-&lt;br /&gt;
|F0&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F071RBT6&lt;br /&gt;
|No&lt;br /&gt;
|Yes&lt;br /&gt;
|B&lt;br /&gt;
|128KB&lt;br /&gt;
|16KB&lt;br /&gt;
|NAE-CW308T-STM32F0&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F100RBT6B&lt;br /&gt;
|No&lt;br /&gt;
|Yes&lt;br /&gt;
|B&lt;br /&gt;
|128KB&lt;br /&gt;
|8KB&lt;br /&gt;
|NAE-CW308T-STM32F1&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F215RET6&lt;br /&gt;
|Yes&lt;br /&gt;
|Yes&lt;br /&gt;
|A&lt;br /&gt;
|512KB&lt;br /&gt;
|132KB&lt;br /&gt;
|NAE-CW308T-STM32F2HWC&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F303RCT7&lt;br /&gt;
|No&lt;br /&gt;
|Yes&lt;br /&gt;
|B&lt;br /&gt;
|256KB&lt;br /&gt;
|40KB&lt;br /&gt;
|NAE-CW308T-STM32F3&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F415RGT6&lt;br /&gt;
|Yes&lt;br /&gt;
|Yes&lt;br /&gt;
|A&lt;br /&gt;
|1MB&lt;br /&gt;
|192KB&lt;br /&gt;
|NAE-CW308T-STM32F4HWC&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F405RGT6&lt;br /&gt;
|No&lt;br /&gt;
|Yes&lt;br /&gt;
|A&lt;br /&gt;
|1MB&lt;br /&gt;
|192KB&lt;br /&gt;
|NAE-CW308T-STM32F4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== VCC-Int Supply ===&lt;br /&gt;
Several devices (F2, F4) have internal core voltage regulators. By default the CW308 board attempts to provide power for these pins, but the voltage may not be high enough to cause the internal regulator to disable itself. In this case you can use the VADJ regulator to ensure the internal regulator is disabled. See [[Targets with Internal Regulators]] for details.&lt;br /&gt;
&lt;br /&gt;
=== Pin-outs across TQFP Devices ===&lt;br /&gt;
&lt;br /&gt;
The following shows differences in pinouts between three groups of devices. The left-most is the STM32F051RB, which uses the same 3.3V VCORE as the STM32F1/F3. It has fewer VCC pins, so the I/O occupying that are VCC/GND pins on the STM32F1 (such as PF6/PF7) are tied to GND/VCC. The right-most part is the pinout of the STM32F2/F4. It has an internal regulator, where the VCAP pins are the output of this regulator (and input to the internal core logic).&lt;br /&gt;
&lt;br /&gt;
[[File:power_diffstm32.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Note for the devices with a 3.3V VCORE, you should not mount decoupling capacitors C5/C6/C7/C8. You will still get some leakage with those capacitors mounted, but a stronger signal is present without them.&lt;br /&gt;
&lt;br /&gt;
== Hardware AES ==&lt;br /&gt;
&lt;br /&gt;
The STM32F21x, and STM32F41x/43x have hardware crypto modules (AES, DES, TDES) along with hardware hash (SHA1, MD5). Hardware crypto for the STM32F4 has been integrated into the Hal build system on the develop branch. To use the hardware crypto, call HW_AES128_Init() at the beginning of your program. You can update the key with HW_AES128_LoadKey(), encrypt plaintext with HW_AES128_Enc(), and decrypt data with HW_AES128_Dec().&lt;br /&gt;
&lt;br /&gt;
== CAN Connection ==&lt;br /&gt;
&lt;br /&gt;
A 6-pin header is present for devices which have CAN hardware support (not all devices have this). A CANoodler can be plugged in to provide the physical transceiver. This header is not normally mounted, unless the board is part of an 'automotive bundle'. The header is left unmounted as it can impede sweeping a probe over the surface of the chip.&lt;br /&gt;
&lt;br /&gt;
== Programming Connection ==&lt;br /&gt;
&lt;br /&gt;
=== ChipWhisperer Programmer via Bootloader ===&lt;br /&gt;
&lt;br /&gt;
See further down this wiki page for details.&lt;br /&gt;
&lt;br /&gt;
=== JTAG Programmer ===&lt;br /&gt;
&lt;br /&gt;
The 20-pin JTAG port (J6 on CW308 Board) can be used with the [https://www.digikey.com/product-detail/en/stmicroelectronics/ST-LINK-V2/497-10484-ND/2214535 ST-LINK/V2] which is a low-cost JTAG programmer. &lt;br /&gt;
&lt;br /&gt;
It is also possible to use other JTAG programmers such as OpenOCD. The following command worked with an Olimex OpenOCD programmer and their [https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ OpenOCD for Windows] software:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
openocd &lt;br /&gt;
  -f path/to/board/files/cw308.cfg &lt;br /&gt;
  -c init &lt;br /&gt;
  -c targets &lt;br /&gt;
  -c &amp;quot;halt&amp;quot; &lt;br /&gt;
  -c &amp;quot;flash write_image erase path/to/firmware.hex&amp;quot;       &lt;br /&gt;
  -c &amp;quot;verify_image path/to/firmware.hex&amp;quot;        &lt;br /&gt;
  -c &amp;quot;reset run&amp;quot; &lt;br /&gt;
  -c shutdown&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where the contents of &amp;lt;code&amp;gt;cw308.cfg&amp;lt;/code&amp;gt; are&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
source [find interface/olimex-arm-usb-ocd-h.cfg]&lt;br /&gt;
source [find target/stm32f4x.cfg]&lt;br /&gt;
reset_config srst_only&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example Projects ==&lt;br /&gt;
&lt;br /&gt;
SimpleSerial builds for each of the STM32Fx Devices. Each device is a separate HAL. These HAL modules have been copied from ST's HAL (not the CUBE) and greatly reduced in size by deleting unused files (such as headers for unused devices), and combining several C-source files into a single low-level C-file.&lt;br /&gt;
&lt;br /&gt;
Many example projects are available via Jupyter Notebooks: https://chipwhisperer.readthedocs.io/en/latest/tutorials.html. Note that all of these examples were created for the CWLITEARM (equivalent STM32F3) target. You will need to make changes based on which target you have to run the tutorials. For some tutorials, changing the PLATFORM variable in the first block to the one you're using is enough to get the tutorial working:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
SCOPETYPE = &amp;quot;OPENADC&amp;quot;&lt;br /&gt;
PLATFORM = &amp;quot;CW308_STM32F4&amp;quot; #For STM32F4 target, was originally &amp;quot;CWLITEARM&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Building ST Example on Command Line ===&lt;br /&gt;
The regular firmware build process works with the STM32 devices. For example, to build `simpleserial-aes`, navigate to the folder `chipwhisperer\hardware\victims\firmware\simpleserial-aes` and run the following command on the command line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make PLATFORM=CW308_STM32F0 CRYPTO_TARGET=TINYAES128C&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If all goes well, this command will finish by printing the output file size and the platform:&lt;br /&gt;
&lt;br /&gt;
[[File:Stm32-make.png]]&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Programming via ChipWhisperer Bootloader ===&lt;br /&gt;
|content= CW308T-STM32F/ChipWhisperer_Bootloader}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Running ST Example with ST-Link ===&lt;br /&gt;
|content= CW308T-STM32F/ST_Link}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Building and Debugging via ST's System Workbench ===&lt;br /&gt;
|content= CW308T-STM32F/Debugging_with_ST_Link}}&lt;br /&gt;
&lt;br /&gt;
== Schematic ==&lt;br /&gt;
The following variants are possible, see the table above for SRAM/FLASH/HW-Crypto status:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Variant&lt;br /&gt;
!U1&lt;br /&gt;
!R3 (VCC-Shunt)&lt;br /&gt;
!R4 (Clock)&lt;br /&gt;
|-&lt;br /&gt;
|F0&lt;br /&gt;
|STM32F071RBT6 &lt;br /&gt;
|33-ohm&lt;br /&gt;
|120-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|STM32F100RBT6&lt;br /&gt;
|22-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F2HWC&lt;br /&gt;
|STM32F215RET6&lt;br /&gt;
|10-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|STM32F303RCT7&lt;br /&gt;
|12-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|STM32F405RGT6&lt;br /&gt;
|10-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F4HWC&lt;br /&gt;
|STM32F415RGT6&lt;br /&gt;
|10-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Rev -03 Schematic ===&lt;br /&gt;
&lt;br /&gt;
The current revision of the target is -03. The following shows this schematic:&lt;br /&gt;
&lt;br /&gt;
[[File:CW308T_STM32F_03.png|1100px]]&lt;br /&gt;
&lt;br /&gt;
=== Rev -02 Schematic ===&lt;br /&gt;
&lt;br /&gt;
The original board sold was the -02 revision. The revision is part of the part number, for example these boards will be marked STM32F-02. The -02 revision also does not have the CAN connector:&lt;br /&gt;
[[File:cw308_stm32f.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:CW308T_STM32F_02.png|1100px]]&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
{{Template:Hardware}}&lt;br /&gt;
&lt;br /&gt;
[[Category: CW308 Targets]]&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW308T-STM32F&amp;diff=4122</id>
		<title>CW308T-STM32F</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW308T-STM32F&amp;diff=4122"/>
				<updated>2020-03-11T18:15:41Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: /* Example Projects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox cw308target&lt;br /&gt;
|name                   = CW308T-STM32F&lt;br /&gt;
|image                  = STM32F3-Top_Rev03.jpg&lt;br /&gt;
|caption                = &lt;br /&gt;
|Target Device          = ST STM32F&lt;br /&gt;
|Target Architecture    = Cortex M0,M3,M4&lt;br /&gt;
|Hardware Crypto        = Possible&lt;br /&gt;
|Purchase Hardware      = [http://store.newae.com/stm32f0-target-for-cw308-arm-cortex-m0-128kb-flash-8kb-sram/ Webstore, F0]&lt;br /&gt;
&lt;br /&gt;
[http://store.newae.com/stm32f1-target-for-cw308-arm-cortex-m3-128kb-flash-8kb-sram/ Webstore, F1]&lt;br /&gt;
&lt;br /&gt;
[http://store.newae.com/stm32f3-target-for-cw308-arm-cortex-m4-256kb-flash-40kb-sram/ Webstore, F3]&lt;br /&gt;
&lt;br /&gt;
[http://store.newae.com/stm32f4-target-for-cw308-arm-cortex-m4-1mb-flash-192kb-sram/ Webstore, F4]&lt;br /&gt;
&lt;br /&gt;
[http://store.newae.com/blank-pcb-stm32fx-cw308-target/ Webstore PCB]&lt;br /&gt;
|Design Files           = [https://github.com/newaetech/chipwhisperer/tree/master/hardware/victims/cw308_ufo_target/stm32f GITHub Link]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.newae.com/CW308T-STM32F OSH Park PCBs]&lt;br /&gt;
&lt;br /&gt;
|Supported Applications = [[SimpleSerial | Simple Serial Enc/Auth]]&lt;br /&gt;
|Programmer             = ST-LINK/V2&lt;br /&gt;
|Status                 = Released&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Warningbox|ChipWisperer v5.1.3 before commit 3557 and arm-none-eabi-gcc before q2-2018 can produce non-working binaries for the STM32F3. The only fix is to update either ChipWhisperer or gcc}}&lt;br /&gt;
&lt;br /&gt;
== Supported Devices ==&lt;br /&gt;
&lt;br /&gt;
The STM32F board supports several STM32F devices in the TQFP-64 package. Various solder jumpers need to bet set to either the &amp;quot;A&amp;quot; or &amp;quot;B&amp;quot; position to select appropriate VCC supply for the different series. The following table summarizes examples of suitable devices:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!STM32F Series&lt;br /&gt;
!Package&lt;br /&gt;
!Device&lt;br /&gt;
!Hardware AES&lt;br /&gt;
!Tested&lt;br /&gt;
!Jumper&lt;br /&gt;
!Flash&lt;br /&gt;
!SRAM&lt;br /&gt;
!NAE P/N&lt;br /&gt;
|-&lt;br /&gt;
|F0&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F071RBT6&lt;br /&gt;
|No&lt;br /&gt;
|Yes&lt;br /&gt;
|B&lt;br /&gt;
|128KB&lt;br /&gt;
|16KB&lt;br /&gt;
|NAE-CW308T-STM32F0&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F100RBT6B&lt;br /&gt;
|No&lt;br /&gt;
|Yes&lt;br /&gt;
|B&lt;br /&gt;
|128KB&lt;br /&gt;
|8KB&lt;br /&gt;
|NAE-CW308T-STM32F1&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F215RET6&lt;br /&gt;
|Yes&lt;br /&gt;
|Yes&lt;br /&gt;
|A&lt;br /&gt;
|512KB&lt;br /&gt;
|132KB&lt;br /&gt;
|NAE-CW308T-STM32F2HWC&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F303RCT7&lt;br /&gt;
|No&lt;br /&gt;
|Yes&lt;br /&gt;
|B&lt;br /&gt;
|256KB&lt;br /&gt;
|40KB&lt;br /&gt;
|NAE-CW308T-STM32F3&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F415RGT6&lt;br /&gt;
|Yes&lt;br /&gt;
|Yes&lt;br /&gt;
|A&lt;br /&gt;
|1MB&lt;br /&gt;
|192KB&lt;br /&gt;
|NAE-CW308T-STM32F4HWC&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F405RGT6&lt;br /&gt;
|No&lt;br /&gt;
|Yes&lt;br /&gt;
|A&lt;br /&gt;
|1MB&lt;br /&gt;
|192KB&lt;br /&gt;
|NAE-CW308T-STM32F4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== VCC-Int Supply ===&lt;br /&gt;
Several devices (F2, F4) have internal core voltage regulators. By default the CW308 board attempts to provide power for these pins, but the voltage may not be high enough to cause the internal regulator to disable itself. In this case you can use the VADJ regulator to ensure the internal regulator is disabled. See [[Targets with Internal Regulators]] for details.&lt;br /&gt;
&lt;br /&gt;
=== Pin-outs across TQFP Devices ===&lt;br /&gt;
&lt;br /&gt;
The following shows differences in pinouts between three groups of devices. The left-most is the STM32F051RB, which uses the same 3.3V VCORE as the STM32F1/F3. It has fewer VCC pins, so the I/O occupying that are VCC/GND pins on the STM32F1 (such as PF6/PF7) are tied to GND/VCC. The right-most part is the pinout of the STM32F2/F4. It has an internal regulator, where the VCAP pins are the output of this regulator (and input to the internal core logic).&lt;br /&gt;
&lt;br /&gt;
[[File:power_diffstm32.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Note for the devices with a 3.3V VCORE, you should not mount decoupling capacitors C5/C6/C7/C8. You will still get some leakage with those capacitors mounted, but a stronger signal is present without them.&lt;br /&gt;
&lt;br /&gt;
== Hardware AES ==&lt;br /&gt;
&lt;br /&gt;
The STM32F21x, and STM32F41x/43x have hardware crypto modules (AES, DES, TDES) along with hardware hash (SHA1, MD5). Hardware crypto for the STM32F4 has been integrated into the Hal build system on the develop branch. To use the hardware crypto, call HW_AES128_Init() at the beginning of your program. You can update the key with HW_AES128_LoadKey(), encrypt plaintext with HW_AES128_Enc(), and decrypt data with HW_AES128_Dec().&lt;br /&gt;
&lt;br /&gt;
== CAN Connection ==&lt;br /&gt;
&lt;br /&gt;
A 6-pin header is present for devices which have CAN hardware support (not all devices have this). A CANoodler can be plugged in to provide the physical transceiver. This header is not normally mounted, unless the board is part of an 'automotive bundle'. The header is left unmounted as it can impede sweeping a probe over the surface of the chip.&lt;br /&gt;
&lt;br /&gt;
== Programming Connection ==&lt;br /&gt;
&lt;br /&gt;
=== ChipWhisperer Programmer via Bootloader ===&lt;br /&gt;
&lt;br /&gt;
See further down this wiki page for details.&lt;br /&gt;
&lt;br /&gt;
=== JTAG Programmer ===&lt;br /&gt;
&lt;br /&gt;
The 20-pin JTAG port (J6 on CW308 Board) can be used with the [https://www.digikey.com/product-detail/en/stmicroelectronics/ST-LINK-V2/497-10484-ND/2214535 ST-LINK/V2] which is a low-cost JTAG programmer. &lt;br /&gt;
&lt;br /&gt;
It is also possible to use other JTAG programmers such as OpenOCD. The following command worked with an Olimex OpenOCD programmer and their [https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ OpenOCD for Windows] software:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
openocd &lt;br /&gt;
  -f path/to/board/files/cw308.cfg &lt;br /&gt;
  -c init &lt;br /&gt;
  -c targets &lt;br /&gt;
  -c &amp;quot;halt&amp;quot; &lt;br /&gt;
  -c &amp;quot;flash write_image erase path/to/firmware.hex&amp;quot;       &lt;br /&gt;
  -c &amp;quot;verify_image path/to/firmware.hex&amp;quot;        &lt;br /&gt;
  -c &amp;quot;reset run&amp;quot; &lt;br /&gt;
  -c shutdown&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where the contents of &amp;lt;code&amp;gt;cw308.cfg&amp;lt;/code&amp;gt; are&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
source [find interface/olimex-arm-usb-ocd-h.cfg]&lt;br /&gt;
source [find target/stm32f4x.cfg]&lt;br /&gt;
reset_config srst_only&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example Projects ==&lt;br /&gt;
&lt;br /&gt;
SimpleSerial builds for each of the STM32Fx Devices. Each device is a separate HAL. These HAL modules have been copied from ST's HAL (not the CUBE) and greatly reduced in size by deleting unused files (such as headers for unused devices), and combining several C-source files into a single low-level C-file.&lt;br /&gt;
&lt;br /&gt;
Many example projects are available via Jupyter Notebooks: https://chipwhisperer.readthedocs.io/en/latest/tutorials.html. Note that all of these examples were created for the CWLITEARM (equivalent STM32F3) target. You will need to make changes based on which target you have to run the tutorials. For some tutorials, changing the PLATFORM variable in the first block to the one you're using is enough to get the tutorial working:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
SCOPETYPE = &amp;quot;OPENADC&amp;quot;&lt;br /&gt;
PLATFORM = &amp;quot;CW308_STM32F4&amp;quot; #previously &amp;quot;CWLITEARM&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Building ST Example on Command Line ===&lt;br /&gt;
The regular firmware build process works with the STM32 devices. For example, to build `simpleserial-aes`, navigate to the folder `chipwhisperer\hardware\victims\firmware\simpleserial-aes` and run the following command on the command line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make PLATFORM=CW308_STM32F0 CRYPTO_TARGET=TINYAES128C&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If all goes well, this command will finish by printing the output file size and the platform:&lt;br /&gt;
&lt;br /&gt;
[[File:Stm32-make.png]]&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Programming via ChipWhisperer Bootloader ===&lt;br /&gt;
|content= CW308T-STM32F/ChipWhisperer_Bootloader}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Running ST Example with ST-Link ===&lt;br /&gt;
|content= CW308T-STM32F/ST_Link}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Building and Debugging via ST's System Workbench ===&lt;br /&gt;
|content= CW308T-STM32F/Debugging_with_ST_Link}}&lt;br /&gt;
&lt;br /&gt;
== Schematic ==&lt;br /&gt;
The following variants are possible, see the table above for SRAM/FLASH/HW-Crypto status:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Variant&lt;br /&gt;
!U1&lt;br /&gt;
!R3 (VCC-Shunt)&lt;br /&gt;
!R4 (Clock)&lt;br /&gt;
|-&lt;br /&gt;
|F0&lt;br /&gt;
|STM32F071RBT6 &lt;br /&gt;
|33-ohm&lt;br /&gt;
|120-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|STM32F100RBT6&lt;br /&gt;
|22-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F2HWC&lt;br /&gt;
|STM32F215RET6&lt;br /&gt;
|10-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|STM32F303RCT7&lt;br /&gt;
|12-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|STM32F405RGT6&lt;br /&gt;
|10-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F4HWC&lt;br /&gt;
|STM32F415RGT6&lt;br /&gt;
|10-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Rev -03 Schematic ===&lt;br /&gt;
&lt;br /&gt;
The current revision of the target is -03. The following shows this schematic:&lt;br /&gt;
&lt;br /&gt;
[[File:CW308T_STM32F_03.png|1100px]]&lt;br /&gt;
&lt;br /&gt;
=== Rev -02 Schematic ===&lt;br /&gt;
&lt;br /&gt;
The original board sold was the -02 revision. The revision is part of the part number, for example these boards will be marked STM32F-02. The -02 revision also does not have the CAN connector:&lt;br /&gt;
[[File:cw308_stm32f.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:CW308T_STM32F_02.png|1100px]]&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
{{Template:Hardware}}&lt;br /&gt;
&lt;br /&gt;
[[Category: CW308 Targets]]&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW308T-STM32F&amp;diff=4121</id>
		<title>CW308T-STM32F</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW308T-STM32F&amp;diff=4121"/>
				<updated>2020-03-11T18:08:49Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox cw308target&lt;br /&gt;
|name                   = CW308T-STM32F&lt;br /&gt;
|image                  = STM32F3-Top_Rev03.jpg&lt;br /&gt;
|caption                = &lt;br /&gt;
|Target Device          = ST STM32F&lt;br /&gt;
|Target Architecture    = Cortex M0,M3,M4&lt;br /&gt;
|Hardware Crypto        = Possible&lt;br /&gt;
|Purchase Hardware      = [http://store.newae.com/stm32f0-target-for-cw308-arm-cortex-m0-128kb-flash-8kb-sram/ Webstore, F0]&lt;br /&gt;
&lt;br /&gt;
[http://store.newae.com/stm32f1-target-for-cw308-arm-cortex-m3-128kb-flash-8kb-sram/ Webstore, F1]&lt;br /&gt;
&lt;br /&gt;
[http://store.newae.com/stm32f3-target-for-cw308-arm-cortex-m4-256kb-flash-40kb-sram/ Webstore, F3]&lt;br /&gt;
&lt;br /&gt;
[http://store.newae.com/stm32f4-target-for-cw308-arm-cortex-m4-1mb-flash-192kb-sram/ Webstore, F4]&lt;br /&gt;
&lt;br /&gt;
[http://store.newae.com/blank-pcb-stm32fx-cw308-target/ Webstore PCB]&lt;br /&gt;
|Design Files           = [https://github.com/newaetech/chipwhisperer/tree/master/hardware/victims/cw308_ufo_target/stm32f GITHub Link]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.newae.com/CW308T-STM32F OSH Park PCBs]&lt;br /&gt;
&lt;br /&gt;
|Supported Applications = [[SimpleSerial | Simple Serial Enc/Auth]]&lt;br /&gt;
|Programmer             = ST-LINK/V2&lt;br /&gt;
|Status                 = Released&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Warningbox|ChipWisperer v5.1.3 before commit 3557 and arm-none-eabi-gcc before q2-2018 can produce non-working binaries for the STM32F3. The only fix is to update either ChipWhisperer or gcc}}&lt;br /&gt;
&lt;br /&gt;
== Supported Devices ==&lt;br /&gt;
&lt;br /&gt;
The STM32F board supports several STM32F devices in the TQFP-64 package. Various solder jumpers need to bet set to either the &amp;quot;A&amp;quot; or &amp;quot;B&amp;quot; position to select appropriate VCC supply for the different series. The following table summarizes examples of suitable devices:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!STM32F Series&lt;br /&gt;
!Package&lt;br /&gt;
!Device&lt;br /&gt;
!Hardware AES&lt;br /&gt;
!Tested&lt;br /&gt;
!Jumper&lt;br /&gt;
!Flash&lt;br /&gt;
!SRAM&lt;br /&gt;
!NAE P/N&lt;br /&gt;
|-&lt;br /&gt;
|F0&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F071RBT6&lt;br /&gt;
|No&lt;br /&gt;
|Yes&lt;br /&gt;
|B&lt;br /&gt;
|128KB&lt;br /&gt;
|16KB&lt;br /&gt;
|NAE-CW308T-STM32F0&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F100RBT6B&lt;br /&gt;
|No&lt;br /&gt;
|Yes&lt;br /&gt;
|B&lt;br /&gt;
|128KB&lt;br /&gt;
|8KB&lt;br /&gt;
|NAE-CW308T-STM32F1&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F215RET6&lt;br /&gt;
|Yes&lt;br /&gt;
|Yes&lt;br /&gt;
|A&lt;br /&gt;
|512KB&lt;br /&gt;
|132KB&lt;br /&gt;
|NAE-CW308T-STM32F2HWC&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F303RCT7&lt;br /&gt;
|No&lt;br /&gt;
|Yes&lt;br /&gt;
|B&lt;br /&gt;
|256KB&lt;br /&gt;
|40KB&lt;br /&gt;
|NAE-CW308T-STM32F3&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F415RGT6&lt;br /&gt;
|Yes&lt;br /&gt;
|Yes&lt;br /&gt;
|A&lt;br /&gt;
|1MB&lt;br /&gt;
|192KB&lt;br /&gt;
|NAE-CW308T-STM32F4HWC&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F405RGT6&lt;br /&gt;
|No&lt;br /&gt;
|Yes&lt;br /&gt;
|A&lt;br /&gt;
|1MB&lt;br /&gt;
|192KB&lt;br /&gt;
|NAE-CW308T-STM32F4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== VCC-Int Supply ===&lt;br /&gt;
Several devices (F2, F4) have internal core voltage regulators. By default the CW308 board attempts to provide power for these pins, but the voltage may not be high enough to cause the internal regulator to disable itself. In this case you can use the VADJ regulator to ensure the internal regulator is disabled. See [[Targets with Internal Regulators]] for details.&lt;br /&gt;
&lt;br /&gt;
=== Pin-outs across TQFP Devices ===&lt;br /&gt;
&lt;br /&gt;
The following shows differences in pinouts between three groups of devices. The left-most is the STM32F051RB, which uses the same 3.3V VCORE as the STM32F1/F3. It has fewer VCC pins, so the I/O occupying that are VCC/GND pins on the STM32F1 (such as PF6/PF7) are tied to GND/VCC. The right-most part is the pinout of the STM32F2/F4. It has an internal regulator, where the VCAP pins are the output of this regulator (and input to the internal core logic).&lt;br /&gt;
&lt;br /&gt;
[[File:power_diffstm32.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Note for the devices with a 3.3V VCORE, you should not mount decoupling capacitors C5/C6/C7/C8. You will still get some leakage with those capacitors mounted, but a stronger signal is present without them.&lt;br /&gt;
&lt;br /&gt;
== Hardware AES ==&lt;br /&gt;
&lt;br /&gt;
The STM32F21x, and STM32F41x/43x have hardware crypto modules (AES, DES, TDES) along with hardware hash (SHA1, MD5). Hardware crypto for the STM32F4 has been integrated into the Hal build system on the develop branch. To use the hardware crypto, call HW_AES128_Init() at the beginning of your program. You can update the key with HW_AES128_LoadKey(), encrypt plaintext with HW_AES128_Enc(), and decrypt data with HW_AES128_Dec().&lt;br /&gt;
&lt;br /&gt;
== CAN Connection ==&lt;br /&gt;
&lt;br /&gt;
A 6-pin header is present for devices which have CAN hardware support (not all devices have this). A CANoodler can be plugged in to provide the physical transceiver. This header is not normally mounted, unless the board is part of an 'automotive bundle'. The header is left unmounted as it can impede sweeping a probe over the surface of the chip.&lt;br /&gt;
&lt;br /&gt;
== Programming Connection ==&lt;br /&gt;
&lt;br /&gt;
=== ChipWhisperer Programmer via Bootloader ===&lt;br /&gt;
&lt;br /&gt;
See further down this wiki page for details.&lt;br /&gt;
&lt;br /&gt;
=== JTAG Programmer ===&lt;br /&gt;
&lt;br /&gt;
The 20-pin JTAG port (J6 on CW308 Board) can be used with the [https://www.digikey.com/product-detail/en/stmicroelectronics/ST-LINK-V2/497-10484-ND/2214535 ST-LINK/V2] which is a low-cost JTAG programmer. &lt;br /&gt;
&lt;br /&gt;
It is also possible to use other JTAG programmers such as OpenOCD. The following command worked with an Olimex OpenOCD programmer and their [https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ OpenOCD for Windows] software:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
openocd &lt;br /&gt;
  -f path/to/board/files/cw308.cfg &lt;br /&gt;
  -c init &lt;br /&gt;
  -c targets &lt;br /&gt;
  -c &amp;quot;halt&amp;quot; &lt;br /&gt;
  -c &amp;quot;flash write_image erase path/to/firmware.hex&amp;quot;       &lt;br /&gt;
  -c &amp;quot;verify_image path/to/firmware.hex&amp;quot;        &lt;br /&gt;
  -c &amp;quot;reset run&amp;quot; &lt;br /&gt;
  -c shutdown&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where the contents of &amp;lt;code&amp;gt;cw308.cfg&amp;lt;/code&amp;gt; are&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
source [find interface/olimex-arm-usb-ocd-h.cfg]&lt;br /&gt;
source [find target/stm32f4x.cfg]&lt;br /&gt;
reset_config srst_only&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example Projects ==&lt;br /&gt;
&lt;br /&gt;
SimpleSerial builds for each of the STM32Fx Devices. Each device is a separate HAL. These HAL modules have been copied from ST's HAL (not the CUBE) and greatly reduced in size by deleting unused files (such as headers for unused devices), and combining several C-source files into a single low-level C-file.&lt;br /&gt;
&lt;br /&gt;
=== Building ST Example on Command Line ===&lt;br /&gt;
The regular firmware build process works with the STM32 devices. For example, to build `simpleserial-aes`, navigate to the folder `chipwhisperer\hardware\victims\firmware\simpleserial-aes` and run the following command on the command line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make PLATFORM=CW308_STM32F0 CRYPTO_TARGET=TINYAES128C&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If all goes well, this command will finish by printing the output file size and the platform:&lt;br /&gt;
&lt;br /&gt;
[[File:Stm32-make.png]]&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Programming via ChipWhisperer Bootloader ===&lt;br /&gt;
|content= CW308T-STM32F/ChipWhisperer_Bootloader}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Running ST Example with ST-Link ===&lt;br /&gt;
|content= CW308T-STM32F/ST_Link}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Building and Debugging via ST's System Workbench ===&lt;br /&gt;
|content= CW308T-STM32F/Debugging_with_ST_Link}}&lt;br /&gt;
&lt;br /&gt;
== Schematic ==&lt;br /&gt;
The following variants are possible, see the table above for SRAM/FLASH/HW-Crypto status:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Variant&lt;br /&gt;
!U1&lt;br /&gt;
!R3 (VCC-Shunt)&lt;br /&gt;
!R4 (Clock)&lt;br /&gt;
|-&lt;br /&gt;
|F0&lt;br /&gt;
|STM32F071RBT6 &lt;br /&gt;
|33-ohm&lt;br /&gt;
|120-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|STM32F100RBT6&lt;br /&gt;
|22-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F2HWC&lt;br /&gt;
|STM32F215RET6&lt;br /&gt;
|10-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|STM32F303RCT7&lt;br /&gt;
|12-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|STM32F405RGT6&lt;br /&gt;
|10-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F4HWC&lt;br /&gt;
|STM32F415RGT6&lt;br /&gt;
|10-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Rev -03 Schematic ===&lt;br /&gt;
&lt;br /&gt;
The current revision of the target is -03. The following shows this schematic:&lt;br /&gt;
&lt;br /&gt;
[[File:CW308T_STM32F_03.png|1100px]]&lt;br /&gt;
&lt;br /&gt;
=== Rev -02 Schematic ===&lt;br /&gt;
&lt;br /&gt;
The original board sold was the -02 revision. The revision is part of the part number, for example these boards will be marked STM32F-02. The -02 revision also does not have the CAN connector:&lt;br /&gt;
[[File:cw308_stm32f.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:CW308T_STM32F_02.png|1100px]]&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
{{Template:Hardware}}&lt;br /&gt;
&lt;br /&gt;
[[Category: CW308 Targets]]&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW308T-STM32F&amp;diff=4120</id>
		<title>CW308T-STM32F</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW308T-STM32F&amp;diff=4120"/>
				<updated>2020-03-11T18:07:24Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: /* Example Projects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox cw308target&lt;br /&gt;
|name                   = CW308T-STM32F&lt;br /&gt;
|image                  = STM32F3-Top_Rev03.jpg&lt;br /&gt;
|caption                = &lt;br /&gt;
|Target Device          = ST STM32F&lt;br /&gt;
|Target Architecture    = Cortex M0,M3,M4&lt;br /&gt;
|Hardware Crypto        = Possible&lt;br /&gt;
|Purchase Hardware      = [http://store.newae.com/stm32f0-target-for-cw308-arm-cortex-m0-128kb-flash-8kb-sram/ Webstore, F0]&lt;br /&gt;
&lt;br /&gt;
[http://store.newae.com/stm32f1-target-for-cw308-arm-cortex-m3-128kb-flash-8kb-sram/ Webstore, F1]&lt;br /&gt;
&lt;br /&gt;
[http://store.newae.com/stm32f3-target-for-cw308-arm-cortex-m4-256kb-flash-40kb-sram/ Webstore, F3]&lt;br /&gt;
&lt;br /&gt;
[http://store.newae.com/stm32f4-target-for-cw308-arm-cortex-m4-1mb-flash-192kb-sram/ Webstore, F4]&lt;br /&gt;
&lt;br /&gt;
[http://store.newae.com/blank-pcb-stm32fx-cw308-target/ Webstore PCB]&lt;br /&gt;
|Design Files           = [https://github.com/newaetech/chipwhisperer/tree/master/hardware/victims/cw308_ufo_target/stm32f GITHub Link]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.newae.com/CW308T-STM32F OSH Park PCBs]&lt;br /&gt;
&lt;br /&gt;
|Supported Applications = [[SimpleSerial | Simple Serial Enc/Auth]]&lt;br /&gt;
|Programmer             = ST-LINK/V2&lt;br /&gt;
|Status                 = Released&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Warningbox|ChipWisperer v5.1.3 before commit 3557 and arm-none-eabi-gcc before q2-2018 can produce non-working binaries for the STM32F3. The only fix is to update either ChipWhisperer or gcc}}&lt;br /&gt;
&lt;br /&gt;
{{Warningbox|This page has not yet been fully updated for the v5 release. Some information may be outdated.}}&lt;br /&gt;
&lt;br /&gt;
== Supported Devices ==&lt;br /&gt;
&lt;br /&gt;
The STM32F board supports several STM32F devices in the TQFP-64 package. Various solder jumpers need to bet set to either the &amp;quot;A&amp;quot; or &amp;quot;B&amp;quot; position to select appropriate VCC supply for the different series. The following table summarizes examples of suitable devices:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!STM32F Series&lt;br /&gt;
!Package&lt;br /&gt;
!Device&lt;br /&gt;
!Hardware AES&lt;br /&gt;
!Tested&lt;br /&gt;
!Jumper&lt;br /&gt;
!Flash&lt;br /&gt;
!SRAM&lt;br /&gt;
!NAE P/N&lt;br /&gt;
|-&lt;br /&gt;
|F0&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F071RBT6&lt;br /&gt;
|No&lt;br /&gt;
|Yes&lt;br /&gt;
|B&lt;br /&gt;
|128KB&lt;br /&gt;
|16KB&lt;br /&gt;
|NAE-CW308T-STM32F0&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F100RBT6B&lt;br /&gt;
|No&lt;br /&gt;
|Yes&lt;br /&gt;
|B&lt;br /&gt;
|128KB&lt;br /&gt;
|8KB&lt;br /&gt;
|NAE-CW308T-STM32F1&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F215RET6&lt;br /&gt;
|Yes&lt;br /&gt;
|Yes&lt;br /&gt;
|A&lt;br /&gt;
|512KB&lt;br /&gt;
|132KB&lt;br /&gt;
|NAE-CW308T-STM32F2HWC&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F303RCT7&lt;br /&gt;
|No&lt;br /&gt;
|Yes&lt;br /&gt;
|B&lt;br /&gt;
|256KB&lt;br /&gt;
|40KB&lt;br /&gt;
|NAE-CW308T-STM32F3&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F415RGT6&lt;br /&gt;
|Yes&lt;br /&gt;
|Yes&lt;br /&gt;
|A&lt;br /&gt;
|1MB&lt;br /&gt;
|192KB&lt;br /&gt;
|NAE-CW308T-STM32F4HWC&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F405RGT6&lt;br /&gt;
|No&lt;br /&gt;
|Yes&lt;br /&gt;
|A&lt;br /&gt;
|1MB&lt;br /&gt;
|192KB&lt;br /&gt;
|NAE-CW308T-STM32F4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== VCC-Int Supply ===&lt;br /&gt;
Several devices (F2, F4) have internal core voltage regulators. By default the CW308 board attempts to provide power for these pins, but the voltage may not be high enough to cause the internal regulator to disable itself. In this case you can use the VADJ regulator to ensure the internal regulator is disabled. See [[Targets with Internal Regulators]] for details.&lt;br /&gt;
&lt;br /&gt;
=== Pin-outs across TQFP Devices ===&lt;br /&gt;
&lt;br /&gt;
The following shows differences in pinouts between three groups of devices. The left-most is the STM32F051RB, which uses the same 3.3V VCORE as the STM32F1/F3. It has fewer VCC pins, so the I/O occupying that are VCC/GND pins on the STM32F1 (such as PF6/PF7) are tied to GND/VCC. The right-most part is the pinout of the STM32F2/F4. It has an internal regulator, where the VCAP pins are the output of this regulator (and input to the internal core logic).&lt;br /&gt;
&lt;br /&gt;
[[File:power_diffstm32.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Note for the devices with a 3.3V VCORE, you should not mount decoupling capacitors C5/C6/C7/C8. You will still get some leakage with those capacitors mounted, but a stronger signal is present without them.&lt;br /&gt;
&lt;br /&gt;
== Hardware AES ==&lt;br /&gt;
&lt;br /&gt;
The STM32F21x, and STM32F41x/43x have hardware crypto modules (AES, DES, TDES) along with hardware hash (SHA1, MD5). Hardware crypto for the STM32F4 has been integrated into the Hal build system on the develop branch. To use the hardware crypto, call HW_AES128_Init() at the beginning of your program. You can update the key with HW_AES128_LoadKey(), encrypt plaintext with HW_AES128_Enc(), and decrypt data with HW_AES128_Dec().&lt;br /&gt;
&lt;br /&gt;
== CAN Connection ==&lt;br /&gt;
&lt;br /&gt;
A 6-pin header is present for devices which have CAN hardware support (not all devices have this). A CANoodler can be plugged in to provide the physical transceiver. This header is not normally mounted, unless the board is part of an 'automotive bundle'. The header is left unmounted as it can impede sweeping a probe over the surface of the chip.&lt;br /&gt;
&lt;br /&gt;
== Programming Connection ==&lt;br /&gt;
&lt;br /&gt;
=== ChipWhisperer Programmer via Bootloader ===&lt;br /&gt;
&lt;br /&gt;
See further down this wiki page for details.&lt;br /&gt;
&lt;br /&gt;
=== JTAG Programmer ===&lt;br /&gt;
&lt;br /&gt;
The 20-pin JTAG port (J6 on CW308 Board) can be used with the [https://www.digikey.com/product-detail/en/stmicroelectronics/ST-LINK-V2/497-10484-ND/2214535 ST-LINK/V2] which is a low-cost JTAG programmer. &lt;br /&gt;
&lt;br /&gt;
It is also possible to use other JTAG programmers such as OpenOCD. The following command worked with an Olimex OpenOCD programmer and their [https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ OpenOCD for Windows] software:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
openocd &lt;br /&gt;
  -f path/to/board/files/cw308.cfg &lt;br /&gt;
  -c init &lt;br /&gt;
  -c targets &lt;br /&gt;
  -c &amp;quot;halt&amp;quot; &lt;br /&gt;
  -c &amp;quot;flash write_image erase path/to/firmware.hex&amp;quot;       &lt;br /&gt;
  -c &amp;quot;verify_image path/to/firmware.hex&amp;quot;        &lt;br /&gt;
  -c &amp;quot;reset run&amp;quot; &lt;br /&gt;
  -c shutdown&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where the contents of &amp;lt;code&amp;gt;cw308.cfg&amp;lt;/code&amp;gt; are&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
source [find interface/olimex-arm-usb-ocd-h.cfg]&lt;br /&gt;
source [find target/stm32f4x.cfg]&lt;br /&gt;
reset_config srst_only&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example Projects ==&lt;br /&gt;
&lt;br /&gt;
SimpleSerial builds for each of the STM32Fx Devices. Each device is a separate HAL. These HAL modules have been copied from ST's HAL (not the CUBE) and greatly reduced in size by deleting unused files (such as headers for unused devices), and combining several C-source files into a single low-level C-file.&lt;br /&gt;
&lt;br /&gt;
=== Building ST Example on Command Line ===&lt;br /&gt;
The regular firmware build process works with the STM32 devices. For example, to build `simpleserial-aes`, navigate to the folder `chipwhisperer\hardware\victims\firmware\simpleserial-aes` and run the following command on the command line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make PLATFORM=CW308_STM32F0 CRYPTO_TARGET=TINYAES128C&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If all goes well, this command will finish by printing the output file size and the platform:&lt;br /&gt;
&lt;br /&gt;
[[File:Stm32-make.png]]&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Programming via ChipWhisperer Bootloader ===&lt;br /&gt;
|content= CW308T-STM32F/ChipWhisperer_Bootloader}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Running ST Example with ST-Link ===&lt;br /&gt;
|content= CW308T-STM32F/ST_Link}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Building and Debugging via ST's System Workbench ===&lt;br /&gt;
|content= CW308T-STM32F/Debugging_with_ST_Link}}&lt;br /&gt;
&lt;br /&gt;
== Schematic ==&lt;br /&gt;
The following variants are possible, see the table above for SRAM/FLASH/HW-Crypto status:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Variant&lt;br /&gt;
!U1&lt;br /&gt;
!R3 (VCC-Shunt)&lt;br /&gt;
!R4 (Clock)&lt;br /&gt;
|-&lt;br /&gt;
|F0&lt;br /&gt;
|STM32F071RBT6 &lt;br /&gt;
|33-ohm&lt;br /&gt;
|120-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|STM32F100RBT6&lt;br /&gt;
|22-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F2HWC&lt;br /&gt;
|STM32F215RET6&lt;br /&gt;
|10-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|STM32F303RCT7&lt;br /&gt;
|12-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|STM32F405RGT6&lt;br /&gt;
|10-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F4HWC&lt;br /&gt;
|STM32F415RGT6&lt;br /&gt;
|10-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Rev -03 Schematic ===&lt;br /&gt;
&lt;br /&gt;
The current revision of the target is -03. The following shows this schematic:&lt;br /&gt;
&lt;br /&gt;
[[File:CW308T_STM32F_03.png|1100px]]&lt;br /&gt;
&lt;br /&gt;
=== Rev -02 Schematic ===&lt;br /&gt;
&lt;br /&gt;
The original board sold was the -02 revision. The revision is part of the part number, for example these boards will be marked STM32F-02. The -02 revision also does not have the CAN connector:&lt;br /&gt;
[[File:cw308_stm32f.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:CW308T_STM32F_02.png|1100px]]&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
{{Template:Hardware}}&lt;br /&gt;
&lt;br /&gt;
[[Category: CW308 Targets]]&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW308T-STM32F/Debugging_with_ST_Link&amp;diff=4119</id>
		<title>CW308T-STM32F/Debugging with ST Link</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW308T-STM32F/Debugging_with_ST_Link&amp;diff=4119"/>
				<updated>2020-03-11T18:06:50Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: Created page with &amp;quot;It's also possible to work on the example projects using [http://www.st.com/en/development-tools/sw4stm32.html ST's System Workbench IDE]. This IDE also supports debugging, wh...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;It's also possible to work on the example projects using [http://www.st.com/en/development-tools/sw4stm32.html ST's System Workbench IDE]. This IDE also supports debugging, which is helpful for working out all the kinks in your firmware.&lt;br /&gt;
&lt;br /&gt;
To build the ChipWhisperer examples in System Workbench:&lt;br /&gt;
&lt;br /&gt;
1. Create a new Mcu project by going to ''File &amp;gt; New &amp;gt; C Project'' and selecting ''&amp;lt;nowiki/&amp;gt;'&amp;lt;nowiki/&amp;gt;''Ac6 STM32 MCU Project'''.'' When you get to Target Configuration, click the Mcu tab and select the microcontroller that you want to target:&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 New Project.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 MCU-Selection.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
2. Link the external files into the project. To do this, under ''File &amp;gt; Import'', select ''File System''. In the `chipwhisperer\hardware\victims\firmware` directory, select all of the relevant files and folders (Makefile in base folder, Makefile in HAL folder, STM32Fx HAL folder).:&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 Import.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
3. Set up the build command. In ''File &amp;gt; Properties'', go to ''C/C++ Build &amp;gt; Behavior'' and remove 'all''&amp;lt;nowiki/&amp;gt;''' from 'Build' and deselect 'Enable parallel build'. Next, click the ''Builder Settings'' tab and deselect 'Use default build command' and 'Generate Makefiles Automatically'. Enter the command you would normally enter on the command line and change 'Build directory' to the folder you want to build in:&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 Behaviour.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 Build-Settings.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
4. Build the project and confirm that the build works from the output in the IDE console.&lt;br /&gt;
&lt;br /&gt;
Then, if you want to set up debugging:&lt;br /&gt;
&lt;br /&gt;
1. Go to ''in File &amp;gt; Properties'' select Run/Debug Settings and create a new debug configuration. Under Debugger, click 'Show generator options...' and setup your Connection Setup based on your debugger. Change 'Reset Mode' to 'Software System reset':&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 Debugging.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
2. Click Apply and enter debugging mode. &lt;br /&gt;
&lt;br /&gt;
'''Caveat''': the I/O register map in the debugger appears to use the last known device (ie: if you debugged an STM32F4 project before your Makefile project, it sticks with F4's registers). Check that the registers' addresses are correct before you trust them!&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW308T-STM32F/ST_Link&amp;diff=4118</id>
		<title>CW308T-STM32F/ST Link</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW308T-STM32F/ST_Link&amp;diff=4118"/>
				<updated>2020-03-11T18:05:33Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: Created page with &amp;quot;If instead of using the bootloader, you want to use a ST-Link you can instead plug your programmer into the 20 pin JTAG connector (J6 on the UFO board):  File:Stm32-jtag.jpg...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;If instead of using the bootloader, you want to use a ST-Link you can instead plug your programmer into the 20 pin JTAG connector (J6 on the UFO board):&lt;br /&gt;
&lt;br /&gt;
[[File:Stm32-jtag.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
Then, the details of this step will depend on your programmer. If you're using an ST-Link programmer, open the ST-Link utility and connect to the device:&lt;br /&gt;
&lt;br /&gt;
[[File:Stm32-connect.png]]&lt;br /&gt;
&lt;br /&gt;
Load your `.hex` file and program the device with the Program and Verify button:&lt;br /&gt;
&lt;br /&gt;
[[File:Stm32-program.png]]&lt;br /&gt;
&lt;br /&gt;
After this, you're ready to go - you can use the ChipWhisperer terminal to talk to your target. You might need to reset the target before you do anything else.&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW308T-STM32F&amp;diff=4117</id>
		<title>CW308T-STM32F</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW308T-STM32F&amp;diff=4117"/>
				<updated>2020-03-11T18:03:21Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox cw308target&lt;br /&gt;
|name                   = CW308T-STM32F&lt;br /&gt;
|image                  = STM32F3-Top_Rev03.jpg&lt;br /&gt;
|caption                = &lt;br /&gt;
|Target Device          = ST STM32F&lt;br /&gt;
|Target Architecture    = Cortex M0,M3,M4&lt;br /&gt;
|Hardware Crypto        = Possible&lt;br /&gt;
|Purchase Hardware      = [http://store.newae.com/stm32f0-target-for-cw308-arm-cortex-m0-128kb-flash-8kb-sram/ Webstore, F0]&lt;br /&gt;
&lt;br /&gt;
[http://store.newae.com/stm32f1-target-for-cw308-arm-cortex-m3-128kb-flash-8kb-sram/ Webstore, F1]&lt;br /&gt;
&lt;br /&gt;
[http://store.newae.com/stm32f3-target-for-cw308-arm-cortex-m4-256kb-flash-40kb-sram/ Webstore, F3]&lt;br /&gt;
&lt;br /&gt;
[http://store.newae.com/stm32f4-target-for-cw308-arm-cortex-m4-1mb-flash-192kb-sram/ Webstore, F4]&lt;br /&gt;
&lt;br /&gt;
[http://store.newae.com/blank-pcb-stm32fx-cw308-target/ Webstore PCB]&lt;br /&gt;
|Design Files           = [https://github.com/newaetech/chipwhisperer/tree/master/hardware/victims/cw308_ufo_target/stm32f GITHub Link]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.newae.com/CW308T-STM32F OSH Park PCBs]&lt;br /&gt;
&lt;br /&gt;
|Supported Applications = [[SimpleSerial | Simple Serial Enc/Auth]]&lt;br /&gt;
|Programmer             = ST-LINK/V2&lt;br /&gt;
|Status                 = Released&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Warningbox|ChipWisperer v5.1.3 before commit 3557 and arm-none-eabi-gcc before q2-2018 can produce non-working binaries for the STM32F3. The only fix is to update either ChipWhisperer or gcc}}&lt;br /&gt;
&lt;br /&gt;
{{Warningbox|This page has not yet been fully updated for the v5 release. Some information may be outdated.}}&lt;br /&gt;
&lt;br /&gt;
== Supported Devices ==&lt;br /&gt;
&lt;br /&gt;
The STM32F board supports several STM32F devices in the TQFP-64 package. Various solder jumpers need to bet set to either the &amp;quot;A&amp;quot; or &amp;quot;B&amp;quot; position to select appropriate VCC supply for the different series. The following table summarizes examples of suitable devices:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!STM32F Series&lt;br /&gt;
!Package&lt;br /&gt;
!Device&lt;br /&gt;
!Hardware AES&lt;br /&gt;
!Tested&lt;br /&gt;
!Jumper&lt;br /&gt;
!Flash&lt;br /&gt;
!SRAM&lt;br /&gt;
!NAE P/N&lt;br /&gt;
|-&lt;br /&gt;
|F0&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F071RBT6&lt;br /&gt;
|No&lt;br /&gt;
|Yes&lt;br /&gt;
|B&lt;br /&gt;
|128KB&lt;br /&gt;
|16KB&lt;br /&gt;
|NAE-CW308T-STM32F0&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F100RBT6B&lt;br /&gt;
|No&lt;br /&gt;
|Yes&lt;br /&gt;
|B&lt;br /&gt;
|128KB&lt;br /&gt;
|8KB&lt;br /&gt;
|NAE-CW308T-STM32F1&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F215RET6&lt;br /&gt;
|Yes&lt;br /&gt;
|Yes&lt;br /&gt;
|A&lt;br /&gt;
|512KB&lt;br /&gt;
|132KB&lt;br /&gt;
|NAE-CW308T-STM32F2HWC&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F303RCT7&lt;br /&gt;
|No&lt;br /&gt;
|Yes&lt;br /&gt;
|B&lt;br /&gt;
|256KB&lt;br /&gt;
|40KB&lt;br /&gt;
|NAE-CW308T-STM32F3&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F415RGT6&lt;br /&gt;
|Yes&lt;br /&gt;
|Yes&lt;br /&gt;
|A&lt;br /&gt;
|1MB&lt;br /&gt;
|192KB&lt;br /&gt;
|NAE-CW308T-STM32F4HWC&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F405RGT6&lt;br /&gt;
|No&lt;br /&gt;
|Yes&lt;br /&gt;
|A&lt;br /&gt;
|1MB&lt;br /&gt;
|192KB&lt;br /&gt;
|NAE-CW308T-STM32F4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== VCC-Int Supply ===&lt;br /&gt;
Several devices (F2, F4) have internal core voltage regulators. By default the CW308 board attempts to provide power for these pins, but the voltage may not be high enough to cause the internal regulator to disable itself. In this case you can use the VADJ regulator to ensure the internal regulator is disabled. See [[Targets with Internal Regulators]] for details.&lt;br /&gt;
&lt;br /&gt;
=== Pin-outs across TQFP Devices ===&lt;br /&gt;
&lt;br /&gt;
The following shows differences in pinouts between three groups of devices. The left-most is the STM32F051RB, which uses the same 3.3V VCORE as the STM32F1/F3. It has fewer VCC pins, so the I/O occupying that are VCC/GND pins on the STM32F1 (such as PF6/PF7) are tied to GND/VCC. The right-most part is the pinout of the STM32F2/F4. It has an internal regulator, where the VCAP pins are the output of this regulator (and input to the internal core logic).&lt;br /&gt;
&lt;br /&gt;
[[File:power_diffstm32.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Note for the devices with a 3.3V VCORE, you should not mount decoupling capacitors C5/C6/C7/C8. You will still get some leakage with those capacitors mounted, but a stronger signal is present without them.&lt;br /&gt;
&lt;br /&gt;
== Hardware AES ==&lt;br /&gt;
&lt;br /&gt;
The STM32F21x, and STM32F41x/43x have hardware crypto modules (AES, DES, TDES) along with hardware hash (SHA1, MD5). Hardware crypto for the STM32F4 has been integrated into the Hal build system on the develop branch. To use the hardware crypto, call HW_AES128_Init() at the beginning of your program. You can update the key with HW_AES128_LoadKey(), encrypt plaintext with HW_AES128_Enc(), and decrypt data with HW_AES128_Dec().&lt;br /&gt;
&lt;br /&gt;
== CAN Connection ==&lt;br /&gt;
&lt;br /&gt;
A 6-pin header is present for devices which have CAN hardware support (not all devices have this). A CANoodler can be plugged in to provide the physical transceiver. This header is not normally mounted, unless the board is part of an 'automotive bundle'. The header is left unmounted as it can impede sweeping a probe over the surface of the chip.&lt;br /&gt;
&lt;br /&gt;
== Programming Connection ==&lt;br /&gt;
&lt;br /&gt;
=== ChipWhisperer Programmer via Bootloader ===&lt;br /&gt;
&lt;br /&gt;
See further down this wiki page for details.&lt;br /&gt;
&lt;br /&gt;
=== JTAG Programmer ===&lt;br /&gt;
&lt;br /&gt;
The 20-pin JTAG port (J6 on CW308 Board) can be used with the [https://www.digikey.com/product-detail/en/stmicroelectronics/ST-LINK-V2/497-10484-ND/2214535 ST-LINK/V2] which is a low-cost JTAG programmer. &lt;br /&gt;
&lt;br /&gt;
It is also possible to use other JTAG programmers such as OpenOCD. The following command worked with an Olimex OpenOCD programmer and their [https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ OpenOCD for Windows] software:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
openocd &lt;br /&gt;
  -f path/to/board/files/cw308.cfg &lt;br /&gt;
  -c init &lt;br /&gt;
  -c targets &lt;br /&gt;
  -c &amp;quot;halt&amp;quot; &lt;br /&gt;
  -c &amp;quot;flash write_image erase path/to/firmware.hex&amp;quot;       &lt;br /&gt;
  -c &amp;quot;verify_image path/to/firmware.hex&amp;quot;        &lt;br /&gt;
  -c &amp;quot;reset run&amp;quot; &lt;br /&gt;
  -c shutdown&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where the contents of &amp;lt;code&amp;gt;cw308.cfg&amp;lt;/code&amp;gt; are&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
source [find interface/olimex-arm-usb-ocd-h.cfg]&lt;br /&gt;
source [find target/stm32f4x.cfg]&lt;br /&gt;
reset_config srst_only&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example Projects ==&lt;br /&gt;
&lt;br /&gt;
SimpleSerial builds for each of the STM32Fx Devices. Each device is a separate HAL. These HAL modules have been copied from ST's HAL (not the CUBE) and greatly reduced in size by deleting unused files (such as headers for unused devices), and combining several C-source files into a single low-level C-file.&lt;br /&gt;
&lt;br /&gt;
=== Building ST Example on Command Line ===&lt;br /&gt;
The regular firmware build process works with the STM32 devices. For example, to build `simpleserial-aes`, navigate to the folder `chipwhisperer\hardware\victims\firmware\simpleserial-aes` and run the following command on the command line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make PLATFORM=CW308_STM32F0 CRYPTO_TARGET=TINYAES128C&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If all goes well, this command will finish by printing the output file size and the platform:&lt;br /&gt;
&lt;br /&gt;
[[File:Stm32-make.png]]&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Programming via ChipWhisperer Bootloader ===&lt;br /&gt;
|content= CW308T-STM32F/ChipWhisperer_Bootloader}}&lt;br /&gt;
&lt;br /&gt;
=== Running ST Example with ST-Link ===&lt;br /&gt;
If instead of using the bootloader, you want to use a ST-Link you can instead plug your programmer into the 20 pin JTAG connector (J6 on the UFO board):&lt;br /&gt;
&lt;br /&gt;
[[File:Stm32-jtag.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
Then, the details of this step will depend on your programmer. If you're using an ST-Link programmer, open the ST-Link utility and connect to the device:&lt;br /&gt;
&lt;br /&gt;
[[File:Stm32-connect.png]]&lt;br /&gt;
&lt;br /&gt;
Load your `.hex` file and program the device with the Program and Verify button:&lt;br /&gt;
&lt;br /&gt;
[[File:Stm32-program.png]]&lt;br /&gt;
&lt;br /&gt;
After this, you're ready to go - you can use the ChipWhisperer terminal to talk to your target. You might need to reset the target before you do anything else.&lt;br /&gt;
&lt;br /&gt;
=== Building and Debugging via ST's System Workbench ===&lt;br /&gt;
It's also possible to work on the example projects using [http://www.st.com/en/development-tools/sw4stm32.html ST's System Workbench IDE]. This IDE also supports debugging, which is helpful for working out all the kinks in your firmware.&lt;br /&gt;
&lt;br /&gt;
To build the ChipWhisperer examples in System Workbench:&lt;br /&gt;
&lt;br /&gt;
1. Create a new Mcu project by going to ''File &amp;gt; New &amp;gt; C Project'' and selecting ''&amp;lt;nowiki/&amp;gt;'&amp;lt;nowiki/&amp;gt;''Ac6 STM32 MCU Project'''.'' When you get to Target Configuration, click the Mcu tab and select the microcontroller that you want to target:&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 New Project.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 MCU-Selection.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
2. Link the external files into the project. To do this, under ''File &amp;gt; Import'', select ''File System''. In the `chipwhisperer\hardware\victims\firmware` directory, select all of the relevant files and folders (Makefile in base folder, Makefile in HAL folder, STM32Fx HAL folder).:&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 Import.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
3. Set up the build command. In ''File &amp;gt; Properties'', go to ''C/C++ Build &amp;gt; Behavior'' and remove 'all''&amp;lt;nowiki/&amp;gt;''' from 'Build' and deselect 'Enable parallel build'. Next, click the ''Builder Settings'' tab and deselect 'Use default build command' and 'Generate Makefiles Automatically'. Enter the command you would normally enter on the command line and change 'Build directory' to the folder you want to build in:&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 Behaviour.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 Build-Settings.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
4. Build the project and confirm that the build works from the output in the IDE console.&lt;br /&gt;
&lt;br /&gt;
Then, if you want to set up debugging:&lt;br /&gt;
&lt;br /&gt;
1. Go to ''in File &amp;gt; Properties'' select Run/Debug Settings and create a new debug configuration. Under Debugger, click 'Show generator options...' and setup your Connection Setup based on your debugger. Change 'Reset Mode' to 'Software System reset':&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 Debugging.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
2. Click Apply and enter debugging mode. &lt;br /&gt;
&lt;br /&gt;
'''Caveat''': the I/O register map in the debugger appears to use the last known device (ie: if you debugged an STM32F4 project before your Makefile project, it sticks with F4's registers). Check that the registers' addresses are correct before you trust them!&lt;br /&gt;
&lt;br /&gt;
== Schematic ==&lt;br /&gt;
The following variants are possible, see the table above for SRAM/FLASH/HW-Crypto status:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Variant&lt;br /&gt;
!U1&lt;br /&gt;
!R3 (VCC-Shunt)&lt;br /&gt;
!R4 (Clock)&lt;br /&gt;
|-&lt;br /&gt;
|F0&lt;br /&gt;
|STM32F071RBT6 &lt;br /&gt;
|33-ohm&lt;br /&gt;
|120-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|STM32F100RBT6&lt;br /&gt;
|22-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F2HWC&lt;br /&gt;
|STM32F215RET6&lt;br /&gt;
|10-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|STM32F303RCT7&lt;br /&gt;
|12-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|STM32F405RGT6&lt;br /&gt;
|10-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F4HWC&lt;br /&gt;
|STM32F415RGT6&lt;br /&gt;
|10-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Rev -03 Schematic ===&lt;br /&gt;
&lt;br /&gt;
The current revision of the target is -03. The following shows this schematic:&lt;br /&gt;
&lt;br /&gt;
[[File:CW308T_STM32F_03.png|1100px]]&lt;br /&gt;
&lt;br /&gt;
=== Rev -02 Schematic ===&lt;br /&gt;
&lt;br /&gt;
The original board sold was the -02 revision. The revision is part of the part number, for example these boards will be marked STM32F-02. The -02 revision also does not have the CAN connector:&lt;br /&gt;
[[File:cw308_stm32f.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:CW308T_STM32F_02.png|1100px]]&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
{{Template:Hardware}}&lt;br /&gt;
&lt;br /&gt;
[[Category: CW308 Targets]]&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW308T-STM32F/ChipWhisperer_Bootloader&amp;diff=4116</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=4116"/>
				<updated>2020-03-11T17:58:13Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Warningbox|These instructions have been updated for ChipWhisperer 5. If you're using and earlier version, see https://wiki.newae.com/V4:CW308T-STM32F/ChipWhisperer_Bootloader}}&lt;br /&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 8MHz. The bootloader does not work with our usual 7.37 MHz clock frequency. '''This 8MHz frequency does not apply to the code that you're running on the device. Once you're done programming, you'll need to set the frequency back to F_CPU (likely 7.37MHz)'''&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;
Run the following python code once you have the scope and target set up:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
prog = cw.programmers.STM32FProgrammer&lt;br /&gt;
cw.program_target(scope, prog, &amp;quot;&amp;lt;path to fw hex file&amp;gt;&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you get errors during the programming process:&lt;br /&gt;
* Retry the programming process with a lower baud rate:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
prog = cw.programmers.STM32FProgrammer&lt;br /&gt;
cw.program_target(scope, prog, &amp;quot;&amp;lt;path to fw hex file&amp;gt;&amp;quot;, baud=38400)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* If using a CW308 based STM, try 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;
# Setup the device as usual:&lt;br /&gt;
#:&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
scope = cw.scope()&lt;br /&gt;
target = cw.target(scope)&lt;br /&gt;
scope.default_setup()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&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;
#:&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
scope.io.target_pwr = False&lt;br /&gt;
time.sleep(1)&lt;br /&gt;
scope.io.target_pwr = True&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# Program the device:&lt;br /&gt;
#:&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
prog = cw.programmers.STM32FProgrammer&lt;br /&gt;
cw.program_target(scope, prog, &amp;quot;&amp;lt;path to fw hex file&amp;gt;&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# The device should program, it may take a moment to fully program/verify on larger devices.&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;
#:&amp;lt;syntaxhighlight lang=python&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
scope.io.target_pwr = False&lt;br /&gt;
time.sleep(1)&lt;br /&gt;
scope.io.target_pwr = True&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=V5:CW308T-STM32F/ChipWhisperer_Bootloader&amp;diff=4115</id>
		<title>V5:CW308T-STM32F/ChipWhisperer Bootloader</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=V5:CW308T-STM32F/ChipWhisperer_Bootloader&amp;diff=4115"/>
				<updated>2020-03-11T17:40:59Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &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. a&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. '''You must set the clock frequency back to 7.37MHz after programming the device.'''&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>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=V5:CW308T-STM32F/ChipWhisperer_Bootloader&amp;diff=4114</id>
		<title>V5:CW308T-STM32F/ChipWhisperer Bootloader</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=V5:CW308T-STM32F/ChipWhisperer_Bootloader&amp;diff=4114"/>
				<updated>2020-03-11T17:40:48Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: Created page with &amp;quot;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 s...&amp;quot;&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. '''You must set the clock frequency back to 7.37MHz after programming the device.'''&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>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=V4:CW308T-STM32F/ChipWhisperer_Bootloader&amp;diff=4113</id>
		<title>V4:CW308T-STM32F/ChipWhisperer Bootloader</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=V4:CW308T-STM32F/ChipWhisperer_Bootloader&amp;diff=4113"/>
				<updated>2020-03-11T17:40:09Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: Created page with &amp;quot;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 s...&amp;quot;&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. '''You must set the clock frequency back to 7.37MHz after programming the device.'''&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>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW308T-STM32F/ChipWhisperer_Bootloader&amp;diff=4112</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=4112"/>
				<updated>2020-02-27T16:26:51Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &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. '''You must set the clock frequency back to 7.37MHz after programming the device.'''&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>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW308T-STM32F&amp;diff=4111</id>
		<title>CW308T-STM32F</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW308T-STM32F&amp;diff=4111"/>
				<updated>2020-02-27T15:16:54Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox cw308target&lt;br /&gt;
|name                   = CW308T-STM32F&lt;br /&gt;
|image                  = STM32F3-Top_Rev03.jpg&lt;br /&gt;
|caption                = &lt;br /&gt;
|Target Device          = ST STM32F&lt;br /&gt;
|Target Architecture    = Cortex M0,M3,M4&lt;br /&gt;
|Hardware Crypto        = Possible&lt;br /&gt;
|Purchase Hardware      = [http://store.newae.com/stm32f0-target-for-cw308-arm-cortex-m0-128kb-flash-8kb-sram/ Webstore, F0]&lt;br /&gt;
&lt;br /&gt;
[http://store.newae.com/stm32f1-target-for-cw308-arm-cortex-m3-128kb-flash-8kb-sram/ Webstore, F1]&lt;br /&gt;
&lt;br /&gt;
[http://store.newae.com/stm32f3-target-for-cw308-arm-cortex-m4-256kb-flash-40kb-sram/ Webstore, F3]&lt;br /&gt;
&lt;br /&gt;
[http://store.newae.com/stm32f4-target-for-cw308-arm-cortex-m4-1mb-flash-192kb-sram/ Webstore, F4]&lt;br /&gt;
&lt;br /&gt;
[http://store.newae.com/blank-pcb-stm32fx-cw308-target/ Webstore PCB]&lt;br /&gt;
|Design Files           = [https://github.com/newaetech/chipwhisperer/tree/master/hardware/victims/cw308_ufo_target/stm32f GITHub Link]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.newae.com/CW308T-STM32F OSH Park PCBs]&lt;br /&gt;
&lt;br /&gt;
|Supported Applications = [[SimpleSerial | Simple Serial Enc/Auth]]&lt;br /&gt;
|Programmer             = ST-LINK/V2&lt;br /&gt;
|Status                 = Released&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Warningbox|ChipWisperer v5.1.3 before commit 3557 and arm-none-eabi-gcc before q2-2018 can produce non-working binaries for the STM32F3. The only fix is to update either ChipWhisperer or gcc}}&lt;br /&gt;
&lt;br /&gt;
{{Warningbox|This page has not yet been fully updated for the v5 release. Some information may be outdated.}}&lt;br /&gt;
&lt;br /&gt;
== Supported Devices ==&lt;br /&gt;
&lt;br /&gt;
The STM32F board supports several STM32F devices in the TQFP-64 package. Various solder jumpers need to bet set to either the &amp;quot;A&amp;quot; or &amp;quot;B&amp;quot; position to select appropriate VCC supply for the different series. The following table summarizes examples of suitable devices:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!STM32F Series&lt;br /&gt;
!Package&lt;br /&gt;
!Device&lt;br /&gt;
!Hardware AES&lt;br /&gt;
!Tested&lt;br /&gt;
!Jumper&lt;br /&gt;
!Flash&lt;br /&gt;
!SRAM&lt;br /&gt;
!NAE P/N&lt;br /&gt;
|-&lt;br /&gt;
|F0&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F071RBT6&lt;br /&gt;
|No&lt;br /&gt;
|Yes&lt;br /&gt;
|B&lt;br /&gt;
|128KB&lt;br /&gt;
|16KB&lt;br /&gt;
|NAE-CW308T-STM32F0&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F100RBT6B&lt;br /&gt;
|No&lt;br /&gt;
|Yes&lt;br /&gt;
|B&lt;br /&gt;
|128KB&lt;br /&gt;
|8KB&lt;br /&gt;
|NAE-CW308T-STM32F1&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F215RET6&lt;br /&gt;
|Yes&lt;br /&gt;
|Yes&lt;br /&gt;
|A&lt;br /&gt;
|512KB&lt;br /&gt;
|132KB&lt;br /&gt;
|NAE-CW308T-STM32F2HWC&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F303RCT7&lt;br /&gt;
|No&lt;br /&gt;
|Yes&lt;br /&gt;
|B&lt;br /&gt;
|256KB&lt;br /&gt;
|40KB&lt;br /&gt;
|NAE-CW308T-STM32F3&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F415RGT6&lt;br /&gt;
|Yes&lt;br /&gt;
|Yes&lt;br /&gt;
|A&lt;br /&gt;
|1MB&lt;br /&gt;
|192KB&lt;br /&gt;
|NAE-CW308T-STM32F4HWC&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F405RGT6&lt;br /&gt;
|No&lt;br /&gt;
|Yes&lt;br /&gt;
|A&lt;br /&gt;
|1MB&lt;br /&gt;
|192KB&lt;br /&gt;
|NAE-CW308T-STM32F4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== VCC-Int Supply ===&lt;br /&gt;
Several devices (F2, F4) have internal core voltage regulators. By default the CW308 board attempts to provide power for these pins, but the voltage may not be high enough to cause the internal regulator to disable itself. In this case you can use the VADJ regulator to ensure the internal regulator is disabled. See [[Targets with Internal Regulators]] for details.&lt;br /&gt;
&lt;br /&gt;
=== Pin-outs across TQFP Devices ===&lt;br /&gt;
&lt;br /&gt;
The following shows differences in pinouts between three groups of devices. The left-most is the STM32F051RB, which uses the same 3.3V VCORE as the STM32F1/F3. It has fewer VCC pins, so the I/O occupying that are VCC/GND pins on the STM32F1 (such as PF6/PF7) are tied to GND/VCC. The right-most part is the pinout of the STM32F2/F4. It has an internal regulator, where the VCAP pins are the output of this regulator (and input to the internal core logic).&lt;br /&gt;
&lt;br /&gt;
[[File:power_diffstm32.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Note for the devices with a 3.3V VCORE, you should not mount decoupling capacitors C5/C6/C7/C8. You will still get some leakage with those capacitors mounted, but a stronger signal is present without them.&lt;br /&gt;
&lt;br /&gt;
== Hardware AES ==&lt;br /&gt;
&lt;br /&gt;
The STM32F21x, and STM32F41x/43x have hardware crypto modules (AES, DES, TDES) along with hardware hash (SHA1, MD5). Hardware crypto for the STM32F4 has been integrated into the Hal build system on the develop branch. To use the hardware crypto, call HW_AES128_Init() at the beginning of your program. You can update the key with HW_AES128_LoadKey(), encrypt plaintext with HW_AES128_Enc(), and decrypt data with HW_AES128_Dec().&lt;br /&gt;
&lt;br /&gt;
== CAN Connection ==&lt;br /&gt;
&lt;br /&gt;
A 6-pin header is present for devices which have CAN hardware support (not all devices have this). A CANoodler can be plugged in to provide the physical transceiver. This header is not normally mounted, unless the board is part of an 'automotive bundle'. The header is left unmounted as it can impede sweeping a probe over the surface of the chip.&lt;br /&gt;
&lt;br /&gt;
== Programming Connection ==&lt;br /&gt;
&lt;br /&gt;
=== ChipWhisperer Programmer via Bootloader ===&lt;br /&gt;
&lt;br /&gt;
See further down this wiki page for details.&lt;br /&gt;
&lt;br /&gt;
=== JTAG Programmer ===&lt;br /&gt;
&lt;br /&gt;
The 20-pin JTAG port (J6 on CW308 Board) can be used with the [https://www.digikey.com/product-detail/en/stmicroelectronics/ST-LINK-V2/497-10484-ND/2214535 ST-LINK/V2] which is a low-cost JTAG programmer. &lt;br /&gt;
&lt;br /&gt;
It is also possible to use other JTAG programmers such as OpenOCD. The following command worked with an Olimex OpenOCD programmer and their [https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ OpenOCD for Windows] software:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
openocd &lt;br /&gt;
  -f path/to/board/files/cw308.cfg &lt;br /&gt;
  -c init &lt;br /&gt;
  -c targets &lt;br /&gt;
  -c &amp;quot;halt&amp;quot; &lt;br /&gt;
  -c &amp;quot;flash write_image erase path/to/firmware.hex&amp;quot;       &lt;br /&gt;
  -c &amp;quot;verify_image path/to/firmware.hex&amp;quot;        &lt;br /&gt;
  -c &amp;quot;reset run&amp;quot; &lt;br /&gt;
  -c shutdown&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where the contents of &amp;lt;code&amp;gt;cw308.cfg&amp;lt;/code&amp;gt; are&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
source [find interface/olimex-arm-usb-ocd-h.cfg]&lt;br /&gt;
source [find target/stm32f4x.cfg]&lt;br /&gt;
reset_config srst_only&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example Projects ==&lt;br /&gt;
&lt;br /&gt;
SimpleSerial builds for each of the STM32Fx Devices. Each device is a separate HAL. These HAL modules have been copied from ST's HAL (not the CUBE) and greatly reduced in size by deleting unused files (such as headers for unused devices), and combining several C-source files into a single low-level C-file.&lt;br /&gt;
&lt;br /&gt;
=== Building ST Example on Command Line ===&lt;br /&gt;
The regular firmware build process works with the STM32 devices. For example, to build `simpleserial-aes`, navigate to the folder `chipwhisperer\hardware\victims\firmware\simpleserial-aes` and run the following command on the command line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make PLATFORM=CW308_STM32F0 CRYPTO_TARGET=TINYAES128C&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If all goes well, this command will finish by printing the output file size and the platform:&lt;br /&gt;
&lt;br /&gt;
[[File:Stm32-make.png]]&lt;br /&gt;
&lt;br /&gt;
=== Programming via ChipWhisperer Bootloader ===&lt;br /&gt;
&lt;br /&gt;
{{:CW308T-STM32F/ChipWhisperer_Bootloader}}&lt;br /&gt;
&lt;br /&gt;
=== Running ST Example with ST-Link ===&lt;br /&gt;
If instead of using the bootloader, you want to use a ST-Link you can instead plug your programmer into the 20 pin JTAG connector (J6 on the UFO board):&lt;br /&gt;
&lt;br /&gt;
[[File:Stm32-jtag.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
Then, the details of this step will depend on your programmer. If you're using an ST-Link programmer, open the ST-Link utility and connect to the device:&lt;br /&gt;
&lt;br /&gt;
[[File:Stm32-connect.png]]&lt;br /&gt;
&lt;br /&gt;
Load your `.hex` file and program the device with the Program and Verify button:&lt;br /&gt;
&lt;br /&gt;
[[File:Stm32-program.png]]&lt;br /&gt;
&lt;br /&gt;
After this, you're ready to go - you can use the ChipWhisperer terminal to talk to your target. You might need to reset the target before you do anything else.&lt;br /&gt;
&lt;br /&gt;
=== Building and Debugging via ST's System Workbench ===&lt;br /&gt;
It's also possible to work on the example projects using [http://www.st.com/en/development-tools/sw4stm32.html ST's System Workbench IDE]. This IDE also supports debugging, which is helpful for working out all the kinks in your firmware.&lt;br /&gt;
&lt;br /&gt;
To build the ChipWhisperer examples in System Workbench:&lt;br /&gt;
&lt;br /&gt;
1. Create a new Mcu project by going to ''File &amp;gt; New &amp;gt; C Project'' and selecting ''&amp;lt;nowiki/&amp;gt;'&amp;lt;nowiki/&amp;gt;''Ac6 STM32 MCU Project'''.'' When you get to Target Configuration, click the Mcu tab and select the microcontroller that you want to target:&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 New Project.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 MCU-Selection.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
2. Link the external files into the project. To do this, under ''File &amp;gt; Import'', select ''File System''. In the `chipwhisperer\hardware\victims\firmware` directory, select all of the relevant files and folders (Makefile in base folder, Makefile in HAL folder, STM32Fx HAL folder).:&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 Import.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
3. Set up the build command. In ''File &amp;gt; Properties'', go to ''C/C++ Build &amp;gt; Behavior'' and remove 'all''&amp;lt;nowiki/&amp;gt;''' from 'Build' and deselect 'Enable parallel build'. Next, click the ''Builder Settings'' tab and deselect 'Use default build command' and 'Generate Makefiles Automatically'. Enter the command you would normally enter on the command line and change 'Build directory' to the folder you want to build in:&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 Behaviour.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 Build-Settings.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
4. Build the project and confirm that the build works from the output in the IDE console.&lt;br /&gt;
&lt;br /&gt;
Then, if you want to set up debugging:&lt;br /&gt;
&lt;br /&gt;
1. Go to ''in File &amp;gt; Properties'' select Run/Debug Settings and create a new debug configuration. Under Debugger, click 'Show generator options...' and setup your Connection Setup based on your debugger. Change 'Reset Mode' to 'Software System reset':&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 Debugging.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
2. Click Apply and enter debugging mode. &lt;br /&gt;
&lt;br /&gt;
'''Caveat''': the I/O register map in the debugger appears to use the last known device (ie: if you debugged an STM32F4 project before your Makefile project, it sticks with F4's registers). Check that the registers' addresses are correct before you trust them!&lt;br /&gt;
&lt;br /&gt;
== Schematic ==&lt;br /&gt;
The following variants are possible, see the table above for SRAM/FLASH/HW-Crypto status:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Variant&lt;br /&gt;
!U1&lt;br /&gt;
!R3 (VCC-Shunt)&lt;br /&gt;
!R4 (Clock)&lt;br /&gt;
|-&lt;br /&gt;
|F0&lt;br /&gt;
|STM32F071RBT6 &lt;br /&gt;
|33-ohm&lt;br /&gt;
|120-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|STM32F100RBT6&lt;br /&gt;
|22-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F2HWC&lt;br /&gt;
|STM32F215RET6&lt;br /&gt;
|10-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|STM32F303RCT7&lt;br /&gt;
|12-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|STM32F405RGT6&lt;br /&gt;
|10-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F4HWC&lt;br /&gt;
|STM32F415RGT6&lt;br /&gt;
|10-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Rev -03 Schematic ===&lt;br /&gt;
&lt;br /&gt;
The current revision of the target is -03. The following shows this schematic:&lt;br /&gt;
&lt;br /&gt;
[[File:CW308T_STM32F_03.png|1100px]]&lt;br /&gt;
&lt;br /&gt;
=== Rev -02 Schematic ===&lt;br /&gt;
&lt;br /&gt;
The original board sold was the -02 revision. The revision is part of the part number, for example these boards will be marked STM32F-02. The -02 revision also does not have the CAN connector:&lt;br /&gt;
[[File:cw308_stm32f.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:CW308T_STM32F_02.png|1100px]]&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
{{Template:Hardware}}&lt;br /&gt;
&lt;br /&gt;
[[Category: CW308 Targets]]&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW308T-STM32F&amp;diff=4110</id>
		<title>CW308T-STM32F</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW308T-STM32F&amp;diff=4110"/>
				<updated>2020-01-21T15:57:06Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox cw308target&lt;br /&gt;
|name                   = CW308T-STM32F&lt;br /&gt;
|image                  = STM32F3-Top_Rev03.jpg&lt;br /&gt;
|caption                = &lt;br /&gt;
|Target Device          = ST STM32F&lt;br /&gt;
|Target Architecture    = Cortex M0,M3,M4&lt;br /&gt;
|Hardware Crypto        = Possible&lt;br /&gt;
|Purchase Hardware      = [http://store.newae.com/stm32f0-target-for-cw308-arm-cortex-m0-128kb-flash-8kb-sram/ Webstore, F0]&lt;br /&gt;
&lt;br /&gt;
[http://store.newae.com/stm32f1-target-for-cw308-arm-cortex-m3-128kb-flash-8kb-sram/ Webstore, F1]&lt;br /&gt;
&lt;br /&gt;
[http://store.newae.com/stm32f3-target-for-cw308-arm-cortex-m4-256kb-flash-40kb-sram/ Webstore, F3]&lt;br /&gt;
&lt;br /&gt;
[http://store.newae.com/stm32f4-target-for-cw308-arm-cortex-m4-1mb-flash-192kb-sram/ Webstore, F4]&lt;br /&gt;
&lt;br /&gt;
[http://store.newae.com/blank-pcb-stm32fx-cw308-target/ Webstore PCB]&lt;br /&gt;
|Design Files           = [https://github.com/newaetech/chipwhisperer/tree/master/hardware/victims/cw308_ufo_target/stm32f GITHub Link]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.newae.com/CW308T-STM32F OSH Park PCBs]&lt;br /&gt;
&lt;br /&gt;
|Supported Applications = [[SimpleSerial | Simple Serial Enc/Auth]]&lt;br /&gt;
|Programmer             = ST-LINK/V2&lt;br /&gt;
|Status                 = Released&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Warningbox|Some versions of the Arm GCC compiler appear to produce firmware that does not work. Known working versions include Windows/2018-q2, Windows/2019-q4 and Linux/5.4.1 20160919. Versions known not to work include Windows/2018-q1, Windows/2018-q4}}&lt;br /&gt;
&lt;br /&gt;
{{Warningbox|This page has not yet been updated for the v5 release. Some information may be outdated.}}&lt;br /&gt;
&lt;br /&gt;
== Supported Devices ==&lt;br /&gt;
&lt;br /&gt;
The STM32F board supports several STM32F devices in the TQFP-64 package. Various solder jumpers need to bet set to either the &amp;quot;A&amp;quot; or &amp;quot;B&amp;quot; position to select appropriate VCC supply for the different series. The following table summarizes examples of suitable devices:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!STM32F Series&lt;br /&gt;
!Package&lt;br /&gt;
!Device&lt;br /&gt;
!Hardware AES&lt;br /&gt;
!Tested&lt;br /&gt;
!Jumper&lt;br /&gt;
!Flash&lt;br /&gt;
!SRAM&lt;br /&gt;
!NAE P/N&lt;br /&gt;
|-&lt;br /&gt;
|F0&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F071RBT6&lt;br /&gt;
|No&lt;br /&gt;
|Yes&lt;br /&gt;
|B&lt;br /&gt;
|128KB&lt;br /&gt;
|16KB&lt;br /&gt;
|NAE-CW308T-STM32F0&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F100RBT6B&lt;br /&gt;
|No&lt;br /&gt;
|Yes&lt;br /&gt;
|B&lt;br /&gt;
|128KB&lt;br /&gt;
|8KB&lt;br /&gt;
|NAE-CW308T-STM32F1&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F215RET6&lt;br /&gt;
|Yes&lt;br /&gt;
|Yes&lt;br /&gt;
|A&lt;br /&gt;
|512KB&lt;br /&gt;
|132KB&lt;br /&gt;
|NAE-CW308T-STM32F2HWC&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F303RCT7&lt;br /&gt;
|No&lt;br /&gt;
|Yes&lt;br /&gt;
|B&lt;br /&gt;
|256KB&lt;br /&gt;
|40KB&lt;br /&gt;
|NAE-CW308T-STM32F3&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F415RGT6&lt;br /&gt;
|Yes&lt;br /&gt;
|Yes&lt;br /&gt;
|A&lt;br /&gt;
|1MB&lt;br /&gt;
|192KB&lt;br /&gt;
|NAE-CW308T-STM32F4HWC&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F405RGT6&lt;br /&gt;
|No&lt;br /&gt;
|Yes&lt;br /&gt;
|A&lt;br /&gt;
|1MB&lt;br /&gt;
|192KB&lt;br /&gt;
|NAE-CW308T-STM32F4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== VCC-Int Supply ===&lt;br /&gt;
Several devices (F2, F4) have internal core voltage regulators. By default the CW308 board attempts to provide power for these pins, but the voltage may not be high enough to cause the internal regulator to disable itself. In this case you can use the VADJ regulator to ensure the internal regulator is disabled. See [[Targets with Internal Regulators]] for details.&lt;br /&gt;
&lt;br /&gt;
=== Pin-outs across TQFP Devices ===&lt;br /&gt;
&lt;br /&gt;
The following shows differences in pinouts between three groups of devices. The left-most is the STM32F051RB, which uses the same 3.3V VCORE as the STM32F1/F3. It has fewer VCC pins, so the I/O occupying that are VCC/GND pins on the STM32F1 (such as PF6/PF7) are tied to GND/VCC. The right-most part is the pinout of the STM32F2/F4. It has an internal regulator, where the VCAP pins are the output of this regulator (and input to the internal core logic).&lt;br /&gt;
&lt;br /&gt;
[[File:power_diffstm32.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Note for the devices with a 3.3V VCORE, you should not mount decoupling capacitors C5/C6/C7/C8. You will still get some leakage with those capacitors mounted, but a stronger signal is present without them.&lt;br /&gt;
&lt;br /&gt;
== Hardware AES ==&lt;br /&gt;
&lt;br /&gt;
The STM32F21x, and STM32F41x/43x have hardware crypto modules (AES, DES, TDES) along with hardware hash (SHA1, MD5). Hardware crypto for the STM32F4 has been integrated into the Hal build system on the develop branch. To use the hardware crypto, call HW_AES128_Init() at the beginning of your program. You can update the key with HW_AES128_LoadKey(), encrypt plaintext with HW_AES128_Enc(), and decrypt data with HW_AES128_Dec().&lt;br /&gt;
&lt;br /&gt;
== CAN Connection ==&lt;br /&gt;
&lt;br /&gt;
A 6-pin header is present for devices which have CAN hardware support (not all devices have this). A CANoodler can be plugged in to provide the physical transceiver. This header is not normally mounted, unless the board is part of an 'automotive bundle'. The header is left unmounted as it can impede sweeping a probe over the surface of the chip.&lt;br /&gt;
&lt;br /&gt;
== Programming Connection ==&lt;br /&gt;
&lt;br /&gt;
=== ChipWhisperer Programmer via Bootloader ===&lt;br /&gt;
&lt;br /&gt;
See further down this wiki page for details.&lt;br /&gt;
&lt;br /&gt;
=== JTAG Programmer ===&lt;br /&gt;
&lt;br /&gt;
The 20-pin JTAG port (J6 on CW308 Board) can be used with the [https://www.digikey.com/product-detail/en/stmicroelectronics/ST-LINK-V2/497-10484-ND/2214535 ST-LINK/V2] which is a low-cost JTAG programmer. &lt;br /&gt;
&lt;br /&gt;
It is also possible to use other JTAG programmers such as OpenOCD. The following command worked with an Olimex OpenOCD programmer and their [https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ OpenOCD for Windows] software:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
openocd &lt;br /&gt;
  -f path/to/board/files/cw308.cfg &lt;br /&gt;
  -c init &lt;br /&gt;
  -c targets &lt;br /&gt;
  -c &amp;quot;halt&amp;quot; &lt;br /&gt;
  -c &amp;quot;flash write_image erase path/to/firmware.hex&amp;quot;       &lt;br /&gt;
  -c &amp;quot;verify_image path/to/firmware.hex&amp;quot;        &lt;br /&gt;
  -c &amp;quot;reset run&amp;quot; &lt;br /&gt;
  -c shutdown&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where the contents of &amp;lt;code&amp;gt;cw308.cfg&amp;lt;/code&amp;gt; are&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
source [find interface/olimex-arm-usb-ocd-h.cfg]&lt;br /&gt;
source [find target/stm32f4x.cfg]&lt;br /&gt;
reset_config srst_only&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example Projects ==&lt;br /&gt;
&lt;br /&gt;
SimpleSerial builds for each of the STM32Fx Devices. Each device is a separate HAL. These HAL modules have been copied from ST's HAL (not the CUBE) and greatly reduced in size by deleting unused files (such as headers for unused devices), and combining several C-source files into a single low-level C-file.&lt;br /&gt;
&lt;br /&gt;
=== Building ST Example on Command Line ===&lt;br /&gt;
The regular firmware build process works with the STM32 devices. For example, to build `simpleserial-aes`, navigate to the folder `chipwhisperer\hardware\victims\firmware\simpleserial-aes` and run the following command on the command line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make PLATFORM=CW308_STM32F0 CRYPTO_TARGET=TINYAES128C&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If all goes well, this command will finish by printing the output file size and the platform:&lt;br /&gt;
&lt;br /&gt;
[[File:Stm32-make.png]]&lt;br /&gt;
&lt;br /&gt;
=== Programming via ChipWhisperer Bootloader ===&lt;br /&gt;
&lt;br /&gt;
{{:CW308T-STM32F/ChipWhisperer_Bootloader}}&lt;br /&gt;
&lt;br /&gt;
=== Running ST Example with ST-Link ===&lt;br /&gt;
If instead of using the bootloader, you want to use a ST-Link you can instead plug your programmer into the 20 pin JTAG connector (J6 on the UFO board):&lt;br /&gt;
&lt;br /&gt;
[[File:Stm32-jtag.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
Then, the details of this step will depend on your programmer. If you're using an ST-Link programmer, open the ST-Link utility and connect to the device:&lt;br /&gt;
&lt;br /&gt;
[[File:Stm32-connect.png]]&lt;br /&gt;
&lt;br /&gt;
Load your `.hex` file and program the device with the Program and Verify button:&lt;br /&gt;
&lt;br /&gt;
[[File:Stm32-program.png]]&lt;br /&gt;
&lt;br /&gt;
After this, you're ready to go - you can use the ChipWhisperer terminal to talk to your target. You might need to reset the target before you do anything else.&lt;br /&gt;
&lt;br /&gt;
=== Building and Debugging via ST's System Workbench ===&lt;br /&gt;
It's also possible to work on the example projects using [http://www.st.com/en/development-tools/sw4stm32.html ST's System Workbench IDE]. This IDE also supports debugging, which is helpful for working out all the kinks in your firmware.&lt;br /&gt;
&lt;br /&gt;
To build the ChipWhisperer examples in System Workbench:&lt;br /&gt;
&lt;br /&gt;
1. Create a new Mcu project by going to ''File &amp;gt; New &amp;gt; C Project'' and selecting ''&amp;lt;nowiki/&amp;gt;'&amp;lt;nowiki/&amp;gt;''Ac6 STM32 MCU Project'''.'' When you get to Target Configuration, click the Mcu tab and select the microcontroller that you want to target:&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 New Project.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 MCU-Selection.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
2. Link the external files into the project. To do this, under ''File &amp;gt; Import'', select ''File System''. In the `chipwhisperer\hardware\victims\firmware` directory, select all of the relevant files and folders (Makefile in base folder, Makefile in HAL folder, STM32Fx HAL folder).:&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 Import.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
3. Set up the build command. In ''File &amp;gt; Properties'', go to ''C/C++ Build &amp;gt; Behavior'' and remove 'all''&amp;lt;nowiki/&amp;gt;''' from 'Build' and deselect 'Enable parallel build'. Next, click the ''Builder Settings'' tab and deselect 'Use default build command' and 'Generate Makefiles Automatically'. Enter the command you would normally enter on the command line and change 'Build directory' to the folder you want to build in:&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 Behaviour.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 Build-Settings.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
4. Build the project and confirm that the build works from the output in the IDE console.&lt;br /&gt;
&lt;br /&gt;
Then, if you want to set up debugging:&lt;br /&gt;
&lt;br /&gt;
1. Go to ''in File &amp;gt; Properties'' select Run/Debug Settings and create a new debug configuration. Under Debugger, click 'Show generator options...' and setup your Connection Setup based on your debugger. Change 'Reset Mode' to 'Software System reset':&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 Debugging.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
2. Click Apply and enter debugging mode. &lt;br /&gt;
&lt;br /&gt;
'''Caveat''': the I/O register map in the debugger appears to use the last known device (ie: if you debugged an STM32F4 project before your Makefile project, it sticks with F4's registers). Check that the registers' addresses are correct before you trust them!&lt;br /&gt;
&lt;br /&gt;
== Schematic ==&lt;br /&gt;
The following variants are possible, see the table above for SRAM/FLASH/HW-Crypto status:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Variant&lt;br /&gt;
!U1&lt;br /&gt;
!R3 (VCC-Shunt)&lt;br /&gt;
!R4 (Clock)&lt;br /&gt;
|-&lt;br /&gt;
|F0&lt;br /&gt;
|STM32F071RBT6 &lt;br /&gt;
|33-ohm&lt;br /&gt;
|120-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|STM32F100RBT6&lt;br /&gt;
|22-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F2HWC&lt;br /&gt;
|STM32F215RET6&lt;br /&gt;
|10-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|STM32F303RCT7&lt;br /&gt;
|12-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|STM32F405RGT6&lt;br /&gt;
|10-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F4HWC&lt;br /&gt;
|STM32F415RGT6&lt;br /&gt;
|10-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Rev -03 Schematic ===&lt;br /&gt;
&lt;br /&gt;
The current revision of the target is -03. The following shows this schematic:&lt;br /&gt;
&lt;br /&gt;
[[File:CW308T_STM32F_03.png|1100px]]&lt;br /&gt;
&lt;br /&gt;
=== Rev -02 Schematic ===&lt;br /&gt;
&lt;br /&gt;
The original board sold was the -02 revision. The revision is part of the part number, for example these boards will be marked STM32F-02. The -02 revision also does not have the CAN connector:&lt;br /&gt;
[[File:cw308_stm32f.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:CW308T_STM32F_02.png|1100px]]&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
{{Template:Hardware}}&lt;br /&gt;
&lt;br /&gt;
[[Category: CW308 Targets]]&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW308T-STM32F&amp;diff=4109</id>
		<title>CW308T-STM32F</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW308T-STM32F&amp;diff=4109"/>
				<updated>2019-08-02T19:18:55Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox cw308target&lt;br /&gt;
|name                   = CW308T-STM32F&lt;br /&gt;
|image                  = STM32F3-Top_Rev03.jpg&lt;br /&gt;
|caption                = &lt;br /&gt;
|Target Device          = ST STM32F&lt;br /&gt;
|Target Architecture    = Cortex M0,M3,M4&lt;br /&gt;
|Hardware Crypto        = Possible&lt;br /&gt;
|Purchase Hardware      = [http://store.newae.com/stm32f0-target-for-cw308-arm-cortex-m0-128kb-flash-8kb-sram/ Webstore, F0]&lt;br /&gt;
&lt;br /&gt;
[http://store.newae.com/stm32f1-target-for-cw308-arm-cortex-m3-128kb-flash-8kb-sram/ Webstore, F1]&lt;br /&gt;
&lt;br /&gt;
[http://store.newae.com/stm32f3-target-for-cw308-arm-cortex-m4-256kb-flash-40kb-sram/ Webstore, F3]&lt;br /&gt;
&lt;br /&gt;
[http://store.newae.com/stm32f4-target-for-cw308-arm-cortex-m4-1mb-flash-192kb-sram/ Webstore, F4]&lt;br /&gt;
&lt;br /&gt;
[http://store.newae.com/blank-pcb-stm32fx-cw308-target/ Webstore PCB]&lt;br /&gt;
|Design Files           = [https://github.com/newaetech/chipwhisperer/tree/master/hardware/victims/cw308_ufo_target/stm32f GITHub Link]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.newae.com/CW308T-STM32F OSH Park PCBs]&lt;br /&gt;
&lt;br /&gt;
|Supported Applications = [[SimpleSerial | Simple Serial Enc/Auth]]&lt;br /&gt;
|Programmer             = ST-LINK/V2&lt;br /&gt;
|Status                 = Released&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Warningbox|Some versions of the Arm GCC compiler appear to produce firmware that does not work. Known working versions include Windows/2018-q2 and Linux/5.4.1 20160919. Versions known not to work include Windows/2018-q1, Windows/2018-q4}}&lt;br /&gt;
&lt;br /&gt;
{{Warningbox|This page has not yet been updated for the v5 release. Some information may be outdated.}}&lt;br /&gt;
&lt;br /&gt;
== Supported Devices ==&lt;br /&gt;
&lt;br /&gt;
The STM32F board supports several STM32F devices in the TQFP-64 package. Various solder jumpers need to bet set to either the &amp;quot;A&amp;quot; or &amp;quot;B&amp;quot; position to select appropriate VCC supply for the different series. The following table summarizes examples of suitable devices:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!STM32F Series&lt;br /&gt;
!Package&lt;br /&gt;
!Device&lt;br /&gt;
!Hardware AES&lt;br /&gt;
!Tested&lt;br /&gt;
!Jumper&lt;br /&gt;
!Flash&lt;br /&gt;
!SRAM&lt;br /&gt;
!NAE P/N&lt;br /&gt;
|-&lt;br /&gt;
|F0&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F071RBT6&lt;br /&gt;
|No&lt;br /&gt;
|Yes&lt;br /&gt;
|B&lt;br /&gt;
|128KB&lt;br /&gt;
|16KB&lt;br /&gt;
|NAE-CW308T-STM32F0&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F100RBT6B&lt;br /&gt;
|No&lt;br /&gt;
|Yes&lt;br /&gt;
|B&lt;br /&gt;
|128KB&lt;br /&gt;
|8KB&lt;br /&gt;
|NAE-CW308T-STM32F1&lt;br /&gt;
|-&lt;br /&gt;
|F2&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F215RET6&lt;br /&gt;
|Yes&lt;br /&gt;
|Yes&lt;br /&gt;
|A&lt;br /&gt;
|512KB&lt;br /&gt;
|132KB&lt;br /&gt;
|NAE-CW308T-STM32F2HWC&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F303RCT7&lt;br /&gt;
|No&lt;br /&gt;
|Yes&lt;br /&gt;
|B&lt;br /&gt;
|256KB&lt;br /&gt;
|40KB&lt;br /&gt;
|NAE-CW308T-STM32F3&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F415RGT6&lt;br /&gt;
|Yes&lt;br /&gt;
|Yes&lt;br /&gt;
|A&lt;br /&gt;
|1MB&lt;br /&gt;
|192KB&lt;br /&gt;
|NAE-CW308T-STM32F4HWC&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|TQFP-64&lt;br /&gt;
|STM32F405RGT6&lt;br /&gt;
|No&lt;br /&gt;
|Yes&lt;br /&gt;
|A&lt;br /&gt;
|1MB&lt;br /&gt;
|192KB&lt;br /&gt;
|NAE-CW308T-STM32F4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== VCC-Int Supply ===&lt;br /&gt;
Several devices (F2, F4) have internal core voltage regulators. By default the CW308 board attempts to provide power for these pins, but the voltage may not be high enough to cause the internal regulator to disable itself. In this case you can use the VADJ regulator to ensure the internal regulator is disabled. See [[Targets with Internal Regulators]] for details.&lt;br /&gt;
&lt;br /&gt;
=== Pin-outs across TQFP Devices ===&lt;br /&gt;
&lt;br /&gt;
The following shows differences in pinouts between three groups of devices. The left-most is the STM32F051RB, which uses the same 3.3V VCORE as the STM32F1/F3. It has fewer VCC pins, so the I/O occupying that are VCC/GND pins on the STM32F1 (such as PF6/PF7) are tied to GND/VCC. The right-most part is the pinout of the STM32F2/F4. It has an internal regulator, where the VCAP pins are the output of this regulator (and input to the internal core logic).&lt;br /&gt;
&lt;br /&gt;
[[File:power_diffstm32.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Note for the devices with a 3.3V VCORE, you should not mount decoupling capacitors C5/C6/C7/C8. You will still get some leakage with those capacitors mounted, but a stronger signal is present without them.&lt;br /&gt;
&lt;br /&gt;
== Hardware AES ==&lt;br /&gt;
&lt;br /&gt;
The STM32F21x, and STM32F41x/43x have hardware crypto modules (AES, DES, TDES) along with hardware hash (SHA1, MD5). Hardware crypto for the STM32F4 has been integrated into the Hal build system on the develop branch. To use the hardware crypto, call HW_AES128_Init() at the beginning of your program. You can update the key with HW_AES128_LoadKey(), encrypt plaintext with HW_AES128_Enc(), and decrypt data with HW_AES128_Dec().&lt;br /&gt;
&lt;br /&gt;
== CAN Connection ==&lt;br /&gt;
&lt;br /&gt;
A 6-pin header is present for devices which have CAN hardware support (not all devices have this). A CANoodler can be plugged in to provide the physical transceiver. This header is not normally mounted, unless the board is part of an 'automotive bundle'. The header is left unmounted as it can impede sweeping a probe over the surface of the chip.&lt;br /&gt;
&lt;br /&gt;
== Programming Connection ==&lt;br /&gt;
&lt;br /&gt;
=== ChipWhisperer Programmer via Bootloader ===&lt;br /&gt;
&lt;br /&gt;
See further down this wiki page for details.&lt;br /&gt;
&lt;br /&gt;
=== JTAG Programmer ===&lt;br /&gt;
&lt;br /&gt;
The 20-pin JTAG port (J6 on CW308 Board) can be used with the [https://www.digikey.com/product-detail/en/stmicroelectronics/ST-LINK-V2/497-10484-ND/2214535 ST-LINK/V2] which is a low-cost JTAG programmer. &lt;br /&gt;
&lt;br /&gt;
It is also possible to use other JTAG programmers such as OpenOCD. The following command worked with an Olimex OpenOCD programmer and their [https://www.olimex.com/Products/ARM/JTAG/ARM-USB-OCD-H/ OpenOCD for Windows] software:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
openocd &lt;br /&gt;
  -f path/to/board/files/cw308.cfg &lt;br /&gt;
  -c init &lt;br /&gt;
  -c targets &lt;br /&gt;
  -c &amp;quot;halt&amp;quot; &lt;br /&gt;
  -c &amp;quot;flash write_image erase path/to/firmware.hex&amp;quot;       &lt;br /&gt;
  -c &amp;quot;verify_image path/to/firmware.hex&amp;quot;        &lt;br /&gt;
  -c &amp;quot;reset run&amp;quot; &lt;br /&gt;
  -c shutdown&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where the contents of &amp;lt;code&amp;gt;cw308.cfg&amp;lt;/code&amp;gt; are&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
source [find interface/olimex-arm-usb-ocd-h.cfg]&lt;br /&gt;
source [find target/stm32f4x.cfg]&lt;br /&gt;
reset_config srst_only&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example Projects ==&lt;br /&gt;
&lt;br /&gt;
SimpleSerial builds for each of the STM32Fx Devices. Each device is a separate HAL. These HAL modules have been copied from ST's HAL (not the CUBE) and greatly reduced in size by deleting unused files (such as headers for unused devices), and combining several C-source files into a single low-level C-file.&lt;br /&gt;
&lt;br /&gt;
=== Building ST Example on Command Line ===&lt;br /&gt;
The regular firmware build process works with the STM32 devices. For example, to build `simpleserial-aes`, navigate to the folder `chipwhisperer\hardware\victims\firmware\simpleserial-aes` and run the following command on the command line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make PLATFORM=CW308_STM32F0 CRYPTO_TARGET=TINYAES128C&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If all goes well, this command will finish by printing the output file size and the platform:&lt;br /&gt;
&lt;br /&gt;
[[File:Stm32-make.png]]&lt;br /&gt;
&lt;br /&gt;
=== Programming via ChipWhisperer Bootloader ===&lt;br /&gt;
&lt;br /&gt;
{{:CW308T-STM32F/ChipWhisperer_Bootloader}}&lt;br /&gt;
&lt;br /&gt;
=== Running ST Example with ST-Link ===&lt;br /&gt;
If instead of using the bootloader, you want to use a ST-Link you can instead plug your programmer into the 20 pin JTAG connector (J6 on the UFO board):&lt;br /&gt;
&lt;br /&gt;
[[File:Stm32-jtag.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
Then, the details of this step will depend on your programmer. If you're using an ST-Link programmer, open the ST-Link utility and connect to the device:&lt;br /&gt;
&lt;br /&gt;
[[File:Stm32-connect.png]]&lt;br /&gt;
&lt;br /&gt;
Load your `.hex` file and program the device with the Program and Verify button:&lt;br /&gt;
&lt;br /&gt;
[[File:Stm32-program.png]]&lt;br /&gt;
&lt;br /&gt;
After this, you're ready to go - you can use the ChipWhisperer terminal to talk to your target. You might need to reset the target before you do anything else.&lt;br /&gt;
&lt;br /&gt;
=== Building and Debugging via ST's System Workbench ===&lt;br /&gt;
It's also possible to work on the example projects using [http://www.st.com/en/development-tools/sw4stm32.html ST's System Workbench IDE]. This IDE also supports debugging, which is helpful for working out all the kinks in your firmware.&lt;br /&gt;
&lt;br /&gt;
To build the ChipWhisperer examples in System Workbench:&lt;br /&gt;
&lt;br /&gt;
1. Create a new Mcu project by going to ''File &amp;gt; New &amp;gt; C Project'' and selecting ''&amp;lt;nowiki/&amp;gt;'&amp;lt;nowiki/&amp;gt;''Ac6 STM32 MCU Project'''.'' When you get to Target Configuration, click the Mcu tab and select the microcontroller that you want to target:&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 New Project.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 MCU-Selection.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
2. Link the external files into the project. To do this, under ''File &amp;gt; Import'', select ''File System''. In the `chipwhisperer\hardware\victims\firmware` directory, select all of the relevant files and folders (Makefile in base folder, Makefile in HAL folder, STM32Fx HAL folder).:&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 Import.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
3. Set up the build command. In ''File &amp;gt; Properties'', go to ''C/C++ Build &amp;gt; Behavior'' and remove 'all''&amp;lt;nowiki/&amp;gt;''' from 'Build' and deselect 'Enable parallel build'. Next, click the ''Builder Settings'' tab and deselect 'Use default build command' and 'Generate Makefiles Automatically'. Enter the command you would normally enter on the command line and change 'Build directory' to the folder you want to build in:&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 Behaviour.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 Build-Settings.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
4. Build the project and confirm that the build works from the output in the IDE console.&lt;br /&gt;
&lt;br /&gt;
Then, if you want to set up debugging:&lt;br /&gt;
&lt;br /&gt;
1. Go to ''in File &amp;gt; Properties'' select Run/Debug Settings and create a new debug configuration. Under Debugger, click 'Show generator options...' and setup your Connection Setup based on your debugger. Change 'Reset Mode' to 'Software System reset':&lt;br /&gt;
&lt;br /&gt;
[[File:STM32 Debugging.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
2. Click Apply and enter debugging mode. &lt;br /&gt;
&lt;br /&gt;
'''Caveat''': the I/O register map in the debugger appears to use the last known device (ie: if you debugged an STM32F4 project before your Makefile project, it sticks with F4's registers). Check that the registers' addresses are correct before you trust them!&lt;br /&gt;
&lt;br /&gt;
== Schematic ==&lt;br /&gt;
The following variants are possible, see the table above for SRAM/FLASH/HW-Crypto status:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Variant&lt;br /&gt;
!U1&lt;br /&gt;
!R3 (VCC-Shunt)&lt;br /&gt;
!R4 (Clock)&lt;br /&gt;
|-&lt;br /&gt;
|F0&lt;br /&gt;
|STM32F071RBT6 &lt;br /&gt;
|33-ohm&lt;br /&gt;
|120-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F1&lt;br /&gt;
|STM32F100RBT6&lt;br /&gt;
|22-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F2HWC&lt;br /&gt;
|STM32F215RET6&lt;br /&gt;
|10-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F3&lt;br /&gt;
|STM32F303RCT7&lt;br /&gt;
|12-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F4&lt;br /&gt;
|STM32F405RGT6&lt;br /&gt;
|10-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|-&lt;br /&gt;
|F4HWC&lt;br /&gt;
|STM32F415RGT6&lt;br /&gt;
|10-ohm&lt;br /&gt;
|51-ohm&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Rev -03 Schematic ===&lt;br /&gt;
&lt;br /&gt;
The current revision of the target is -03. The following shows this schematic:&lt;br /&gt;
&lt;br /&gt;
[[File:CW308T_STM32F_03.png|1100px]]&lt;br /&gt;
&lt;br /&gt;
=== Rev -02 Schematic ===&lt;br /&gt;
&lt;br /&gt;
The original board sold was the -02 revision. The revision is part of the part number, for example these boards will be marked STM32F-02. The -02 revision also does not have the CAN connector:&lt;br /&gt;
[[File:cw308_stm32f.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
[[File:CW308T_STM32F_02.png|1100px]]&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
{{Template:Hardware}}&lt;br /&gt;
&lt;br /&gt;
[[Category: CW308 Targets]]&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW1101_ChipWhisperer-Nano&amp;diff=4108</id>
		<title>CW1101 ChipWhisperer-Nano</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW1101_ChipWhisperer-Nano&amp;diff=4108"/>
				<updated>2019-08-02T19:17:24Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Warningbox|This page has not yet been updated for the v5 release. Some information may be outdated.}}&lt;br /&gt;
&lt;br /&gt;
== ChipWhisperer Nano (CWNANO) Background ==&lt;br /&gt;
&lt;br /&gt;
[[File:CWNANO_RESIZE.png|800px]]&lt;br /&gt;
&lt;br /&gt;
ChipWhisperer-Nano is an ultra low-cost platform for side-channel power analysis &amp;amp; voltage fault injection. It has the following features:&lt;br /&gt;
&lt;br /&gt;
# ADC capable of sampling up to 20 MS/s, using either external clock (synchronous to device) or internal clock (both synchronous and asynchronous).&lt;br /&gt;
# ADC hardware trigger uses rising-edge input and starts sampling on first device clock after trigger line going high, samples for user-configurable length.&lt;br /&gt;
# STM32F030 target for loading example code onto, including a programmer built into the ChipWhisperer-Nano.&lt;br /&gt;
# Crowbar based VCC glitching, approx 10nS resolution on glitch width and offset (glitch offset from trigger with up to 200nS jitter).&lt;br /&gt;
&lt;br /&gt;
It is primarily designed for power analysis demonstrations and training programs. It is also available as a module without a target for integration onto a target board, as one option for ChipWhisperer-Enabling your development platforms.&lt;br /&gt;
&lt;br /&gt;
=== Examples of Tutorials you can Run ===&lt;br /&gt;
&lt;br /&gt;
ChipWhisperer-Nano is a complete tutorial platform. You could run the following tutorials on it for example (using the included target):&lt;br /&gt;
&lt;br /&gt;
* Perform a CPA (power analysis) attack on a textbook AES implementation.&lt;br /&gt;
* Perform a CPA attack on MBED-TLS AES implementation.&lt;br /&gt;
* Perform a DPA attack on an XOR password check.&lt;br /&gt;
* Perform a SPA attack on an RSA library.&lt;br /&gt;
* Perform a timing attack on a password check.&lt;br /&gt;
* Perform fault injection attacks to demonstrate corrupting a variable (NB: not as reliable due to limitations listed below).&lt;br /&gt;
&lt;br /&gt;
If you were to attach an external target, you could also do the following:&lt;br /&gt;
&lt;br /&gt;
* Perform a CPA attack on a hardware AES accelerator.&lt;br /&gt;
* Perform a power analysis attack on a FPGA target.&lt;br /&gt;
* Perform the LPC1114 tutorial.&lt;br /&gt;
* Connect to CW308 UFO Board for use with a wide variety of targets.&lt;br /&gt;
&lt;br /&gt;
=== Limitations compared to ChipWhisperer-Lite and Pro ===&lt;br /&gt;
&lt;br /&gt;
The ChipWhisperer-Lite and Pro both use an FPGA for performing all clock routing, in addition to using better ADCs and analog front ends. Fundamentally, the design of the ChipWhisperer-Nano means it has the following major limitations:&lt;br /&gt;
&lt;br /&gt;
* Sampling clock in external mode directly follows the input clock (no ability to multiply/divide/offset clock as in CW1173/CW1200).&lt;br /&gt;
* Sampling clock in internal mode limited to specific fixed divisions of 240 MHz PLL clock.&lt;br /&gt;
* Fixed analog front-end gain of approx 10dB.&lt;br /&gt;
* ADC limited to 20MS/s (can be overclocked slightly, up to 30MS/s but not guaranteed).&lt;br /&gt;
* No ADC offset to delay capture for some specific number of cycles after the trigger.&lt;br /&gt;
* Cannot generate clock glitching waveforms.&lt;br /&gt;
* VCC crowbar limited to coarse offset and width steps.&lt;br /&gt;
* Considerable jitter on glitch offset (due to interrupt-based source).&lt;br /&gt;
* Rising edge trigger only.&lt;br /&gt;
* Full-speed USB instead of high-speed USB.&lt;br /&gt;
&lt;br /&gt;
Note that despite these limitations, ChipWhisperer-Nano can be used for attacking real devices. You can attack hardware crypto running on a microcontroller, or use power-analysis to recover a bootloader password or key. The fundamental synchronous architecture of the device (which powers all of our capture hardware tools) means it achieves considerably better performance than a regular asynchronous oscilloscope, even when that oscilloscope is running 5-20x faster.&lt;br /&gt;
&lt;br /&gt;
== Connecting to External Targets ==&lt;br /&gt;
&lt;br /&gt;
You have two options for connecting to external targets: to either break off the STM32F0 end, or to program it with a loop that keeps all I/O in tristate mode. Either way you will also need to add the following connectors:&lt;br /&gt;
&lt;br /&gt;
* 20-pin connector (follows standard 20-pin pinout).&lt;br /&gt;
* Either 3-pin headers on MEASURE and GLITCH, or SMA connectors (only if end is broken off).&lt;br /&gt;
&lt;br /&gt;
=== Tri-State via Program ===&lt;br /&gt;
&lt;br /&gt;
If using the tri-state mode, you should ensure the PDIC line is held LOW to avoid accidentally entering bootloader mode on the STM32F0.&lt;br /&gt;
&lt;br /&gt;
There will be some additional noise due to the STM32F0 being on the power line. You can reduce this by opening the solder jumper that links the STM32F0 to the input stage. &lt;br /&gt;
&lt;br /&gt;
=== Cutting end Off ===&lt;br /&gt;
&lt;br /&gt;
Similar to the ChipWhisperer-Lite, you can break off the end section. To do that, you will have to do the following:&lt;br /&gt;
&lt;br /&gt;
# Use an xacto knife or similar to deeply score along the perforated holes on both top and bottom, being very careful not to cut towards or near your hand. You will need to hold the CWNANO in an appropriate jig or vice.&lt;br /&gt;
# Align the holes on the edge of a hard surface (suggested: block of wood), and firmly push down on the target end while pushing against down the PCB against the edge. The objective is to avoid flexing the PCB which is likely to break components or solder joints.&lt;br /&gt;
# With appropriate protection from the fiberglass dust, lightly sand the broken edges.&lt;br /&gt;
&lt;br /&gt;
== Reprogramming ==&lt;br /&gt;
&lt;br /&gt;
To reprogram the CW1101, you simply need to force the ERASE. This is done by shorting the &amp;quot;ERASE&amp;quot; jumper on the bottom side while plugging in the USB. This is easier to do by inserting the micro-USB end into the CW1101, and leaving the full-sized end not plugged into the computer. While shorting the ERASE jumper with tweezers have someone plug in the full-sized USB. The device should re-enumerate as a serial port, and the USB LED will be off or dimly lit.&lt;br /&gt;
&lt;br /&gt;
== Beta Versions ==&lt;br /&gt;
&lt;br /&gt;
There exist TWO beta (pre-release) versions floating around. The two versions were released at these events:&lt;br /&gt;
&lt;br /&gt;
# CHES 2018 version&lt;br /&gt;
# arm TechCon version&lt;br /&gt;
&lt;br /&gt;
These versions have some limitations. First, they have not been well tested and were not built under the normal production processes, so are not guaranteed to be as reliable w.r.t. soldering. Second, they have some specific hardware changes relative to the production units:&lt;br /&gt;
&lt;br /&gt;
# arm TechCon and CHES version (-01 and -02 PCB revs): If you cut/snap the target off, the GPIO4 (trigger) pin is not connected. As this pin is required to be used for the ADC trigger, we recommend not cutting the targets off these versions. The GPIO4 trace is incorrectly routed THROUGH the target section. If you'd like to use an external target, either erase the STM32F0 or remove the IC.&lt;br /&gt;
# CHES version (-01 PCB rev) does not have the amplifier on the front-end. This results in poor analog performance.&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	<entry>
		<id>http://wiki.newae.com/index.php?title=CW1200_ChipWhisperer-Pro&amp;diff=4107</id>
		<title>CW1200 ChipWhisperer-Pro</title>
		<link rel="alternate" type="text/html" href="http://wiki.newae.com/index.php?title=CW1200_ChipWhisperer-Pro&amp;diff=4107"/>
				<updated>2019-08-02T19:16:59Z</updated>
		
		<summary type="html">&lt;p&gt;Adewar: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Warningbox|This page has not yet been updated for the v5 release. Some information may be outdated.}}&lt;br /&gt;
&lt;br /&gt;
The CW1200 (ChipWhisperer Pro) is an upgraded version of the ChipWhisperer Lite capture hardware. The Pro includes an FPGA with much more space than the Lite, allowing many new features to be added, including a larger sample buffer, streaming-mode captures, additional trigger methods, and a touchscreen interface. These features make it a high-end device suitable for laboratory use.&lt;br /&gt;
&lt;br /&gt;
Check out a [https://youtu.be/qS6JwX4SBOI sneak peek of the CW-Pro].&lt;br /&gt;
&lt;br /&gt;
[[File:cwpro_invisible.png|500x500px]]&lt;br /&gt;
{{TOC|limit=3}}&lt;br /&gt;
&lt;br /&gt;
== Connection Quick-Start ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Follow the [[Installing ChipWhisperer]] instructions for the ChipWhisperer software and its prerequisites.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Connect ChipWhisperer-Lite, install USB Drivers:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Windows:&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Plug micro-USB cable into ChipWhisperer-Lite&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the &amp;amp;quot;New Hardware Found&amp;amp;quot; wizard doesn't prompt you for drivers, go to the control panel and find the &amp;amp;quot;ChipWhisperer-Pro&amp;amp;quot; device, and select &amp;quot;Update Drivers&amp;quot;.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;You can find drivers in &amp;lt;code&amp;gt;c:\chipwhisperer\hardware\capture\chipwhisperer-cw1200\&amp;lt;/code&amp;gt;. You will likely need to extract them from the &amp;lt;code&amp;gt;cw1200_usbdriver.zip&amp;lt;/code&amp;gt; file. If so simply extract them somewhere (i.e. your desktop), and then point the new hardware found wizard to that location.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Linux:&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Driver installation is not required, but if you do not update the 'udev' system, you will be unable to run ChipWhisperer-Capture as a regular user. To update the udev system, first make sure the ChipWhisperer-Lite is Make a file called &amp;lt;code&amp;gt;/etc/udev/rules.d/99-cwlite.rules&amp;lt;/code&amp;gt; . The contents of this file should be:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;# allow users to claim the device&lt;br /&gt;
SUBSYSTEM==&amp;amp;quot;usb&amp;amp;quot;, ATTRS{idVendor}==&amp;amp;quot;2b3e&amp;amp;quot;, ATTRS{idProduct}==&amp;amp;quot;ace3&amp;amp;quot;, MODE=&amp;amp;quot;0664&amp;amp;quot;, GROUP=&amp;amp;quot;plugdev&amp;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;Add your username to the plugdev group:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo usermod -a -G plugdev YOUR-USERNAME&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;And reset the udev system:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;$ sudo udevadm control --reload-rules&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Finally log out &amp;amp;amp; in again for the group change to take effect.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Connect the USB-A cable, and DC power cable&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;MAC:&amp;lt;/dt&amp;gt;&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;No special installation required - must ensure you have installed libusb via homebrew (see instructions at [[MacOSX_Installation]]).&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/dd&amp;gt;&amp;lt;/dl&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;To check for a successful installation Run ChipWhisperer-Capture. This can be done from one of three ways:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Double-click on &amp;lt;code&amp;gt;CWCapture.pyw&amp;lt;/code&amp;gt; in the &amp;lt;code&amp;gt;chipwhisperer\software&amp;lt;/code&amp;gt; folder. You must have installed Python into your path for this to work.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;run &amp;lt;code&amp;gt;python CWCapture.pyw&amp;lt;/code&amp;gt; from the &amp;lt;code&amp;gt;chipwhisperer\software&amp;lt;/code&amp;gt; folder using a command prompt with Python in the path.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;run &amp;lt;code&amp;gt;python CWCaptureGUI.py&amp;lt;/code&amp;gt; from the &amp;lt;code&amp;gt;chipwhisperer\software\chipwhisperer\capture\ui&amp;lt;/code&amp;gt; directory.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The last option is the most reliable, in that it should always work on all platforms. If it doesn't start look for possible missing modules or other useful errors.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Your ChipWhisperer-Lite is now connected. See the Tutorial B-1 for details of the demo attack.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Power Supply ==&lt;br /&gt;
The ChipWhisperer Pro can only be powered through its 5 V jack. It cannot be powered through the USB port - internally, there are no connections to the USB port's 5 V rail. This limitation is primarily due to the high current draw of the Pro: while powering the touchscreen running and an external target, it would be easy to exceed the USB current limit, causing all sorts of issues.&lt;br /&gt;
&lt;br /&gt;
To make this setup more flexible, the Pro ships with two power sources:&lt;br /&gt;
* A 5 V, 2.1 A power supply. This supply is suitable for a permanent bench setup.&lt;br /&gt;
* A USB-to-barrel jack cable. This solution is more portable: if you're travelling with a laptop, you can use a second USB port for power. A USB charger will also work here.&lt;br /&gt;
If you're using the USB power cable, it is recommended to use a separate power supply to power any external target boards.&lt;br /&gt;
&lt;br /&gt;
== Basic Usage ==&lt;br /&gt;
The basic features on the Pro are exactly the same as the ChipWhisperer Lite. This means that any scripts and tutorials made for the Lite will work on the Pro, too: the connectors and pinouts are exactly the same.&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === AVR Programmer ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/AVR Programmer}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === XMEGA Programmer ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/XMEGA Programmer}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Using Glitch Port ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/Glitch Port}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Using Measure Port ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/Measure Port}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === 20-Pin Connector ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/20-Pin Connector}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Upgrading SAM3U Firmware ===&lt;br /&gt;
|content= CW1173_ChipWhisperer-Lite/Upgrading SAM3U Firmware}}&lt;br /&gt;
&lt;br /&gt;
== Advanced Features ==&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Streaming Mode ===&lt;br /&gt;
|content= CW1200 ChipWhisperer-Pro/Streaming Mode}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Trigger Module ===&lt;br /&gt;
|content= CW1200 ChipWhisperer-Pro/Trigger Module}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === SMA I/O ===&lt;br /&gt;
|content= CW1200 ChipWhisperer-Pro/SMA I/O}}&lt;br /&gt;
&lt;br /&gt;
{{CollapsibleSection&lt;br /&gt;
|intro = === Touchscreen ===&lt;br /&gt;
|content= CW1200 ChipWhisperer-Pro/Touchscreen}}&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
{{Template:Hardware}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Capture Hardware]]&lt;/div&gt;</summary>
		<author><name>Adewar</name></author>	</entry>

	</feed>