Timer and Ticker not working on custom board

16 Jan 2018

I ported mbed to a custom board powered by a STM32F030CC. Most functionality seems to be fine (serial, gpio, threads, etc.).

However two features (so far) do not work or at least not as expected: The Ticker doesn't fire at all. No matter how large or small I specify the time. The Timer shows implausible times. I print the result from Timer::read_ms() in a loop with wait(1) and it shows pretty big numbers (4294970, 8589932, 12884900).

Both behaviours would lead me to the conclusion, that my hal_tick setup is wrong. But then again - wait(1) waits for exactly one second. So the RTOS seems to work as it should. What am I missing that could lead to the Timer measuring wrong values and the Ticker not working? (btw.: EventQueue::call_every() didn't fire either, while EventQueue::call() succeeded).