Code: Select all
chEvtBroadcastI(&shell_terminated);The PC for the hardfault is in chevents.c, chEvtSignalI(), in the first condition of the "if" (or possibly the previous line - I'm still getting used to interpreting hard faults!).
As far as I know I'm not listening for the event, I just used the same shell handling that polls for the shell being terminated, then respawns.
Any ideas what might be going wrong?