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

Changes

Jump to: navigation, search

CW308T-STM32F

2,938 bytes added, 15:32, 23 May 2020
Supported Devices
{{Infobox cw308target
|name = CW308T-STM32F
|image = cw308_stm32fSTM32F3-Top_Rev03.jpg
|caption =
|Target Device = ST STM32F
|Target Architecture = Cortex M0,M3,M4
|Hardware Crypto = Possible
|Purchase Hardware = [http://store.newae.com/stm32f0-target-for-cw308-arm-cortex-m0-128kb-flash-8kb-sram/ Webstore, F0] [http://store.newae.com/stm32f1-target-for-cw308-arm-cortex-m3-128kb-flash-8kb-sram/ Webstore, F1] [http://store.newae.com/stm32f3-target-for-cw308-arm-cortex-m4-256kb-flash-40kb-sram/ Webstore, F3] [http://store.newae.com/stm32f4-target-for-cw308-arm-cortex-m4-1mb-flash-192kb-sram/ Webstore, F4] [http://store.newae.com/blank-pcb-stm32fx-cw308-target/ Webstore PCB]
|Design Files = [https://github.com/newaetech/chipwhisperer/tree/master/hardware/victims/cw308_ufo_target/stm32f GITHub Link]
|Status = Released
}}
 
{{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}}
== Supported Devices ==
!Tested
!Jumper
!Flash
!SRAM
!NAE P/N
|-
|F0
|STM32F071RBT6
|No
|Yes
|B
|128KB
|16KB
|NAE-CW308T-STM32F0
|-
|F1
|STM32F100RBT6B
|No
|Yes
|B
|128KB
|8KB
|NAE-CW308T-STM32F1
|-
|F2
|Yes
|A
|512KB
|132KB
|NAE-CW308T-STM32F2HWC
|-
|F3
|TQFP-64
|STM32F303R8T6|YesSTM32F303RCT7
|No
|Yes
|B
|256KB
|40KB
|NAE-CW308T-STM32F3
|-
|F4
|Yes
|A
|1MB
|192KB
|NAE-CW308T-STM32F4HWC
|-
|F4
|Yes
|A
|1MB
|192KB
|NAE-CW308T-STM32F4
|-
|L4
|TQFP-64
|STM32L443RCT6
|Yes
|Yes
|B
|256KB
|64KB
|NAE-CW308T-STM32L4 (this version has hardware crypto)
|-
|L5
|TQFP-64
|STM32L562RET6
|Yes
|Yes
|B
|512KB
|256KB
|NAE-CW308T-STM32L5HWC
|}
== Hardware AES ==
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(). == CAN Connection == 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.
== Programming Connection ==
 
=== ChipWhisperer Programmer via Bootloader ===
 
See further down this wiki page for details.
 
=== JTAG Programmer ===
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.
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.
 
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:
<syntaxhighlight lang=python>
SCOPETYPE = "OPENADC"
PLATFORM = "CW308_STM32F4" #For STM32F4 target, was originally "CWLITEARM"
</syntaxhighlight>
=== Building ST Example on Command Line ===
If all goes well, this command will finish by printing the output file size and the platform:
 
[[File:Stm32-make.png]]
{{CollapsibleSection|intro === Running ST Example with ST-Link = Programming via ChipWhisperer Bootloader ===Once you've built a binary to load onto the target, you're ready to program it. Plug your programmer into the 20 pin JTAG connector (J6 on the UFO board):|content= CW308T-STM32F/ChipWhisperer_Bootloader}}
[[File:Stm32{{CollapsibleSection|intro = === Running ST Example with ST-jtag.jpgLink ===|600px]]content= CW308T-STM32F/ST_Link}}
Then, the details of this step will depend on your programmer. If you{{CollapsibleSection|intro = === Building and Debugging via ST're using an STs System Workbench ===|content= CW308T-Link programmer, open the ST-Link utility and connect to the device:STM32F/Debugging_with_ST_Link}}
[[File== Schematic ==The following variants are possible, see the table above for SRAM/FLASH/HW-Crypto status:Stm32{| class="wikitable"!Variant!U1!R3 (VCC-Shunt)!R4 (Clock)|-|F0|STM32F071RBT6 |33-ohm|120-ohm|-|F1|STM32F100RBT6|22-ohm|51-ohm|-|F2HWC|STM32F215RET6|10-ohm|51-ohm|-|F3|STM32F303RCT7|12-ohm|51-ohm|-|F4|STM32F405RGT6|10-ohm|51-ohm|-|F4HWC|STM32F415RGT6|10-ohm|51-connect.png]]ohm|}
Load your `.hex` file and program the device with the Program and Verify button:=== Rev -03 Schematic ===
[[File:Stm32The current revision of the target is -program03.png]]The following shows this schematic:
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[[File:CW308T_STM32F_03.png|1100px]]
=== Building and Debugging via ST's System Workbench Rev -02 Schematic === 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:[[File:cw308_stm32f.jpg|400px]]
== Schematic ==
[[File:CW308T_STM32F_02.png|1100px]]
== Hardware ==
{{Template:Hardware}}
[[Category: CW308 Targets]]
Approved_users, bureaucrat, administrator
1,956
edits

Navigation menu