cancel
Showing results for 
Search instead for 
Did you mean: 

Hello everyone, I am trying to learn programming stm32f0 discovery board. But I dont want to use HAL or SPL or LL .Is there any way to leran programming stm32 with only using CMSIS ? I can't I find any tutorial or any book for this.

SGüle.1
Associate II

I use a makefile to build a project. And I can flash it eaisly all I need how to use CMSIS to write programs I blinked a LED with that way but I am stuck at that point. I need a book, document, course for that. And STM's programming Manuals are gibrish ı cant understand anything from them.

1 ACCEPTED SOLUTION

Accepted Solutions
Pavel A.
Evangelist III

ST has online training here: https://www.st.com/content/st_com/en/support/learning/stm32-education/stm32-online-training.html

Very much recommended - if you can afford spending time on all that reading.

View solution in original post

8 REPLIES 8

You need to read the Reference Manual primarily.

I don't know if any complete/concise textbook on the topic, unfortunately. You may want to have a look at the examples at the end of the RM (also known as Snippets). There may be other register-based examples on the net. The rest you have to figure out on your own.

JW

Perhaps learn how the libraries work first, you're currently trying to do a free climb, and asking where the ropes and rope lines are.

Figure out why the PM and RM are jiberish.. those are the manuals that explain how the engine works, so if you don't understand that, then you're going to be wasting a lot of time/energy

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
SGüle.1
Associate II

Okey guys, thanks for your answers I know Manuals has the answer but ı hoped there is more simple way to do that but seems there isn't. Hopefully in future someone start a project, tutorial or a book for that. Who knows maybe couple years later I can do that.

Nikita91
Lead II

I suggest reading the LL examples of the CubeMX firmware package (eg stm32cube_fw_f4_v1250) in parallel with reading the ref manuals. The LL is very close to register programming but with more explicit bit and field names.

There is very simple example who explain the basic: Configuring the clock, GPIO, uart...

A good way to enhance your knowledge is to read existing code!

Search with google:

https://deepbluembedded.com/stm32-arm-programming-tutorials/

> Hopefully in future someone start a project, tutorial or a book for that.

Problem is, that there's probably no single "good way" to approach the problem, and the naked truth - it will take a lot of reading, thinking and experimenting - won't sell (in both monetary and popularity terms) courses or books. Folks want "learn programming in 3 days".

Nonetheless, this question comes up here from time to time. Some random stuff I wrote on the topic here and here.

JW

Thank you for your answer.

You' re right probably there isnt a single good way, but ı hoped there may be a explained examples or document for basic topics like BSRR, Moder, AHBENR, RCC but it seems only way is Reference Manuals.

Pavel A.
Evangelist III

ST has online training here: https://www.st.com/content/st_com/en/support/learning/stm32-education/stm32-online-training.html

Very much recommended - if you can afford spending time on all that reading.

Thank you for your answer.

I am not sure its the same thing I asked but it looks very helpfull thank you.