{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import chipwhisperer as cw\n", "\n", "try:\n", " if not scope.connectStatus:\n", " scope.con()\n", "except NameError:\n", " scope = cw.scope()\n", "\n", "try:\n", " if SS_VER == \"SS_VER_2_1\":\n", " target_type = cw.targets.SimpleSerial2\n", " elif SS_VER == \"SS_VER_2_0\":\n", " raise OSError(\"SS_VER_2_0 is deprecated. Use SS_VER_2_1\")\n", " else:\n", " target_type = cw.targets.SimpleSerial\n", "except:\n", " SS_VER=\"SS_VER_1_1\"\n", " target_type = cw.targets.SimpleSerial\n", "\n", "try:\n", " target = cw.target(scope, target_type)\n", "except:\n", " print(\"INFO: Caught exception on reconnecting to target - attempting to reconnect to scope first.\")\n", " print(\"INFO: This is a work-around when USB has died without Python knowing. Ignore errors above this line.\")\n", " scope = cw.scope()\n", " target = cw.target(scope, target_type)\n", "\n", "\n", "print(\"INFO: Found ChipWhisperer😍\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print(\"***********************************************\")\n", "print(\"1. Ensure J3 on UFO Board routines CLKFB to HS1/IN\")\n", "print (\"2. Confirm baud settings\")\n", " \n", "scope.gain.gain = 45\n", "scope.adc.samples = 25000\n", "scope.adc.offset = 0\n", "scope.adc.basic_mode = \"rising_edge\"\n", "scope.clock.clkgen_freq = 7370000\n", "scope.clock.adc_src = \"extclk_x1\"\n", "scope.trigger.triggers = \"tio4\"\n", "#TX/RX backwards from XMEGA\n", "scope.io.tio1 = \"serial_tx\"\n", "scope.io.tio2 = \"serial_rx\"\n", "scope.io.hs2 = None\n", "\n", "#Sample delay - you may need to increase this!\n", "time.sleep(0.5)\n", "\n", "ext_freq = scope.clock.freq_ctr\n", "\n", "if ext_freq > 10:\n", "\n", " baud = int((115200 / 32E6) * ext_freq)\n", " print(\"Based on extclk of %d Hz, setting baud to %d\" % (ext_freq, baud))\n", " target.baud = baud\n", " \n", "else:\n", " raise IOError(\"Did not detect external clock from D2000. Confirm jumpers and rerun, or increase delay before sample.\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.5" } }, "nbformat": 4, "nbformat_minor": 2 }