Join discussions in the Product Forums. Ask questions, learn from your peers, and share insights on ST solutions to accelerate your design journey.
Most recent activity
Hi : I want to use MTP & HID simultaneously in stm32f103RE, but there is not CompositeBuilder and MTP in stm32f1 STM32_USB_Device_Library, so can I use stm32f4 STM32_USB_Device_Library directly? Or is there any other solution to use MTP & HID simultaneously in stm32f103RE?
Issue SummaryOn STM32N6570-DK, enabling ANY peripheral together with ThreadX or FreeRTOS causes an immediate HardFault, even in a minimal CubeMX-generated project with no user code.This includes peripherals such as:DCMIPPLTDCSDMMCUSBUARTI2CSPIGPIO with interruptsDMAAnything beyond simple GPIO outputThe issue is NOT limited to the camera/display pipeline.EnvironmentBoard: STM32N6570-DKIDE: STM32CubeIDE (latest)CubeMX: latest versionFirmware: STM32N6 HAL/BSP (latest)Security Modes Tested:FSBL + Application (secure/non-secure)Non-secure Application only (no FSBL)Both show the same problem.What Works✔ RTOS disabled → All peripherals work✔ Camera + display pipeline works bare-metal✔ GPIO output works with RTOS (LED blink, simple logic)What Fails:cross_mark:ThreadX + ANY peripheral init → HardFault:cross_mark:FreeRTOS + ANY peripheral init → HardFault:cross_mark:Even minimal projects with zero user code crash before scheduler start:cross_mark:Commenting a peripheral moves the crash to
Device detailsMPU: STM32H753AII6Connection:Probe: J-Link V11.00 / SW version V7.98c STM toolset: STM32 Cube Programmer / Trusted Package Creator v2.20.0SFI programming fails with error:Error: SECURITY State FailError: Invalid state after SFI install !Error: RSS internal system error or License is invalid ! I also tried against the STM32H757I-EVAL board, which has a compatible CPU, with the same result.-----HSM provisioningHSM provisioningFor Personalization Data I chose the group with the H753 in it, and from the 4 options in dropdown list the combination of "SFI" and Device ID "45002001" which is how the STM32H753 identifies.SFI creationFor the simplified example, there is only one section of code starting from default address 0x08000000.Settings for RAM size and continuation token are default, and seem to make sense.Option bytes are, except for RDP level = 0xBB (level 1), identical to the defaults after mass erase.SFI creationSFI flashingSFI flashingComplete log:15:25:
Dear experts,I'm reading RMs for STM32 models with dual flash banks (F4, H7...) and don't quite understand how to use bank switching.Take the firmware update scenario when old firmware is in bank1 and new is programmed to bank2. So it programs some option byte to switch banks and next time should boot from bank2.If the new version is bad, I'd like to boot automatically from bank1. But how? the option byte is written. Is there a way to control bank switch by external pin? On some systems that I've seen before we did it in the following way: we made a simple watchdog (CPLD or whatever) that automatically toggles the boot selector pin. If the CPU does not touch the watchdog in defined time since reset, it will switch the selector pin and reset again.So if the new firmware fails to boot, the system will reboot to the old firmware.I'd like to implement the same on STM32, with external widget if needed, but better without it.On the other hand, for H7 you can define alternative start addresse
cubeide 2.0.0 start touchGFX project, cross compiler prefix: ? cross compiler path: ? MX be removed, how to setup MCU component? first start from MX?
Spoiler (Highlight to read)Spoiler (Highlight to read)Did you find STM32CubeIDE will eat your perfect code when you doze off a while(put into system code segment). Did you find STM32CubeIDE will eat your perfect code when you doze off a while(put into system code segment). Hello,I have a suggestion: I hope STM32CubeIDE can put the deleted code segments into a backup file when user click "Generate Code" button. because sometimes user will wrongly put his code into system Generate code area, or someone can edit the configuration file(*.ioc) to disable the "global interrupt"(for example), this will lead to the interrupt service function codes to be overwritten or lost.sometime, it costs a lot. Second,If I can say freely, there will some wired things happen in the STM32CubeIDE, when I debug an "uint16_t" variable(like: Azimuth, in the blew picture), the value displayed can be a "-3"? I think this should be a bug.
Heyho,do all SAIs in all MCUs offer the SPDIF output feature?CubeMx and online MCU selectors do not show this info, no time to check 20 more datasheets.For the few STM32 I know and worked or played with (G4, F7, H7) the answer is yes.Merci!
Hello,i am Interfacing a module (Radiomaster Ranger Micro) to my MCU (STM32F411) using the UART Interface, but this module has only one Hard-Pin for both TX and RX.Sending packages from the MCU to the module is working already well.Now i want to receive packages from it.I searched the net for a solution and readed that i may use a gate switch (NAND, OR, …) or even MUX, DEMUX.I want to write here and ask for some advices which is the better.I do not want that the MCU heat it self so i want to connect only TX to the module for sending and only RX to the module when receiving.Thanks in advance.
Hello ST Community,I am using a STEVAL-25R200A to do tests with the ST25TV02KC.I am trying to rfalST25xVPollerPresentPassword, with a pwdNumber of 0x00 to enter Configuration Session (As described in the nfc tag datasheet), But keep getting error 5, even though I am passing the default 32-bit password.I am using this function:ReturnCode ST25TAGS_TVC_OpenSecuritySession(const uint8_t * uid, ST25TAG_TVC_SecuritySession_t sessionType, const uint8_t * pPassword) { uint8_t pwdNumber; uint8_t pwdLengthInBytes = 4; ReturnCode errCode; uint8_t rxBuf[ 1 + 2 + 2 ]; /* Flags + Random Number Data + CRC */; uint16_t rcvLen; uint8_t updatedPassword[8]; switch (sessionType) { case CONFIGURATION_SECURITY_SESSION: pwdNumber = 0; break; case USER_AREA1_SECURITY_SESSION: pwdNumber = 1; break; case USER_AREA2_SECURITY_SESSION: pwdNumber = 2; break; case SINGLE_USER_AREA_SECURITY_SESSION: pwdLengthInBytes = 8; pwdNumber = 1; break; case UNTRACEABLE_SECURITY_SESSION: pwdNu
Hello Forum,I'm trying to get a simple application, running on a NUCLEO-U5A5ZJ-Q dev board, to jump to the system bootloader from FreeRTOS. I've also got AN2606 to hand (application note for the STM bootloader) and RM0456 (STM32 U5 reference manual). I have been following this guide. How to jump to system bootloader from application ... - STMicroelectronics CommunityAccording to the guide and reference manuals the bootloader base address on my MCU (STM32U5A5) is at 0x0BF90000. The 32 bit word at that address is the stack location, and the 32bit work at 0x0BF90004 is the entry point for the bootloader. In my setup values are read as:0x200034E8 - this is valid memory (stack)0x0BF98C39 - this is unexpected as lots of the internet says this should be 0x0BF99EFE but I'm guessing this is actually OK.I currently have this code:#define BOOTLOADER_BASE 0x0BF90000 typedef struct boot_vectable { uint32_t Initial_SP; void (*Reset_Handler)(void); } boot_vectable_t; void Ju
Good morning sir Have a nice day Pls identify the components name .I don't identify the components name . I m trying to various type of search tools to identify the components. The component name show N and 24 .pls help N and 24 both components not identified
The marking of M41T62Q6F is as follows. I think the date code is 2013 or 2003 10weeks? How to identify the date code is 2013 or 2003?
Generate code from attached .iocBuild with cmake:cmake --preset Debug && cmake --build --preset DebugInspect NonSecure/build/build.ninja and we find build CMakeFiles/myproject_NS.dir/AZURE_RTOS/App/app_azure_rtos.c.obj: C_COMPILE R__myproject_NS_Debug ... || c make_object_order_depends_target_myproject_NS ... FLAGS = -mcpu=cortex-m33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -Wall -fdata-sect ions -ffunction-sections -mcpu=cortex-m33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -Wall -fdata-sections -ffunction-sections -O0 -g3 -std=gnu11 Note that the flags set in gcc-arm-none-eabi.cmake # MCU specific flags set(TARGET_FLAGS "${STM32_MCU_FLAGS}") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${TARGET_FLAGS}") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -fdata-sections -ffunction-sections") occurs twice!The reason for this is that the toolchain file gcc-arm-none-eabi.cmake is evaluated multiple times. It is exactly the problem described at [3.31.6] Toolchain file ge
Do all the STM32WL series MCUs support STSAFE ? If yes, how it can be done?
Hello,Hello, in our project we are using an STM32N6 MCU and an external flash from ISSI with this MCU. Datasheet of the flash's link in the below.https://www.issi.com/WW/pdf/25LX-WX032-064.pdfDuring debugging, we read the flash using standard commands, and the values we read appear as shown in the image.Everything works fine up to the code marked with the red box;however, when it reaches that point, we get an error. If we comment out the code marked with the red box, it works, but when we try to read using the cube programmer, we get a "read fail" error. What could be the issue?Also, is the ExtMem driver supports 1S-8D-8D?Best regards,Egemen Aksoy
When I change variables from live expression and other areas during Prohe debug, I get the error "Failed to read all registers from target" and unfortunately I couldn't find a solution. I am using the latest version of stm32cube 1.18.1. There was no such jata before! I am using Stm32f767zi processor. I tried with both st link v2 and isol version but this error is not resolved.
Hi, I'm having really a hard time setting up my ADCs to work with DMA using the STM32F429I-DISC1. My objective: have a clock source from a Timer at a given frequency as trigger to the ADCs, each ADC would then read a specific pin (let's say ADC1-> pin_x; ADC2->pin_y and ADC3->pin_z). Since nothing is working regardless of the configuration I set, I'm trying with very big time intervals to avoid busy bus and so on. So I've set the TIMER8 to have a period of 5s and tested it individually with the interrupt enabled to make sure it is triggering and having the correct interval. Now the idea is to trigger the ADCs to perform a few conversions of the pins in order to do some oversampling. Here is my ADCs configurations: The ADC3 is identical to ADC2. Timer8 Trigger Event Selection is set to "Update Event". Here is my main function: int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configurati
Hi All,There is any problem if VBAT powered before VDD? (VBAT is another supply that feeds from Battery with LDO ) I deep dive all the datasheet and didn't find any reminder about it.
Hi everyone,I was exploring the VENC_SDCard example from STM32CubeN6 v1.2.0, and I was successfully able to record and store video to the SD card after making a few necessary changes mentioned here.Now, I want to record and store the video in grayscale format. After modifying the MX_DCMIPP_Init() function in main.c and the BSP_LCD_InitEx() function in stm32n6570_discovery_led.c, I can correctly see the grayscale video output on the display.However, when I try to record this grayscale stream, the resulting video is distorted.(Attached it)Upon debugging, I suspect the issue originates from the following line in encoder_prepare():preproc_cfg.inputType = H264ENC_RGB565;The inputType is still set to RGB, and after checking the h264encapi.h header file, I found the following enum for H264EncPictureType on line 159: typedef enum { H264ENC_YUV420_PLANAR = 0, /**< YYYY... UUUU... VVVV... */ H264ENC_YUV420_SEMIPLANAR, /**< YYYY... UVUVUV... */ H264ENC_YUV420_SEMIPLANAR_VU, /
Hello,I downloaded stm32cubeIDE 2.0 + stm32cubeMX but I'm having problem in auto complete function in main.cI tried https://community.st.com/t5/stm32cubeide-mcus/stm32cubeide-auto-complete-ctrl-space-is-not-working/td-p/342759but Parsing-based Proposalsare enabled
Hello, Is there any application like Power Consumption Calculator (PCC, which is embedded inside the STM32CubeIDE) for SPC5 microcontroller Family?I am using SPC58xCx and SPC58xBx lines and need the current consumption data for microcontroller core, peripherals, and I/Os.Best regards.
I am not able to discover the error It should work but i do not have any pulse on PB6 CPU STM332F103C8T6 ide PlatformIO #include <Arduino.h> void setup() { RCC->APB2ENR |= RCC_APB2ENR_IOPBEN; // Enable GPIOB clock RCC->APB1ENR |= RCC_APB1ENR_TIM4EN; // Enable TIM4 clock RCC->APB2ENR |= RCC_APB2ENR_AFIOEN; // Enable Alternate Function clock GPIOB->CRL |= (0b0011 << (4 * 6)); // Set PB6 as Alternate function output Push-pull (TIM4_CH1) TIM4->CR1 = TIM_CR1_CEN |TIM_CR1_ARPE; // Enable counter and auto-reload preload TIM4->CR2 = 0; TIM4->SMCR = 0; // No slave mode TIM4->DIER = 0; // No interrupts TIM4->EGR = 0; // No event generation TIM4->CCMR1 = (0b110 << 4 ) | TIM_CCMR1_OC1PE; // PWM mode 1, preload enable TIM4->CCMR2 = 0; TIM4->CCER = TIM_CCER_CC1E ; // Enable output on channel 1 TIM4->PSC = 71; // Set prescaler to have 1MHz timer
Dear ST Community Members,I have built a 7KW three-phase interleaved totem pole PFC circuit (based on the schematic of STEVAL-7BIDIRCB, retaining only the PFC section). The firmware was generated using ST eDesignSuite's "FW download" tool. Before power-up, I verified the ADC readings for input voltage/current and output voltage/current sampling, all of which matched the calculated values.Current Observations:Scenario A:Apply 230V/50Hz AC power first → Power on the STM32G474 MCUResult: Output stabilizes at 325V (rectified voltage), control board yellow LED lights up, and can't start.Scenario B:Power on the STM32G474 MCU first → Apply 230V/50Hz AC powerResult: Output rises from 0V to 230V, holds for ~300ms, then the circuit breaker trips.Additional Notes:Tripping device: Schneider Electric C16 30mA RCCB (Residual Current Circuit Breaker)No components on the PFC board show visible damageCould anyone kindly advise on potential root causes for these behaviors? Any insights or suggestions wo
I use the STEVAL-MKBOXPRO and I updated the board with the data recorder thanks to the expert view. I added the bluetooth stream output and I can see all the sensors on the IOs application. But I don't record any data on the SD card. The file is created and I see the header with all the sensors, but there is no data. The defaultAppPro is available on the card. I use the card provided by ST with the eval kit. What is wrong in my set up if I cannot record sensor data?
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.