I use C. I write all the code from bare metal i.e. no OS and I write my own routines to initialize and use the hardware.
I could use the routines that the MCU manufacturer provides but when I've tried, I've found that I spend a large amount of time understanding the API and what they are doing and writing the drivers myself is faster.
I could use the routines that the MCU manufacturer provides but when I've tried, I've found that I spend a large amount of time understanding the API and what they are doing and writing the drivers myself is faster.
Take a look at this code base: https://github.com/ukmars/ukmarsbot