Attack Firmware v1.2, Target firmware v1.2, Dump Script v1.3
This release mostly consists of @deividAlfa's contributions (special thanks) and a couple of minor fixes for issues pointed out by people.
Here's a summary of what has changed:
dump.py:
- Updated minimum OpenOCD version to
0.11.0
until backwards compatibility for0.10.0
has been implemented (See #2) - Fixed OpenOCD version detection to work with dev builds by switching to regex based version testing
- Wait 2 seconds to give the user some buffer/head-room to properly connect the debug probe (See #9)
- Fixed target fw upload failing if the absolute path of dump.py contains spaces (See #3)
Attack Firmware:
- Set the Pico's nRST sensing input to pull-up to avoid a voltage divider forming between the nRST's pull-up and the Pi's GPIO's pull-down. Depending on the target device, this could have lead to instability due to the nRST line being too low. (See #5)
Target Firmware:
- Dynamically determine flash size by reading the Flash size register (
0x1FFFF7E0
, see RM0008 page 1076). On 64kB, 128kB's are read as it's the same die and some firmwares make use if this. (See #8)
Other fixes:
- Fixed "Note" with GPIO wiring in the Bluepill Fritzing sketch in the README.md (See #6)
Here's an oscilloscope comparisont to showcase the voltage accross the nRST line without the Pi's input being set to pull-up, and with its input being set to pull-up:
Without pull-up:
The max voltage was around 2.7V
With pull-up:
The voltage now reaches the expected and desired 3.3V
(alright... its 3.2V
, but that's close enough 😉)