Page 1 of 1

Hell world!

Posted: Mon Sep 21, 2020 10:52 am
by saeed144
Hi every one, I'm a beginner to use stm32 micro-controller and I want to learn this interesting subject.
I worked with Arduino family and know about Arduino IDE, it's very cool that stm32 is compatible with Arduino IDE.
I hope this forum can help me to learn stm32 completely ;)

Re: Hell world!

Posted: Mon Sep 21, 2020 12:00 pm
by fpiSTM
Welcome @saeed144
Hope too ;)

Re: Hell world!

Posted: Mon Sep 21, 2020 2:38 pm
by mrburnette
saeed144 wrote: Mon Sep 21, 2020 10:52 am ...
I hope this forum can help me to learn stm32 completely ;)
Arduino for STM32 is made compatible by some clever C++ wrappers and scripting:
This porting is based on:

STM32Cube MCU Packages including:
- The HAL hardware abstraction layer, enabling portability between different STM32 devices via standardized API calls
- The Low-Layer (LL) APIs, a light-weight, optimized, expert oriented set of APIs designed for both performance and runtime efficiency
- CMSIS device defintion for STM32

CMSIS: Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex®-M processor series and defines generic tool interfaces. It has been packaged as a module for Arduino IDE: https://github.com/stm32duino/ArduinoModule-CMSIS

GNU Arm Embedded Toolchain: Arm Embedded GCC compiler, libraries and other GNU tools necessary for bare-metal software development on devices based on the Arm Cortex-M. Packages are provided thanks The xPack GNU Arm Embedded GCC: https://github.com/xpack-dev-tools/arm- ... -gcc-xpack
But wrappers and the Arduino syntax does impose performance issues and hides the more professional nature of the underlying libraries. Thus your word choice "completely" has two meanings: one for Arduino and one for STM32Cube.


Ray

Re: Hell world!

Posted: Sat Sep 26, 2020 9:34 am
by saeed144
You're right, One question:
Do we have access all stm32 features with Arduino IDE? (like Interrupts, timers, DAC, DMA and ...)
:?:

Re: Hell world!

Posted: Sat Sep 26, 2020 11:01 am
by GonzoG
Yes. If there is no support in Arduino compatible libraries you can use HAL or LL libraries.
Here's link to stm32duino Wiki:
https://github.com/stm32duino/wiki/wiki

And for API references:
https://github.com/stm32duino/wiki/wiki/API

Interrupts, DAC you can use same way as with Arduino boards.

Re: Hell world!

Posted: Sat Sep 26, 2020 11:45 am
by saeed144
that's great :)