Based on the Udemy course - Master Microcontroller and Embedded Driver Development(MCU1), I was writing my own Baremetal drivers for GPIO and SPI.
The pratform is Nucleo board F401RE, which is based on Cortex-M4.