2021-06-30 02:17 AM
hi everyone. I'm want to start projects using CMSIS on STM32. Surfing the net, I couldn't find any specific tutorial. Some starts project using SPL (which is discontinued by ST). I want a source to learn CMSIS on stm32cube.
I'll glad if someone help me with that.
regards
2021-06-30 08:39 AM
The CMSIS header file includes all the register definitions. The reference manual is your primary resource for understanding how to do things at the register level.
Example CMSIS header file:
2021-06-30 08:58 AM
Hello @AKhor.1,
CMSIS is a vendor-independent hardware abstraction layer developed by Arm for the Cortex-M processor series that implements the basic run-time system for a Cortex-M device and gives the user access to the processor core and the device peripherals.
You can refer to the CMSIS-Core (Cortex-M) overview and the Common Microcontroller Software Interface Standard (CMSIS) of Arm .
The different projects developed within STM32 Cube Package are based on the CMSIS drivers. It contains drivers for Cortex M CPU, SysTick, NVIC and also devices' registers and bits definition, toolchains startup files, system source file and Linker file for IAR.
You can also check Description of STM32F4 HAL and low-layer drivers (UM 1725) user manual as example to get more details.
I hope my answer helped you, when your question is answered, please close this topic by choosing "Select as Best". This will help other users find that answer faster.
Chahinez.
2021-06-30 12:08 PM
If you want to start with register-level programming, perhaps using symbols defined in the CMSIS-mandated headers as TDK outlined above, well, ST does not encourage nor support it, stubbornly promoting Cube in all its forms.
But there's nothing special to it - simply get a Nucleo or one of the simpler Disco board, read its manual, read the datasheet and first few chapters of RM of your STM32 model, and start with simple loopdelay blinky.
There's a discontinued Snippets project for the 'F0 and 'L0 families, you can have a look at those for inspiration. Examples on web may be few, e.g. I have some on my website at efton.sk/STM32 .
JW