Changes

CW5

2,318 bytes added, 19:30, 3 June 2019
no edit summary
The release of ChipWhisperer v5.0 has brought major changes to the front end of the ChipWhisperer software as well as a switch to Python3Python 3: the GUI and the wiki tutorials have been replaced with Jupyter Notebooks, which allow users to run interactive Python blocks in their browser. Most of the API remains unchanged from v4 and, with the exception of Python2Python 2.7 specific code, most GUI-less scripts should run as is. Additional features, such as ChipWhipserer Analyzer support, are now available outside of any GUI.
== Running Jupyter ==
To run Jupyter natively (aka outside a VM), navigate to the ChipWhisperer directory via a bash command line and run <code>jupyter notebook</code>. A new window should open in your browser. If you're using a ChipWhisperer VM, ensure the VM is booted, open your browser and connect to either 192.168.33.10 (initial 5.0.0 VM release) or localhost:8888 (5.0.1+ VM releases). Once you have it started, Jupyter behaves as a mostly normal file explorer inside your browser, allowing you to click on directories to enter them or on files to open them. Once you have files open, you can use Jupyter to edit them as you would any normal text editor.
== What are Jupyter Notebook Tutorials Notebooks? ==Starting with ChipWhisperer v5.0, tutorials have been moved from the wiki into Jupyter Notebooks. These notebooks are located in <documents that combine Python code>software/jupyter</, rich text, and additional code>(such as Bash), have the extension <code>organized into executable blocks.ipynb</code>Notebooks allow users to run blocks out of order and multiple times, and can be giving greater control over what's being run by opening the tutorials via than a Python script. To run these notebooks, you'll need to install the Jupyter Notebook interface. These tutorials contain interactive code blocksapplication (installation is covered in a later section), which can run by clicking on them to highlight them, then hitting the run button in the menu at the top of your screen:also includes file browser and text editor capabilities.
[[File:Running jupyter Starting with ChipWhisperer 5, the GUI and Wiki tutorials have been replaced by notebooks. For users, this means that instead of clicking buttons and modifying values in a GUI, users now run and edit Python blocksthat use ChipWhisperer's Python API. This has a number of advantages, including less complexity than a full GUI (hopefully fewer bugs), less separation between tutorials and running the software, and teaching users how to use ChipWhisperer's Python API.PNG|frameless|876x876px]]
If you need == Getting Started ===== Installing ChipWhisperer 5 and Jupyter ===For instructions on how to change anything inside the blocks, double click the block to begin editing them. Since install ChipWhisperer 5 and Jupyter runs in your browser, you can improve your workflow by using tabs and windows to open multiple files at a timeplease see our page [[V5:Installing_ChipWhisperer]].
[[File:=== Running Jupyter Multiple Tabs===Once you have ChipWhisperer/Jupyter installed and have the associated hardware, you should be all set to run ChipWhisperer 5! To run ChipWhisperer 5 via a Virtual Machine, open your VM and start the ChipWhisperer Jupyter image.PNG|frameless|867x867pxOnce the Virtual Machine is booted, open either Firefox or Chrome. Go to your address bar and type in [code]localhost:8888[/code]. A page requesting a password should appear. Enter your password that you set for Jupyter during installation and you'll be taken to the Jupyter homescreen.
Everything in these For a native installation, open a Bash-like shell terminal (for Windows users, Git Bash will work fine) and navigate to where you installed ChipWhisperer. In Bash, run [code blocks are actual Python ]$ jupyter notebook[/code (unless ]. You should be taken to the Jupyter homescreen. === Running Tutorials ===Starting with ChipWhisperer v5.0, tutorials have been moved from the wiki into Jupyter Notebooks. Use Jupyter's file browser to navigate to [code]software/Jupyter[/code], which contains all of the tutorial notebooks. If you 'd like to see something our suggested completion order, you can open [code]!!Suggested_Completion_Order!!.ipynb[/code]. Once you've decided which tutorial to run, open the tutorial via Jupyter. Once you've got a notebook open, you'll find a combination of rich text and Python (and few special blocks, like <the [code>]%%bash<[/code> at ] blocks. Near the top)of the page, so these tutorials also provide you'll find a reference for creating special Python scriptsblock with [code]#Parameters[/code] in it. These tutorials often make use This block is used to select which scope (via [code]SCOPETYPE[/code]) as well as which target (via [code]PLATFORM[/code]) you'll be using for the tutorial. Make sure to edit these parameters for which hardware you're using. A list of helper scriptscommon SCOPETYPE and PLATFORM values can be found [http://www.example.com here (not yet available)]. Now that this setup is complete, which are located in you can start actually running through the Helper_Scripts foldertutorials. The Jupyter folder also contains To run a <block, click on the block and make sure it's highlighted (the block should have either a green or blue outline around it), then click the [code]>Helpful_Code_Blocks<| Run[/code> file which, as ] button on the name suggests, contains blocks toolbar at the top of the screen. This will run the code inside of the block and move to the next one. Run the rest of the code block in the tutorial (all tutorials are designed to be able to be run with minimal modifications to the Python code that ). === Special Blocks ===While running tutorials, you will come across special blocks. For ChipWhisperer's notebooks, the two most common ones are often a good start [code]%%bash[/code] and [code]%run[/code]. The [code]%%bash[/code] blocks run the following lines using the Bash-like shell you used to open Jupyter with and are typically used for creating your own notebooks or scriptsbuilding firmware. The final file of note is <[code>!!Suggested_Completion_Order!!<]%run[/code>] blocks, which contains a list of on the other hand, are used to run other Jupyter notebooks. This avoids duplicating some common blocks across tutorials in . To find these notebooks, follow the suggested order path specified after the [code]%run[/code] command. For example, if you see a block with [code]%run "Helper_Scripts/Setup.ipynb"[/code], you can find that file at [code]software/Jupyter/Helper_Scripts/Setup.ipynb[/code]. === Editing Blocks ===To edit code blocks, simple click on the text portion of the block and begin making your changes. You'll know if you complete them 're in edit mode for a block because it will be highlighted ingreen.
== New Features ==
Approved_users, administrator
366
edits