Join conversations with your peers and ST experts. Explore the full potential of STM32 microcontrollers for your embedded design.
Most recent activity
Hello,Im beginner,STM32H753 on the EVAL BOARD,Objective:At startup, the IAP is ignored with a condition on the jumpToIAPFlag flag that checks whether the reset is related to POWER ON or NRST (hardware button), which would therefore be a normal startup. The flag is then initialized to 0 and we jump directly to APP. Once in my APP, I want to be able to return to the IAP (by reading a bit on frames). At first, I did the same as for jumping from IAP to APP, but in the end, a soft reset should be enough for the jumpToIAPFlag to remain at 1 and not pass through the POWER ON or NRST reset conditions, and therefore my IAP menu should open. Everything related to frame logic, etc. is functional, but my APP to IAP no longer works since I started using a variable (jumpToIAPFlag) that is common to both my IAP and my APP. The result is that when I send the frame to open my IAP, there is indeed a reset, but my IAP does not launch. Instead, my APP launches as if my jumpToIAPFlag value h
Hii Team, I want know does PB5 and PB6 Support CAN interface on the STM32G4A1KEU6 AND STM32G491
I am trying to spin a new motor with motor pilot using EVSPIN32G4. I am not able to run it. Hitting startup failure.Is there any quick and easy tuning guide available to tune a new motor and run smoothly?
i installed x-cube sdk then i wanted to make project for an example but even tough i installed last version of cube mx program but i am taked that things all the time thanks for your help.
Hello,I’m working with an STM32N6570-DK, and I’m trying to run a very simple LED-blinking application as part of the FSBL.When I debug the project using STM32CubeIDE, everything works correctly and the LED blinks as expected.Next, I want to flash the FSBL application to the external flash, so I generated the header using the following command:STM32_SigningTool_CLI.exe -bin N6test_FSBL.bin -nk -of 0x80000000 -t fsbl -o N6test_FSBL-trusted.bin -hv 2.3 -dump N6test_FSBL-trusted.binI then put the board into DEV mode, connected with STM32CubeProgrammer, and flashed the image at address 0x70000000.After disconnecting, switching to FLASH mode, and resetting the board, nothing happens. The LED does not blink.Does anyone know what I might be missing or misconfiguring?Thanks for your help.
Split from old (apparently abandoned) thread: Riverdi_101 STM32H7: ST-Link can't connect to boardHi I am facing the same error is there any solution for this
Hello community, I am currently considering capturing and analyzing BLE packets by using BLE sniffer, but for that I need the LTK used for decryption.BLE Secure Connection pairing does not directly exchange LTK, so I do not know where to find it exactly in BLE Stack.Could you please tell me how to output an LTK log by modifying the user source code?-------------------------------------------------------------------------------------------------------------------[Srouce]STM32CubeWBA/Projects/NUCLEO-WBA55CG/Applications/BLE/BLE_SerialCom_Peripheral at main · STMicroelectronics/STM32CubeWBA
Hello! I am a student studying STM32.First of all, thank you very much for your help. First of all, my main concern is that I would like to update the firmware on a board that has the G491RE mounted on it.However, we do not have an external ST-LINK, and only have a Nucleo-F411 board. Is there any way to use the Nucleo-F411 as an ST-LINK? Or is it possible to obtain the ST-LINK firmware?
We are currently using the STM32WL5MOC module and are facing a serious issue with LoRa range. The communication range is not going beyond 1 meter, and the RSSI while receiving TX data is in the range of -100 dBm to -115 dBm.The same firmware and configuration work perfectly on the STM32WL55JC1 DK board, where we have tested both TX and RX successfully with good range and signal quality. However, with the STM32WL5MOC, using the exact same code, the range is very poor and the signal is too weak.
Post edited by ST moderator to be inline with the community rules for the code sharing. In next time please use </> button to paste your code. Please read this post: How to insert source code.i am trying to interface stm32f411ceu6 with sdcard using spi ,and i have successfully interfaced it but when i try to run this code using freertos by using another timer as timebase source it not works below code is in interrupt .c file . i wanted to use freertos just to make task but i dont know why my code not works when i enable freertos from stmcubemx void SysTick_Handler(void) { /* USER CODE BEGIN SysTick_IRQn 0 */ if(Timer1 > 0) Timer1--; if(Timer2 > 0) Timer2--; /* USER CODE END SysTick_IRQn 0 */ HAL_IncTick(); /* USER CODE BEGIN SysTick_IRQn 1 */ /* USER CODE END SysTick_IRQn 1 */ }
Post edited by ST moderator to be inline with the community rules especially with the code sharing. In next time please use </> button to paste your code. Please read this post: How to insert source code Hello We would like to inquire whether the STM32N6570-DK board and the NUCLEO-N657X0-Q board support Ethernet TSN (Time-Sensitive Networking). Additionally, we would like to know if there are any STM-provided drivers or libraries for Ethernet TSN for these boards. If such resources are available, we would appreciate it if you could share them with us. Currently, we are working on Ethernet transmit and receive functionality on the NUCLEO-N657X0-Q board using the driver generated from STM32CubeMX. However, we are encountering a HardFault when attempting to transmit in interrupt mode. The code execution jumps to the HardFault handler at the following segment in ETH_Prepare_Tx_Descriptors: if
I have a project which can pass the flash test while starting address is at 0x08000000. After changing the starting address to 0x08008000, the flash test failed. I have made the following changes: 1. main.c // #define TEST_ROM_START_ADDR 0x08000000U #define TEST_ROM_START_ADDR 0x08008000U 2. system_stm32f4xx.c #define USER_VECT_TAB_ADDRESS #if defined(USER_VECT_TAB_ADDRESS) /*!< Uncomment the following line if you need to relocate your vector Table in Sram else user remap will be done in Flash. */ /* #define VECT_TAB_SRAM */ #if defined(VECT_TAB_SRAM) #define VECT_TAB_BASE_ADDRESS SRAM_BASE /*!< Vector Table base address field. This value must be a multiple of 0x200. */ #define VECT_TAB_OFFSET 0x00000000U /*!< Vector Table base offset field. This value must be a multiple of 0x200. */ #else #define VECT_TAB_BASE_ADDRESS FLASH_BASE /*!< Vector Table base address field. This value must be a multiple of 0x200. */ //#define VECT_TAB_OFFSET 0x00000000U /*!< Vector T
Hello ST experts,I’m working with an STM32WLE5CC using the LoRaWAN stack in STM32CubeIDE. Even though AU915 is selected as the active region, the device always transmits on the default sub-band AU915_CH0_7, while my gateway is configured for AU915_CH8_15.UART log example:###### AppKey: F1:11:B1:A0:A5:CE:4A:4C:1E:3B:E3:46:94:ED:8F:56###### NwkKey: F1:11:B1:A0:A5:CE:4A:4C:1E:3B:E3:46:94:ED:8F:56###### AppSKey: 2B:7E:15:16:28:AE:D2:A6:AB:F7:15:88:09:CF:4F:3C###### NwkSKey: 2B:7E:15:16:28:AE:D2:A6:AB:F7:15:88:09:CF:4F:3C###### DevEUI: CB:59:4B:0E:2D:2F:9D:D5###### AppEUI: 40:20:93:67:C4:C4:5F:AF###### DevAddr: 06:6A:AA:FE0s029:TX on freq 916600000 Hz at DR 20s401:MAC txDone5s384:RX_1 on freq 927500000 Hz at DR 105s433:IRQ_RX_TX_TIMEOUT5s433:MAC rxTimeOut6s396:RX_2 on freq 923300000 Hz at DR 86s461:IRQ_RX_TX_TIMEOUT6s461:MAC rxTimeOutThe node never receives the Join-Accept because it is transmitting on the wrong sub-band.Question:Where do I configure the AU915 sub-band so that the stack use
The controller on the board is erased via STM32CubeProgrammer.At the same time, the multimeter shows 1V on pin PC3 CN7:37 relative to GND CN7:8. How can this be?
There appears to be mislabeling of PINs PC0 and PC1 on the MB1779B schematic pack. found here on sheet 3 of 8. The PC0 and PC1 pins are mislabeled as UART1s but according to the datasheet for STM32WL5MOC they are actually LPUART1 as Alternate AF8.
I am trying to convert the G491re openbootloader example to the F413 mcu. I take it that everything that needs to changed is in the openbootloader_conf.h file. I believe I have the correct map configuration as shown below, but I am confused as how I figure out how to define the parameters at lines 74 and beyond. Are those just command codes? Also, how does the bootloader know there is only 1 bank instead of 2 like in the example?/** ****************************************************************************** * @file openbootloader_conf.h * @author MCD Application Team * @brief Contains Open Bootloader configuration ****************************************************************************** * @attention * * Copyright (c) 2019 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file comes with this software, it i
I'm using a custom board with an STM32WB5MMG acting as an SPI slave. The board should receive data frames from a master via SPI, and send them to the computer via BLE. The SPI works fine, but as soon as the BLE advertising starts, the SPI reception breaks. I'm using SPI1 with a circular DMA to identify terminators of single data frames sent by the master. I've already tried 2 configurations:a circular DMA 1024 bit large, the HAL_SPI_Receive_DMA called in the while(1) and data parsing in the while(1);a normal DMA, the HAL_SPI_Receive_DMA is called in the HAL_GPIO_EXTI_Callback when CS goes low and data parsing in the HAL_SPI_RxCpltCallback.My hypothesis is that the BLE introduces a latency on the CPU that causes the SPI reception to be slower than the transmission from the master, that causes mis-alignment of data frames, which means that the terminators are not identified anymore. Is this possible?Also, a weird thing that I noticed, is that as soon as the terminators are
Hello,I am currently working with STM32G431RB, and I have an SD card connector on my board. When the CPU clock is below 80MHz, everything works fine. However, when I increase the clock frequency and insert the SD card into the slot, the program crashes and gives different hard fault errors (stack overflow, bus hard fault, etc.). This is the SD card slot schematic.
Hi there.I’m trying to generate a 12 ns pulse for a time-of-flight (ToF) application.I’m using an STM32U5 microcontroller, and I’d like to know whether one of the general-purpose timers (TIM2/TIM3/TIM4/TIM5) can produce a pulse that narrow. With a 160 MHz timer clock, the time resolution is about 6 ns, so in principle it seems feasible, but I may be overlooking something.Thanks!
Hello,I came across an old book in a bookstore that has some interesting bare metal C projects for a NUCLEO-F030. Other than setting the clock speed to 80 MHz and adjusting for some pin variance, will code written for it run on a NUCLEO-F3 or -F4?Thanks.
Setup:TouchGFX v4.23.0STM32H747Scroll wheel with selected item template Issue:I dynamically set the number of items in the scroll wheel using the function setNumberOfItems() so in the TouchGFX designer I set the Number of Items to 0. As an example, I am displaying 4 items but have 8 to choose from. When the scroll wheel is first shown, the first 4 items (index 0 - 3) are rendered correctly. When I push down, the screen correctly shifts and shows items 1 - 4. When I push down again, the first item (index 2) is shown in the first, selected position and is shown in the 4 position as well. As I continue to navigate down in the list, sometimes there are other duplicates, sometimes the list is correct. Workaround:I tried a few different things but setting the Number of Items in the designer to 2 (I didn't try any other value) solved the duplicate glitch. So it seems, that having the Number of Items set to 0 is what causes this issue in t
I’m using the Class B Flash self‑test on an STM32F407. My post‑build step injects CRCs with: STM32_Programmer_CLI -sl Firmware.elf 0x08000000 0x08100000 0x400 I Inspected the CRC of the first section via arm-none-eabi-objdump -s -j "CRCs area" Firmware.elf | head -n2 After this I re‑computed the CRC to verify which method it used. I used srec_cat and I used the following method: arm-none-eabi-objcopy -O binary Firmware.elf full_flash.bin dd if=full_flash.bin of=region.bin bs=1 count=1024 srec_cat region.bin -Binary \ -CRC32_Little_Endian 0x400 \ -crop 0x400 0x404 \ -output - -binary \ | hexdump -e '1/4 "CRC32: 0x%08X\n"' After this I figured out that the CRC checksum stored in the memory for the first 0x400 section matched with the srec_cat output. However at runtime, when STL_SCH_RunFlashTM() (compiled with both -DSTL_SW_CRC and without it) computes the CRC over the exact same 0x400 bytes which is different than the expected value. As a result,&n
I'm trying to implement the ADC to get V_BAT. I've done the set up in CubeMX in the IDE.I then went to the examples to see how a single ADC reading was done. I'm confused about the use of the following variables... /* Variables for ADC conversion data */ __IO uint16_t uhADCxConvertedData = VAR_CONVERTED_DATA_INIT_VALUE; /* ADC group regular conversion data */ /* Variables for ADC conversion data computation to physical values */ uint16_t uhADCxConvertedData_Voltage_mVolt = 0; /* Value of voltage calculated from ADC conversion data (unit: mV) */ /* Variable to report status of ADC group regular unitary conversion */ /* 0: ADC group regular unitary conversion is not completed */ /* 1: ADC group regular unitary conversion is completed */ /* 2: ADC group regular unitary conversion has not been started yet */ /* (initial state) */ __IO uint8_t ubAdcGrpRegularUnitaryConvStatus = 2; /* Variable set into ADC interruption callback */ In the rest of the example code these are used as
Hello,Why is there a significant difference between the values obtained through the ADC and DTS for the internal temperature measurement of STM32H563?Below is the measurement program of ADC. The following is the measurement procedure of DTS. 3. Here are the measurement results. They vary significantly. Why is that?Thank you for your help.
Hello everyone. This is my first post so pardon me if I do something wrong. I have a custom made board with STM32H7S7 MCU and external NOR Flash. Since it is some cheap chinese IC from LCSC I had to make my own External Loader. I didn't use the generated ExtMemLoader project from CubeIDE because it seemed too complex, was hard to understand how it works and mainly it didn't worked at all. I made the external loader with help of some YouTube videos and forum posts. Writing, reading and sector erasing works fine (though I have a problem to erase more than one sector at once) but only if I pull the BOOT0 pin HIGH, so my undestanding is that when BOOT0 is LOW the code in internal flash is executed and intializes the system and some peripherlas so if external loader tries to do the same then some conflict occurs. I have a limited options when debugging the external loader (I am using LED blinking to signalize at which part it breaks) but I found out the code execution won't get p
ST Community highlights – April to June 2026
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.