-
Notifications
You must be signed in to change notification settings - Fork 7
Description
Hi!
I'm struggling for several days now, tldr: faultier can't see neither SWD nor UART signal as a trigger, always says trigger timeout.
my setup: I have a stm32f405 chip placed in an adapter board, so every pin is conveniently exposed, there is a test program running there, all power and grounds connected either directly to the faultier pins or to the breadboard and then to faultier, no capacitors or any other stuff.
Now I want the glitch to be triggered by the signal I'm sending over SWD or UART interface (tried both in this order). I also use oscilloscope to see at the signals I have.
On the faultier the glitch is connected to VCAP2, MUX0 to NRESET and EXT0 to the one of SWDIO, SWCLK, UART TX.
I can clearly see the signal on each of these on the oscilloscope screen (negative pulses swdio, positive pulses swclk, negative pulses uart tx), the result of operation performed is success.
I've also tried to connect directly the UART TX to the EXT0, without any intermediate stuff, the result is the same, so my guess the problem is not in weak wires connection on a breadboard.
The glitch config I use looks like:
ft.configure_glitcher(
power_cycle_output = faultier.OUT_MUX0,
power_cycle_length = 3000000,
trigger_source = faultier.TRIGGER_IN_EXT0,
trigger_type = faultier.TRIGGER_PULSE_NEGATIVE, // tried here every option
glitch_output = faultier.OUT_CROWBAR
)
and the way I use it:
# glitch non blocking
ft.glitch_non_blocking(delay=d, pulse=p)
# operation
status = operation() # this activates SWDIO and SWCLK or UART TX
# block glitch
try:
ft.glitch_check_non_blocking_response()
except Exception as e:
print(f"exception: {e}")
No matter what trigger type I use with each option (SWDIO,SWCLK,UART TX) I always get the "exception: Trigger timeout!"
I have positive experience using some pin set to HIGH in firmware code as a trigger - it works just fine, so this is not the broken EXT0.
The questions are: is there some missing part of software configuration on my side, or a bug in software on some level, or this is a hardware problem?