IRQ levels are confirmed. DMA IRQ at lvl 12, timers at 3-5, no other IRQ enabled, checked in NVIC.
The ChibiOS HAL is not even part of my project, I use the old and new fwlib from ST for init stuff (simply more readable), but prefer register access for the fast stuff.
Code: Select all
#define PORT_IDLE_THREAD_STACK_SIZE 64
Idle thread stack overflows immediately, probably due to my idle tick hook which requires some more stack. 128 works fine.
Code: Select all
#define PORT_INT_REQUIRED_STACK 16
Doesn't change anything, but I will stick to this value.
Write to 0x10000400 also occurs in release build (-Os), at exactly the same instruction. Looks like such writes beyond the stack also occurs on other stacks, checked that in debugger memory view.
Providing an MWE is difficult because I have data incomming via SPI and the timers are controlling two motors with attached encoders.