Questions tagged [stm32]

The STM32 is a family of microcontrollers from ST Microelectronics, based on the Cortex M0, M0+, M3, M4, or M7 ARM core (depending on the product line).

The STM32 is a product line from ST Microelectronics using 32-bit Cortex-M microcontrollers and/or Cortex-A microprocessors. There are a variety of microcontrollers with different power consumption and performance characteristics. Some microcontrollers also offer DSP and floating point functionality.

In addition to the line of microcontrollers, ST also offers a number of different evaluation boards and development boards. These boards contain a microcontroller on a PCB with additional support electronics and various sample sensors. The STM32CubeIDE Integrated Development Environment supports software development for these products.

Two such product lines are the Discovery kits such as the STM32F0DISCOVERY and STM32F3DISCOVERY boards and the Nucleo product line of prototyping boards.

As of Q1/2023, the family consists of:

MPU

  • STM32MP1 - Cortex A7 & Cortex M4 big.LITTLE

Low Power

  • STM32L0 - Low-Power Cortex-M0+
  • STM32L1 - Low-Power Cortex-M3
  • STM32L4 / L4+ - Low-Power Cortex-M4
  • STM32L5 - Low-Power Cortex-M33
  • STM32U5 - Ultra Low-Power Cortex-M33

High Performance

  • STM32F2 - High-Performance Cortex-M3
  • STM32F4 - High-Performance Cortex-M4
  • STM32F7 - High-Performance Cortex-M7
  • STM32H5 - High-Performance Cortex-M33 (up to 1 GHz)
  • STM32H7 - High-Performance Cortex-M7 (up to 550 MHz)

Main Stream

  • STM32F0 - Mainstream Cortex-M0
  • STM32F1 - Mainstream Cortex-M3
  • STM32F3 - Mainstream Cortex-M4
  • STM32G0 - Mainstream Cortex-M0+ (upgrading STM32F0)
  • STM32G4 - Mainstream Cortex-M4 (upgrading STM32F3)

Wireless MCUs

  • STM32WB - M4/M0 with BLE, Zigbee
  • STM32WL - M4/M0 with LoRaWAN
5104 questions
10
votes
4 answers

gcc-arm-none-eabi 11.3 "is not implemented and will always fail"

I'm working on a bare-metal STM32 project, compiling on a Linux x64 host. After upgrading my toolchain from gcc-arm-none-eabi-11.2-2022.02 to arm-gnu-toolchain-11.3.rel1-x86_64-arm-none-eabi, I get the following linker warnings: warning: _close is…
Nebular Noise
  • 388
  • 3
  • 15
10
votes
3 answers

stm32 hal library warning with C++14 & above

I posted the same question in the STM32 community forum as well, but didn't receive an answer. I am using stm32 HAL library in a project with C++14 enabled. It issues me the following warning which I can't get rid…
aep
  • 1,583
  • 10
  • 18
10
votes
4 answers

Stm32 printf float variable

I want to log out from stm32f405 via usart. In my syscall.c file i realize function to print via usart: int _write(int file, char *ptr, int len) { int todo; for (todo = 0; todo < len; todo++) { usart_send_char( *ptr++ ); } …
user3583807
  • 766
  • 1
  • 8
  • 26
10
votes
1 answer

STM32F411: is clearing an external interrupt flag really necessary?

I've bought an STM32F411 nucleo board and now I'm trying to understand various bits and pieces of the HAL. Starting with external interrupts seemed to be a good idea, because the board has a push button which is connected to PC13. So I've set up a…
Christoph
  • 1,040
  • 3
  • 14
  • 29
10
votes
3 answers

GNU ARM - nano.specs not found

Last days I've been trying to compile a STM32F4xx project with Ubuntu 14.04LTS, Eclipse and GNU ARM plugin for Eclipse. Now it says that nano.specs is missing. Here is my build log: 14:39:35 **** Incremental Build of configuration Release for…
Jacajack
  • 759
  • 2
  • 11
  • 23
10
votes
1 answer

Hardfault on STM32F030 startup, __libc_init_array

I'm trying to get a STM32Cube project compiled using arm-none-eabi-gcc and a Makefile. I have specified: CFLAGS = -mthumb\ -march=armv6-m\ -mlittle-endian\ -mcpu=cortex-m0\ -ffunction-sections\ …
evading
  • 3,032
  • 6
  • 37
  • 57
10
votes
5 answers

What is the distinction between Output Compare and Pulse-Width Modulation functions?

I am brushing up on microcontrollers, using the STM32 series. (Specifically using the STM32F072BDISCOVERY board). I am having some trouble understanding the use of timers and their various modes. Specifically, there are a lot of options for "Output…
mbmcavoy
  • 2,628
  • 5
  • 23
  • 34
10
votes
1 answer

i2c interrupt handler stm32

I have some problems with I2C2 interrupts, I have enabled the interrupt but the handler interrupt never executes. Here is the i2c2 initialization: void i2c2InitSlave(void) { I2C_DeInit(I2C2); GPIO_InitTypeDef GPIO_InitStructure; …
edgar.epi
  • 175
  • 2
  • 2
  • 7
9
votes
1 answer

Removal of unused template instantiation's static members

I am currently involved embedded C++ development on am STM32 platform. Our team is evaluating the use of templates to parametrize drivers for various low-level hardware devices. All valid template specializations are known in advance thus we can…
Arne
  • 1,111
  • 2
  • 11
  • 22
9
votes
3 answers

HAL_Delay() stuck in a infinite loop

I am stuck with HAL_Delay() function. When i call this function HAL_Delay() , control stuck in infinite loop. While searching for the problem, I found this http://www.openstm32.org/forumthread2145#threadId2146 In this particular comment which states…
Devjeet Mandal
  • 345
  • 1
  • 4
  • 23
9
votes
4 answers

Update RTC on STM32F4 when flashing the uC

Is there a way to update the RTC with computer information when the program is uploaded on the STM32F4 ? For example, the information of date and hour on the computer is: 12h40 11/09/2018, and when I flash the microcontroler with IAR/AC6, then the…
EmilG
  • 91
  • 3
9
votes
2 answers

Objcopy elf to bin file

I have STM32F404 board and I am trying to flash it. I am following this tutorial. In the project Makefile $(PROJ_NAME).elf: $(SRCS) $(CC) $(CFLAGS) $^ -o $@ $(OBJCOPY) -O ihex $(PROJ_NAME).elf $(PROJ_NAME).hex $(OBJCOPY) -O binary…
Mouin
  • 1,025
  • 4
  • 19
  • 33
9
votes
2 answers

Atollic TrueSTUDIO: How to convert from C to C++?

I try to convert my project to C++ in TrueSTUDIO for STM32 by Selecting project (in C/C++ Projects tab) Right mouse button, select New/Other In C/C++ tab, Convert to a C/C++ Project (Adds C/C++ Nature) When pressing Next, nothing happens (unclear…
Michel Keijzers
  • 15,025
  • 28
  • 93
  • 119
9
votes
1 answer

STM32, Position independent code - function pointers not in GOT?

I need a position independent code (PIC) working on STM32F401. But i have problem with pointers to functions used e.g. in struct. Short example: struct process { struct process *next; const char *name; PT_THREAD((* thread)(struct pt *,…
9
votes
4 answers

"No ST-LINK detected" error message, when trying to connect with ST-LINK Utility

I have a NUCLEO-F401RE board (with STM32F401RE) and it has been working fine for the most part. Here recently, I followed a tutorial in the book "Mastering STM32" where it says to install OpenOCD. I had been following along before this as well,…
Kbonde
  • 91
  • 1
  • 1
  • 4