113 lines
3.3 KiB
Text
113 lines
3.3 KiB
Text
|
{
|
||
|
"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": [
|
||
|
"scope.gain.gain = 55\n",
|
||
|
"scope.gain.mode = 'high'\n",
|
||
|
"scope.adc.samples = 5000\n",
|
||
|
"scope.adc.offset = 0\n",
|
||
|
"scope.adc.basic_mode = \"rising_edge\"\n",
|
||
|
"scope.clock.clkgen_freq = 7372800\n",
|
||
|
"scope.clock.adc_src = \"clkgen_x4\"\n",
|
||
|
"scope.clock.adc_phase = 128\n",
|
||
|
"scope.trigger.triggers = \"tio4\"\n",
|
||
|
"scope.io.tio1 = \"serial_rx\"\n",
|
||
|
"scope.io.tio2 = \"serial_tx\"\n",
|
||
|
"scope.io.tio3 = True #Run condition\n",
|
||
|
"scope.io.pdic = False #SPI forwarding off\n",
|
||
|
"scope.io.hs2 = \"clkgen\"\n",
|
||
|
"\n",
|
||
|
"target.baud = 38400\n",
|
||
|
"\n",
|
||
|
"print(\"\\n***ESP 32 Target Usage Notes***\")\n",
|
||
|
"print(\" Call set_bootloader to enter BOOTLOADER so external USB-Serial cable will work.\")\n",
|
||
|
"print(\" Call set_run to enter RUN mode.\")\n",
|
||
|
"print(\" Jumper TDI to GND to disable boot-up messages (reduce noise if looking at boot decryption).\")\n",
|
||
|
"\n",
|
||
|
"\n",
|
||
|
"def set_bootloader():\n",
|
||
|
" scope.io.tio3 = False\n",
|
||
|
" scope.io.tio1 = None\n",
|
||
|
" scope.io.tio2 = None\n",
|
||
|
" \n",
|
||
|
" #Toggle reset\n",
|
||
|
" scope.io.nrst = False\n",
|
||
|
" time.sleep(0.05)\n",
|
||
|
" scope.io.nrst = None #Pulls high by default\n",
|
||
|
"\n",
|
||
|
"def set_run():\n",
|
||
|
" scope.io.tio3 = True\n",
|
||
|
" scope.io.tio1 = \"serial_rx\"\n",
|
||
|
" scope.io.tio2 = \"serial_tx\"\n",
|
||
|
" \n",
|
||
|
" #Toggle reset\n",
|
||
|
" scope.io.nrst = False\n",
|
||
|
" time.sleep(0.05)\n",
|
||
|
" scope.io.nrst = None #Pulls high by default"
|
||
|
]
|
||
|
}
|
||
|
],
|
||
|
"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
|
||
|
}
|