2021-10-08 03:11 AM
1.Assembly language
2.C language without HAL
3.C language with HAL
And why you choose that method ?
2021-10-08 03:27 AM
3, because the code i make doesnt need to be the fastest or the most memory efficient.
So im using C with HAL (also the code is 90%reusable from chip to chip, and plenty of tutorials)
2021-10-10 11:58 AM
The terrible performance is only a secondary "feature" of HAL. The main one is being broken and not being fixed.
2021-10-10 12:12 PM
C with my own drivers, libraries and abstraction layers. Also a sane 3rd party code like FreeRTOS, lwIP, TinyUSB and such. Why? Because with it's impossible to develop a reliable device with HAL. And creating a flexible platform with it is also a nightmare, because the HAL developers are stuck at an Arduino level.
2021-10-10 07:22 PM
Well it's hard to learn everything at once. Examples and community will work around the C with HAL and CubeMX, CubeIDE if using gcc free toolchain. Your 2 key PDF will be reference manual and datasheet. When you aim at making an end product sold to customer, you own 100% of the future possible bugfixes. At that point you may end up with your personnalized HAL or own drivers or LL for perf critical code sections.
2021-10-10 08:31 PM
3.C language with HAL.
I think it's best way to start STM32 FW development as HAL is good at HW driver level and you may benefit from this point.
2021-10-10 08:33 PM
It seems better to choose "3", because it is somewhat easier.
2021-10-10 10:56 PM
it is better to select 3.C language with HAL for a new learner: