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
1
vote
2 answers

I2C transmit with DMA and HAL not working

This seems to be a problem that is somewhat common, but I have been unsuccessful with any of the solutions I have found online. Specifically I am trying to transmit a 1024 byte buffer (full 128x64 px image) to a SSD1306 display via I2C/DMA and the…
Matt
  • 2,650
  • 4
  • 36
  • 46
1
vote
2 answers

System Tick rollover on STM32 32bit ARM architecture

Having trouble understanding what happens when the 32bit system tick on a STM32 MCU rolls over using the ST supplied HAL platform. If the MCU has been running until HAL_GetTick() returns its maximum of 2^32 -1 =0xFFFFFFFF which is 4,294,967,295 /…
JesseAM
  • 13
  • 3
1
vote
2 answers

How to run stm32 unit tests on Linux PC?

I am trying to unit test (using unity+ceedling) some STM32 code on my linux machine, but every time I access any register the code fails with this error: > Produced no final test result counts in $stdout: Segmentation fault (core dumped) > And…
nero
  • 23
  • 1
  • 3
1
vote
1 answer

Fake Function Framework not working with STM32 HAL functions

I am using FFF - Fake Function Framework to stub out some calls in my unit tests. This is working fine in many instances. I can stub out any of the functions I have written myself, as well as any calls to FreeRTOS functions. When I call these…
Smoggie Tom
  • 306
  • 4
  • 12
1
vote
1 answer

How are the Canbus filtering settings made?

I want to filter with canbus. I found certain things for the filter, but what I want is not working. I created a filter like the one below. Some messages cannot pass through this filter. What kind of change should I make in the filter to be included…
Ozgur Saklanmaz
  • 528
  • 3
  • 17
1
vote
1 answer

stm32 interrupt configurations goes wrong

Good morning, I am dealing with a problem of turing off interrupts on selected pin while another one is set. My MCU is stm32f4xx. I mean that, I have set PC0, PC1, PC2, PC3, PB14, PB15 on GPIO_MODE_IT_FALLING detect and when I set the pin PA1, PA2,…
Arkadiusz
  • 86
  • 8
1
vote
1 answer

Optimize a weighted moving average

Environment : STM32H7 and GCC Working with a flow of data : 1 sample received from SPI every 250 us I do a "triangle" weighted moving average with 256 samples, like this but middle sample is weighted 1 and it forms a triangle around it My samples…
GabrielT
  • 397
  • 6
  • 17
1
vote
1 answer

STM32F405 bare metal spi slave - MISO data messed up sometimes

I've set up two STM32 Boards, one as SPI-master, the other one as slave. I write directly to registers without any framework. Master to slave communication is working perfectly. But the slave sends garbage sometimes. I first tried interrupts, but…
vallum
  • 111
  • 3
1
vote
0 answers

STM32 FATFS, How to proper remount SD card using SPI?

I am using a SD card for data logging. I am using the free fatfs file system from chan and SPI to communicate with the SD card. However I ran into problems when reenserting the card. It no longer works. More specifically the f_mount() function fails…
1
vote
2 answers

Is it possible to send jpg files over CANbus

I'm trying to interface a board level USB camera with a STM32 family microcontroller and send the image file to a central computer using CANbus. Just want to know if this is possible/ has been done before and how involved a task it would be.
jfhagler
  • 11
  • 2
1
vote
1 answer

GNU LD for ARM produces section alignment to unwanted bound

I'm building an embeeded software for STM32 microcontroller with the toolchain GNU Tools for STM32 and I need the binary output without gaps. The linker produces a gap between sections .text and .rodata. The problem is the alignment of the section…
PaulV
  • 11
  • 3
1
vote
1 answer

Changing Directory of STM32CubeIDE Projects

When I create a new STM32CubeIDE project, it default saves it to my /Documents directory. This isn't too bad except I like to have a folder for each application so that it isn't just a bunch of files. I tried creating a folder called…
Jeremy Wolfe
  • 81
  • 2
  • 5
1
vote
0 answers

Transferring data over SPI using DMA issue STM32F0 LL Driver

I'm currently working on a project to send data for an application from a STM32F030c8 chip to a raspberry pi, the issue is data doesn't seem to be sending when i've enabled spi to use DMA and attempting to transfer. This is the current work i have…
Chandler
  • 11
  • 4
1
vote
1 answer

Discovering STM32: Writing a makefile to create src inc (etc) directories

I'm an electrical engineer who's gotten into embedded C at a beginner/intermediate level. I've found Geoffery Brown's "Discovering the STM32 Microcontroller" to be an excellent beginner embedded resource after having gone through Steve Oualline's…
RobGah
  • 21
  • 2
1
vote
0 answers

Issue in STM32CubeMx

While using STM32 CubeMX (version 5.2.1) and selecting the i2c in SMBus-two-wire-Interface it shows as follows:- Warnings: STM32 CubeMX does not support the configuration of this mode of this IP.However,this IP can be configured manually. Anyone…
Rohith R
  • 21
  • 1