cancel
Showing results for 
Search instead for 
Did you mean: 

Tips for a beginner in STM32

carlosdelfino
Associate

 

I'm taking my first steps as an embedded engineer, especially in STM32. I've been looking for a specialization that will give me more experience, in addition to the 35 years I have in IT (Client/Server) and about 10 in embedded systems.

I'm currently taking some quick courses to make it easier to get started, and I intend to get to STM32H7. I saw that there's a study path on the ST website.

Am I on the right track? I'd like to have tips from professionals with more experience in STM32.

Thanks.

2 REPLIES 2
tjaekel
Lead

Sure, use any STM32 board and get familiar with "embedded SW (FW) programming".
An STM32H7 is fine as well.

It just becomes a bit more tricky when it comes to MCUs with TrustZone and security (e.g. STM32N6).

You have to set some goals (for projects), e.g.:

  • toggle an LED ("Hello World")
  • to deal with peripherals, e.g. SPI, I2C - how to configure, how to wire HW, ...
  • to deal with RTOS (FreeRTOS or Azure RTOS) - a project using RTOS threads...
  • use USB (USR USB), e.g. for VCP (virtual USB UART) - here it becomes challenging to use the right drivers and SW stacks
  • get familiar with IDE: how to debug?, how to use macros, libraries, to set optimization, ...
  • get familiar with FPU (HW Floating Point Unit): how to enable, how to use (e.g. when using "float")
  • get familiar with all the HAL and other Libraries provided, e.g. for Sensors, AI, ...

Not rocket science - just to be aware of much more HW related things... like:

  • how to enable clock and power in an MCU
  • how to configure peripheral devices, pin configuration, ALT modes
  • how to debug code, esp. able to look into registers, check peripheral device registers...
  • able to compare and understand datasheet and reference manuals
  • able to read board schematics (e.g. to figure out which MCU I/O pin is used for what)

Have great fun with "embedded systems" programming... (most of all Linux and server knowledge you can forget, you have to learn how to deal with "tiny" things like MCU chips, HAL drivers, HW limitations, ...).

Good luck.

Pavel A.
Evangelist III