Posts: 6
Threads: 1
Joined: Nov 2024
Reputation:
0
Posts: 246
Threads: 14
Joined: Apr 2020
Reputation:
16
06-11-2024, 05:37 PM
(This post was last modified: 06-11-2024, 05:44 PM by embitz.)
Make a small F4 project for me and I will see if I can fix it.
Update:
I think this is because the reset flag is set and catched by EBlink. Are you sure that it was working with the old STlinkGDB?
A workaround that I use for my bootloaders is using a jump/call to the reset factor in debug mode.
Posts: 246
Threads: 14
Joined: Apr 2020
Reputation:
16
Ok, I have a version where this is solved but I'm not sure I like it enough.
The problem is that if an accidental resets occur, we don't notice this anymore. I'm not sure how to handle this.
Posts: 246
Threads: 14
Joined: Apr 2020
Reputation:
16
06-11-2024, 08:34 PM
(This post was last modified: 06-11-2024, 08:35 PM by embitz.)
Perhaps an solution would be if fault unwind level 2 will stop the target and level lower will just reset the target. Perhaps with an dialog message on windows and only a notice text on linux.
Posts: 246
Threads: 14
Joined: Apr 2020
Reputation:
16
06-11-2024, 09:35 PM
(This post was last modified: 06-11-2024, 10:39 PM by embitz.)
I'm not that fond of checkboxes for everything. I think I have a workable solution.
You have to chose Fault unwind level "forced only" or "off". If the unwind level is "Auto break" a dialog screen will popup in windows and the program stops at the reset vector. The other unwind level will only show a message on the terminal (or in the EBlink log pane of EB). In linux both times a message will be shown on terminal.
I think that you also need a newer set of EBlink script files. Just get them from github or install the latest binary and replace the EBlink.exe
This is an unsigned test version
Posts: 246
Threads: 14
Joined: Apr 2020
Reputation:
16
Fault unwind is a build-in feature to catch runtime errors, it will unwind the stack and inform the user about the exception and additional info. By unwinding the stack, the debugger is halted on the line with the error or with a meaningful call stack in case of instruction errors. You can simple click in the callstack windows on the caller and see where the fault is.
Level 0 = Fault unwind disabled
Level 1 = Not active but unwind is Forced on (user) halt if any errors are detected
Level 2 = the code will be actively halted when an error occurs
As soon as I have some time left I will post a "howto" with runnable code examples to demonstrate Fault unwind