The device consists of an Cortex M4 main processor and an Cortex M0+ co-processor running the network stack.
I've been trying to influence the bluetooth advertisement beacon behavior - when are they transmitted and what payload do they carry. However any time I touch anything the CPU dies just before returning from a specific void
function. I can reliably detect everything is OK just before the return
:
- return address has not been overwritten during function execution
- no object is allocated or constructed, it's a
void
function - no d-tors called, this is C
- the architecture requires 4 byte alignment: honored.
Yet just after the return a basic gpio set never takes place. Where do I look? The build system is somewhat complicated so simply sticking an -E isn't so straightforward.