Going on the way of learning embedded programming using C++ and STM32 Nucleo-64 board

Hi all,

I'm an experienced C++ programmer who happen to start learning embedded programming, with a little stuff, like STM32F411RE Nucleo-64 (the board I'm working on mainly) and a blue-pill alongside breadboard and a bunch of wires. I haven't done much in embedded programming since it's hard when you get started alone at home without any instructor.
As an example, using an STM32 C++ project on the STM32CudeIDE, I can blink the LED of the board (when it's connected to my Windows machine) using this code-snipped in the main.cpp
file
HAL_GPIO_TogglePin (GPIOA, GPIO_PIN_5);
HAL_Delay (3000); 

It's also possible for me to write a few simple functions in that file to, say, generate prime numbers and so forth. Ergo, it should now be evident that my experience is precious little.  

Even though I'm really interested in embedded programming unfortunately whatever series/tutorials I've found on the Web have either been using more embedded stuff that I lack now, or working on complicated projects that are beyond my knowledge. 

I also have found two books:

1) Programming-with-Stm32-Getting-Started-with-the-Nucleo by Donal Norris
2) Real-Time C++_ Efficient Object-Oriented and Template Microcontroller Programming 3nd Edition by Christopher Kormanyos
but not sure to read them or not. 

My purpose is to continue learning embedded programming using C++ and the embedded stuff I'm having now (mentioned above) and make progress, if possible. But unfortunately I don't know how to do that! 

What're your pieces of advice for me, please? 
Thanks so much for your time and help.