I ended up finding even more issues with the network drives. Things like parts of the project appearing and disappearing.
Went to local disk for the workspace and set a project up and... my SysTick worked.
On HAL libraries and in-efficiencies. I'm not so sure. I'm playing with an STM32F030F4 which has 16Kib Flash and 4Kib SRAM.
With RTC enabled, an I2C and an SSD1306 display I'm at 91% FLASH and 70% RAM.
I even tried saving RAM by defaulting the clock config, but, no, the RCC_OscSetup function still takes up 1.6Kib of Flash!
Even trying to enable TIM4 and using Sleep instead of Delay resulted in 103% flash.
So it's bad, but it's not that bad. It does seem to only pull in what you use.
I've kicked out all the test functions. I only loaded one font, the smallest one I can live with.
A "Release" build will bring it down to 80% flash, it's just I can't then debug that TIM4 to make it work.
There is some bloat in the Init functions that could be thinned out, a lot of conditional stuff that I can't see changing at runtime, so why bother checking, etc. I'll comment out loads of it and see if it still works

The idea was a little battery powered "How many sleeps to Santa" device for my 5 yo. However, looking at it and that little RTC has gained 4 minutes extra time in an hour. So, it's not going to work. Was still fun for a Saturday afternoon. It also pulls 9mA. If I sleep it and let SysTick wake it, it pulls 10mA LOL Which gives it a 10 day life on an 18650. Unsoldering the power LED and I might get that down to half that. I still need more than 20 days... and an accurate clock.
