I've got a strange situation. I've enabled systick, but it doesn't keep time unless the CPU is active. Key excerpts:main.c:
SysTickInit(sys_clocks.SYSCLK_Frequency);void SysTickInit(unsigned base_freq) {
SysTick->CTRL = 0; // Turn it off.
...
I may have something more fundamental going on here. I removed the two instances of WFI from my existing code, and I've switched to experimenting with an existing known good 1us timer ( TIMER2) that has an existing IRQ handler. I can verify that ...
We're getting pretty far afield and you don't have all the context. This is a cooperative multitasking system so there is no while(1) loop. That pseudo-code is for yield().
My system is bare metal, with an exception/kernel layer and a non-priviledged thread/user layer. I use the NVIC instead of an RTOS, and vend a kernel interface to the thread mode code via system calls layer ( https://github.com/rbsexton/sockpuppet...