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

Difference between revisions of "CW308T-D2000"

From ChipWhisperer Wiki
Jump to: navigation, search
(How to flash D2000 board using OpenOCD)
(Replaced content with "== Page Moved == See [https://rtfm.newae.com/Targets/UFO%20Targets/CW308T-D2000/ NewAE RTFM Page] which is now built from the [https://github.com/newaetech/chipwhisperer-...")
 
(16 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Infobox cw308target
+
== Page Moved ==
|name                  = CW308T-D2000
+
|image                  = d2000_topdown.jpg
+
|caption                =  
+
|Target Device          = Intel Quark D2000
+
|Target Architecture    = x86
+
|Hardware Crypto        = No
+
|Purchase Hardware      =
+
|Design Files          = [https://github.com/newaetech/chipwhisperer/tree/master/hardware/victims/cw308_ufo_target/d2000 GITHub link]
+
  
[https://oshpark.com/shared_projects/HOs4WL4l OSH Park PCBs]
+
See [https://rtfm.newae.com/Targets/UFO%20Targets/CW308T-D2000/ NewAE RTFM Page] which is now built from the [https://github.com/newaetech/chipwhisperer-target-cw308t GIT Repo].
  
|Supported Applications =
+
The previous content on this wiki has been moved to the above link. See wiki history if you would like to view exact older versions of this page.
}}
+
 
+
[[File:d2000_topdown.jpg|400px]]
+
 
+
The D2000 target is a bit of an oddball. It's an x86 target, but is really a microcontroller (internal flash etc).
+
 
+
== Programming ==
+
 
+
An external programmer is needed for this target. The Quark D2000 dev-board can be used with jumper wires, or a standard OpenOCD programmer can be used. The suggested programmer is the [https://mouser.com/ProductDetail/Olimex-Ltd/ARM-USB-OCD-H Olimex ARM-USB-OCD-H] as is available from suppliers such as Mouser and Digi-Key (mouser link provided).
+
 
+
=== How to flash D2000 board using OpenOCD ===
+
 
+
We'll modify the provided scripts from the Intel ISSM distribution (compiler etc for D2000). Start a Windows command prompt and run the following commands:
+
 
+
C:\IntelSWTools\ISSM_2016.0.027\issm_env.bat
+
cd %ISSM_DEBUGGER_ROOT%\openocd
+
bin\openocd.exe -f scripts\interface\ftdi\olimex-arm-usb-ocd-h.cfg -f scripts\board\quark_d2000.cfg
+
 
+
Note we specify two script files - the first had the JTAG connection (the olimex-arm-usb-ocd-h.cfg), the second had the D2000. This should result in an output like the following:
+
 
+
Open On-Chip Debugger 0.8.0-dev-g7845893 (2015-11-26-18:12)
+
Licensed under GNU GPL v2
+
For bug reports, read
+
        http://openocd.sourceforge.net/doc/doxygen/bugs.html
+
Info : only one transport option; autoselect 'jtag'
+
adapter speed: 1000 kHz
+
trst_only separate trst_push_pull
+
flash_rom
+
Info : clock speed 1000 kHz
+
Info : JTAG tap: quark_d2000.cltap tap/device found: 0x0e786013 (mfg: 0x009, part: 0xe786, ver: 0x0)
+
Enabling lmt core tap
+
Info : JTAG tap: quark_d2000.lmt enabled
+
 
+
At this point it will hold, waiting for new commands. Open a second command prompt, and run:
+
 
+
C:\IntelSWTools\ISSM_2016.0.027\issm_env.bat
+
gdb
+
 
+
From within this GDB console, you can run the following:
+
 
+
target remote :3333
+
monitor clk32M 500
+
monitor load_image C:\\chipwhisperer\\hardware\\victims\\firmware\\intel_quark\\quark_d2000_rom.bin 0x0
+
monitor load_image C:\\chipwhisperer\\hardware\\victims\\firmware\\intel_quark\\simpleserial_example\\release\\quark_d2000\\x86\\bin\\simpleserial_aes.bin 0x00180000
+
 
+
The first load_image is used for the ROM image. This may not be needed as has normally been done already. However you'll have to reload the application any time you wish to reprogram it.
+
 
+
== Schematic ==
+
 
+
See GIT Repo for PDF of schematic.
+
 
+
[[File:CW308T-D2000-02_schematic.png|1000px]]
+
 
+
== Board Layout ==
+
 
+
See GIT Repo for gerber files.
+
 
+
{{Template:Hardware}}
+
[[Category:CW308 Targets]]
+

Latest revision as of 11:32, 29 July 2020

Page Moved

See NewAE RTFM Page which is now built from the GIT Repo.

The previous content on this wiki has been moved to the above link. See wiki history if you would like to view exact older versions of this page.