То что вы выбрали С++ путь, это правильно.
1. Сгенерируйте проект в STM32CubeMx. Задайте параметры пинов, подключите необходимую периферию (UART, SPI).
2. Экспортируйте проект в IAR ARM или Keil.
3. Собирайте код и заливайте в плату. Вы не написали ни строчки кода, а уже получили рабочий каркас приложения.
4. Читайте даташиты на чип (нужен тот, где описываются все регистры периферии), и документацию на HAL. Основная ваша работа будет идти через HAL, про регистры читать для общего понимания как может работать периферия.