Over a year ago I wrote up some notes on setting up an ARM development environment. Since then a change has occurred. Low Level libraries have been made available for the STM32F103. These should fit between the HAL library and the code I was writing. How well the Low Level libraries work is currently an unknown. I haven’t found the time to investigate. The tool chain should largely be the same. A few additional includes may be required to add the Low Level libraries. I hope before too long to try them out to see how they compare to my current method.