Yes VERY_HIGH_SPEED (72 Mhz) was set in Application_Ini.
Looking at this line in CircleOS main.c : NVIC_SystemHandlerPriorityConfig( SystemHandler_SysTick, 3, 3 ); //6,6
I figured out that I had left the "default" priority settings for my own DMA1_IRQHandler, that is 0,0.
So I changed it. Priority values from 3,3 to 5,5 had no effect whatsoever.
But setting priorities to 6,6 worked just fine!
I guess priorities stronger than 3,3 caused preemption over the SysTick Handler but who has priorities 4,4 and 5,5 ?
One further question about the reload value of the Systick which would indeed allow me to have a systick interrupt for CircleOS routines every 10ms for instance rather than every 1ms.
The default value is 3000. With this setting and the CPU Frequency at 72MHz, my (CircleOS) application handler actually gets called every 100ms. Given that the "Application divider" is set to 100, it is consistent with the Systick handler being called every 1ms as expected.
That's fine but what is the exact relation between the systick reload value and the CPU freq ?
The information provided in the Primer2 ref manual (CPU Freq/Systick = 24000), the STM32 ref manual (Systick calibration = 9000), and the Cortex-M3 ref manual (CPU Freq / 3000 = Systick) is very confusing!!
Thanks a lot.