Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
project:chipwhisperer:start [2019/11/24 00:31]
abyssal [Glitching STM32 external board through UFO-board interface]
project:chipwhisperer:start [2019/12/15 23:12] (current)
abyssal [Chipwhisperer STM32 serial protocol]
Line 113: Line 113:
  
 When you look at the clock networks of various STM32, you will find that each chip has different clock network, STM32F427 cannot be easily replaced with STM32F429. When you look at the clock networks of various STM32, you will find that each chip has different clock network, STM32F427 cannot be easily replaced with STM32F429.
 +
 +====== UART bootROM protocol of STM32s via Chipwhisperer ======
 +
 +Chipwhisperer has [[https://​github.com/​newaetech/​chipwhisperer/​blob/​develop/​software/​chipwhisperer/​hardware/​naeusb/​programmer_stm32fserial.py | STM32 serial programmer]] which can do more stuff than just erase and flash new program (refer to AN 3155 and AN 2606 STM32 datasheet).
 +
 +To get into the bootROM you need to trigger the right pattern (depends on specific STM32, but generally needs BOOT0 pin high with some extra conditions).
 +
 +Once bootROM is running, you can issue commands like erase, write, protect/​unprotect and others.
 +
 +Some commands can be stacked, e.g. (extended) erase with write, some like (un)protect commands cause system reset of STM32 and you need to reopen the programmer.
 +
 +An unfortunate side effect of pulling nRST (either from outside or from firmware) is that gdb connected to SWD as external target aborts.
 +
 +I would highly recommend using logic analyzer to check result since the STM32 programmer is PITA. Order of connection of SWD/JTAG and logic analyzer seems to matter. Once nRST is pulled, SWD/JTAG seems to lose ability to do proper system reset.
 +
 +{{:​project:​chipwhisperer:​chipwhisperer_nano_stm32f0_bootrom.jpg?​800|}}
 +
 +
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 4.0 International
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki