AnsweredAssumed Answered

Re-loading / re-starting debug session with MQX code on the M4 core of the VF61xxx

Question asked by D. RY on Jun 29, 2017
Latest reply on Aug 17, 2017 by D. RY

Are you able to do this when working on the M4 core side of the VF61 SoC, with MQX based project, without resetting the whole SoC? (either through full por,  wd reset, external pin reset).


You debugging, then you decide to modify the code, rebuild, and re-load it and restart debugging. Are you able to do this without resetting the entire system? I cannot, and I don't understand why.


On first system power on and start, I can connect with hw debugger, upload firmware, and start debugging. I can also restart the debug session with same code, from beginning, and code always runs, debugging works good.


If I modify code, and upload it, then I get into trouble. The only thing I seems get consistently working is I get into main() which then calls _mqx. From then things just "don't work".  The code seems to run, but gets stuck in various places,  not consistent from restart to restart. Break points don't seem to (always) work either, with the exception of the one in main which I hit constantly (and also if I set it in MQX bootloader, that is spot-on 100%).


It fails or gets stuck in different places. It can be bsp init,  e.g. it can get stuck on call to enabling dcache, yet, if I single step that call, then it runs.  It can get stuck in unexpected interrupt call handler, which it being called indefinitely.  It can get stuck on application code testing for static variables being allocated properly,  which sometimes appear not to.

It's just a _total_chaos_, which makes me think I'm crazy.


Yet, _exactly_same_ modified code/binary runs superbly fine if first do full system reset with say wdog A5 reset ( I can trigger it from A5 side).  Then the system comes back from this total chaos, and I'm back at being able to work normally.

Any explanations & suggestions please...?