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
在32位中,字的单位应该要*4吧?为什么这里直接是按字节赋值???坑死我了 Translation: "In 32-bit, the word unit should be * 4, right? Why is it assigned directly by byte here? ? ?" Edited by ST moderator to be inline with the community rules. In next time please write in English as it's an international community. Thank you for your understanding.
Hi,Trying to set Option Bytes over USB with DFU protocol to STM32G0C1VET6's embedded System Bootloader results in a LIBUSB Pipe Error.Steps to reproduce with details captured further below:Fully erase user flash using STM32CubeProgrammer connected to target via SWD through J-Link. This erases the user flash (512KB at 0x08000000). Option Bytes are at defaults (128-bytes @ 0x1FFF7800). OTP is at default (1K @ 0x1FFF7000).Remove J-Link USB connection.Power-cycle target.Enumerate target's USB (D+ is PA12, D- is PA11) to host. Since flash is empty micro enters embedded bootloader regardless of the state of BOOT0 pin.Host sees USB DFU device.`lsusb -vvv` shows DFU device with 3 interface descriptors:alt 0 is: @Internal Flash /0x08000000/256*02Kgalt 1 is: @Internal Flash /0x08000000/256*02Kgalt 2 is: @Internal Flash /0x08000000/256*02Kg`dfu-util -l` shows DFU device with 3 interface descriptors:alt=0, name="@Internal Flash /0x08000000/256*02Kg", serial="<REDACT
Hi all, this is my first project with the STM32H5 and the new FileX/UsbX, before I was using G0 and F4 chips and knew my way around the FatFS and USBD software packages... A new project made the use of the H5 necessary because it has a USB and SDMMC peripheral. I want to configure the H523RCT6 as a USB mass storage device that gets detected by a PC and provide mass data storage via the SD-card (SDMMC1 peripheral). As soon as the PC puts a file on the SD card I need to detect it and stream it via UART to a different device... My problem is that I can't find a configuration that allows me to simultaneously use the SD-card as mass storage for the PC and detect when the contents were changed on the card. Right now every possibility I considered are suboptimal or do not work. Option 1: periodically init the FileX on the SD-card, check for files and transmit them via UART, then de-init FileX and init USB MSC. The problem here is that I cannot detect when the USB transfer is finished. I
Hello,We have bought the new AI Assistant board from Seeed Studio and we need some help on how we can connect an external debugger.We have two STLink/V2 debuggers, the plain and the ISOL version. However with the cables that they have we cannot connect any of them to the 8-pin debug port of the Seeed board.We assume that the necessary pins are on the STM32 connector, but which are they? Additionally the picture of the STLink/V2 debugger in:https://wiki.seeedstudio.com/ai_assistant_getting_started/#additional-documentation-of-the-applicationdoes not correspond to the debugger we have. Is that a different board from the one we have?https://www.st.com/en/development-tools/st-link-v2.html#overviewThanks in advance
I try to write my Bootloader using stm32l1 MCU and project from link but my mcu not powerful 32MHz max and have slow flash write memoryhttps://github.com/sfyip/STM32F103_MSD_BOOTLOADER/blob/master/Src/Principle: emulate Fat32 file system and directly write new firmware to flash memory with decoding it from STORAGE_Write_FS() function. Everything works, but when file size >100KB, sometimes errors occur. 50% of write tests fail. Bootloader check CRC firmware, Windows sent error, or end copies but not full firmware write. Maybe you have ideas how to solve this problem?
When I upgraded to STM32CubeMx version 6.15.0, my project that uses FatFs added a call to HAL_SD_Init() inside MX_SDMMC1_SD_Init() when I regenerated code:This is incorrect behavior because the FatFs library calls HAL_SD_Init() from BSP_SD_Init if the SD card is present, based on the configured Detect_SDIO pin in the CubeMx Platform settings. The newly generated code in version 6.15 causes the ErrorHandler() to be called on power-up if there is no SD card attached.I'm using an STM32H7B3. I attached an example ioc file that shows this issue. The code was correct in version 6.14
Hello ST Community,I'm working on implementing USB Audio Class 2.0 with both speaker and microphone functionality on STM32WBA65 using USBX middleware.Request for Example: Are there any complete working examples of USBX Audio Class 2.0 with microphone streaming (USB Audio input) for STM32WBA series? The existing examples I've found only demonstrate speaker/playback functionality.Current Issue: I have implemented a USB Audio Class 2.0 device configured for both speaker and microphone, but only the speaker is working.The device descriptor is correctly recognized by Windows 11:Both speaker and microphone appear in Windows audio devicesSpeaker functionality works correctly (playback stream activates when selected)No Windows system crashes or USB enumeration issuesProblem: The microphone stream never initializes. Specifically:USBD_AUDIO_PlaybackStreamChange() is called when Windows selects the speakerUSBD_AUDIO_RecordStreamChange() is never called, even when:Selecting the
Hello there, I use USB CDC interface and I am sure that all my configurations are okey. There is no problem about connecting and data transfer between windows and my system, but there is a problem about descriptors such as "Manufacturer" or name of comport. There are no problems about vendor id or product id. In Linux I don't have any problem about it, so I tried to find a solution about this problem in windows and installed ST's comport driver (STM32 Virtual COM Port Driver). After I updated the driver I saw comport name as "STMicroelectronics Virtual Comport" and manufacturer as "STMicroelectronics" but these are not the configuration macros that I set. As I said there is no problem in Linux, so I tried to solve the problem is on another way. Finally I tried to write an "inf" file as an driver to solve the problem. I wrote the driver for specific purpose but can't use the driver because it wasn't signatured. I know I can use unsigned drivers after hew changes i
Hi,I'm working on Low Power mode of the LoRa on STM32WLE5. My main moto is to get the best possible low power consumption. By experimenting and documentation, Radio consumes more power. So, I wanted to make that into Standby mode and from that I wanted to set the radio into CAD mode by setting the cad Parameters. And also I have reconfigured the Radio every time the radio is being timed out.I'm using SF7 Spreading factor and TX and RX preamble length is 6. So I set the recommended CAD parameters as per the reference manual. Radio.Standby();SUBGRF_SetCadParams(LORA_CAD_02_SYMBOL, 22, 10, LORA_CAD_RX, 0xFA00);Radio.StartCad(); static void OnCadDone(bool channelActivityDetected){if(channelActivityDetected == true){APP_LOG(TS_ON, VLEVEL_L, "Woke up with CAD\n");} else {APP_LOG(TS_ON, VLEVEL_L, "CAD Timeout\n");Radio.SetChannel(868000000);Radio.SetRxConfig(MODEM_LORA, LORA_BANDWIDTH, LORA_SPREADING_FACTOR,LORA_CODINGRATE, 0, LORA_PREAMBLE_LENGTH,LORA_SYMBOL_TIMEOUT, LORA_FIX_
Hello, I'm considering using Viper12 to 3Phase AC/DC non isolated buck converter 5V 60mA Vout. I found some application notes like AN1357. But is it reliable? Or will it cause problems in long-term operation? Has anyone experienced it before? Thanks, Gökhan
Hello,I recently replaced an existing STM32F767 MCU with a new STM32H753 MCU in my project that involves SPI communication with an FPGA using 16-bit data frames. After the replacement, I encountered issues with SPI read/write timing and overall communication stability.MCU and Clock Configurations- Original MCU (STM32F767) clock settings: SYSCLK 216MHz, HCLK 216MHz, APB1 54MHz, APB2 108MHz.- New MCU (STM32H753) clock settings: SYSCLK 400MHz, APB4 200MHz, APB2 100MHz, APB1 100MHz with SPI clocks muxed at 200MHz.SPI Initialization on STM32H753The STM32H753 SPI is configured mostly similar to STM32F767 except for the NSS pin setup:- STM32F767 used SPI_NSS_SOFT with manual GPIO control.- STM32H753 uses SPI_NSS_HARD_OUTPUT.- The rest of the SPI parameters (master mode, 16-bit data size, clock polarity/phase) remain identical.SPI Initialization Code Example (STM32H753)===================================================================== void initSensorProfileSpi1(void) { spi1SensorProfilehand
Hello,In a project with STM32 using SBSFU in a U575 microcontroller, why can a local variable of type structure within a function cause failures or unexpected behaviour in the secure zone, while a global variable of the same type works correctly?
Dear STMicroelectronics Support Team,I hope this message finds you well.I am currently working with an STM32WB series microcontroller and using STM32CubeMX (version [insert version number]) for configuration.While setting up the project, I noticed that the STM32_WPAN middleware component is grayed out and cannot be selected or enabled.I have verified that the correct MCU/board is chosen and that the project is properly configured for wireless features. However, the WPAN stack remains unavailable in the MX configuration interface.Details:MCU/Board: STM32WB5MMGHx STM32CubeMX Version: 6.15.0STM32Cube Firmware Package: v1.23.0IPCC : ActivatedHSEM : ActivatedRCC : HSE + LSERF : Activate RFObserved behavior: “STM32_WPAN” option is grayed out and cannot be selected.Expected behavior: The STM32_WPAN middleware should be selectable to configure wireless stack features.Could you please advise what might cause this and how I can enable or access the WPAN middleware in CubeMX?Thank
Dear ST Support Team,I am currently working with the P-NUCLEO-WB55 development board and using STM32CubeWB firmware package. I am trying to run the official example: Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_HeartRateFreeRTOS The project builds successfully, and I am flashing the application to CPU1 using STM32CubeIDE. The BLE stack firmware (stm32wb5x_BLE_Stack_full_fw.bin) has been successfully flashed to CPU2 using STM32CubeProgrammer and confirmed as "Firmware Upgrade Success".However, the application consistently gets stuck at the following line in void APP_BLE_Init(void): status = SHCI_C2_BLE_Init(&ble_init_cmd_packet); This prevents the BLE stack from starting, and no further initialization happens. I have already ensured:Low-power mode is disabled (CFG_LPM_SUPPORTED = 0)The transport layer is initialized (shci_init() and TL_Enable() are called)The debugger loses connection shortly after hitting this point, or the code enters Error_Handle
Hello everyone,I’m currently developing a custom board based on STM32MP151A, and I’ve successfully built my Open ST Linux (Yocto Scarthgap / v6.6) image using my own Device Tree generated from STM32CubeMX and further customized for our hardware.The build process completes successfully — both U-Boot and Linux kernel compile without errors, and the final image is correctly produced.However, when I try to flash the image to the target using STM32CubeProgrammer, the upload fails and I get the error log attached below.12:56:16:446 : USB speed : High Speed (480MBit/s)12:56:16:446 : Manuf. ID : STMicroelectronics12:56:16:446 : Product ID : DFU in HS Mode @Device ID /0x500, @Revision ID /0x000012:56:16:446 : SN : 003E00273030510D3434343712:56:16:446 : DFU protocol: 1.112:56:16:446 : Board : --12:56:16:446 : Device ID : 0x050012:56:17:452 : Start Embedded Flashing service12:56:17:452 : sending a set alternate setting request with index: 512:56:17:453 : receiving packet12:56:17:454 : DFU s
HelloI have been trying to add multiple paths to my ADDITIONAL_INCLUDE_PATHS in simulator/gcc/Makefile, based on this thread: https://community.st.com/t5/stm32-mcus-touchgfx-and-gui/how-to-add-several-include-path-to-touchgfx-simulator/m-p/227349So my ADDITIONAL_INCLUDE_PATHS look like this now:ADDITIONAL_INCLUDE_PATHS := ${platform_path}/src \ ${platform_path}/src/config/PRODUCT \However trying to make this file results in the following terminal output:g++.exe: fatal error: no input files compilation terminated. /usr/bin/sh: line 2: c:TouchGFX4.25.0envMinGWmsys1.0SW_developmentplatformsrc: command not found /usr/bin/sh: line 2: c:TouchGFX4.25.0envMinGWmsys1.0SW_developmentplatformsrcconfigPRODUCT: command not found If I add all paths as their own as such:ADDITIONAL_INCLUDE_PATHS := ${platform_path}/src CONFIG_PATH := ${platform_path}/src/config/PRODUCT/ export ADDITIONAL_SOURCES ADDITIONAL_INCLUDE_PATHS ADDITIONAL_LIBRARY_PATHS ADDITIONAL_LIBRARIES CONFIG_PATH And update t
Dear Sir , Kindly Help In Writing Program for PFC Boost Control. As i have worked on making an power supply with Below Specification Details :Input Voltage : 1 to 20 VAC(Variable)Input Current : 3Amps (Constant)We Require : Output Voltage : 30VDCOutput Current : 3AMPS For This we already created a closed loop system of power factor correction with boost controller .in this we take feedback from output using voltage divider . so i have an request to you kindly any one have solution pls suggest me to do this . regards, Nilmani
Split from this thread. (new question) You might be right. However it was made based on the well described example I have found. https://deepbluembedded.com/stm32-adc-multi-channel-scan-dma-poll-single-conversion/ I was trying tu run DMA but it was not working at all. I mean it was never transfering the data from ADC to the memory. Thats why I moved back to simpler example. Below you have DMA (one shot mode) that didn't work for me. Was trying the Circular mode as well but no change. /* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : main.c * @brief : Main program body ****************************************************************************** * @attention * * Copyright (c) 2025 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 trying to read the ST25DV64K memory but the ST25 NFC Tap app just keeps trying to read it, it keeps blinking as if it's trying to read it and then fails and the screen goes back to normal. I'm using a Samsung S24 Uktra with Android 16.
Dear ST Support Team,I am using STM32WB55 with firmware stm32wb5x_BLE_Thread_dynamic_fw.bin release V1.23 and application based on samples in STM32CubeFW. I flashed two devices and set both devices:OT_LinkMode.mRxOnWhenIdle = 1U;OT_LinkMode.mDeviceType = 1U;OT_LinkMode.mNetworkData = 1U;and coap capabilities.I noticed the following behaviour:Device1:EUI-64: 76:1A:D6:A4:98:A7:2C:70Preferred IPv6: fdeb:6e2:6135:d326:0:ff:fe00:5c00Preferred IPv6: fdeb:6e2:6135:d326:23d4:335f:27aa:3a48Preferred IPv6: fe80:0:0:0:741a:d6a4:98a7:2c70RLOC16: 0x5c00Device2:EUI-64: 76:1A:D6:A4:98:A7:2C:70Preferred IPv6: fdeb:6e2:6135:d326:0:ff:fe00:5402Preferred IPv6: fdeb:6e2:6135:d326:23d4:335f:27aa:3a48Preferred IPv6: fe80:0:0:0:741a:d6a4:98a7:2c70RLOC16: 0x5402Both devices have the same extAddr and same IPv6! (eui-64 read thanks otLinkGetExtendedAddress(...) ).If I use otLinkSetExtendedAddress(...) with extAdrr coming from reading at @UID64_BASE (according to user manual Flash 64 sec
Hi, I have been using NemaGFX on STM32U5G9J-DK2 kit with no problems however my luck with the STM32H7S78-DK kit is different.1. The NemaGFX for this platform only seems to work with 32-bit framebuffers, not 24-bit ones. Or am I doing something wrong?2. The NemaGFX for this platform uses the beginning of the framebuffer as a sort of workspace. We see random dots at the beginning. I think I'm having trouble allocating buffers correctly.3. I can draw filled rectangles, but filled circles with 'nema_vg_draw_circle()' only show the edge slightly and produce small images in a sort of workspace at the beginning of the frame buffer.nema_vg_set_fill_rule(NEMA_VG_FILL_NON_ZERO); does not fill the shape, as it should.Well, 'nema_vg_draw_rect()' works fine with nema_vg_set_fill_rule(NEMA_VG_FILL_NON_ZERO).4. Many more graphics functions don't work properly on the STM32H7S78, but they all work fine on the STM32U5G9J, which one uses 24-bit framebuffers, while the STM32H7S78 can o
I am currently running the head_landmarks model from the official STM32 Model Zoo:https://github.com/STMicroelectronics/stm32ai-modelzoo/tree/main/pose_estimation/head_landmarksThe ONNX model I used is face_landmarks_v1_192_int8_pc.onnx (downloaded directly from the github.The model can be successfully executed on the STM32N6570-DK board using the NPU, and the output results are correct.However, the inference speed is much slower than expected:Actual inference time on N6570-DK: ~3.6 seconds per frameReported time in the Model Zoo README: ~20.52 milliseconds per frameI would like to confirm:Is there any specific optimization or configuration (e.g., memory placement, quantization format, build options, or runtime parameters) required to achieve the published 20 ms performance?Could this large gap indicate that part of the model is running on the CPU instead of the NPU?Is there a way to check, from the generated ai_network_report or logs, which layers are accelerated by the NPU and which
HiI have 6 BLE peripherals with some ADC's. I need to make sure that all 6 devices sample at the same time. The Accurracy needs to be below 500 micro seconds. Is there a way to synchronise devices via BLE stack ?Thx
Please i need help. The datasheet, says the VDDA voltage level must be always greater or equal to the VDD voltage leveland must be provided first. My qustion is: will my circuit work, if I tie the VDDA and VDD together, to be powered by the same LDO DC-DC converter? Thanks in advance.
I could successfully operate the X- NUCLEO IKS4A1 in the MEMS Studio with the default sensor selection on the board. However, when I tried to select the LSM6DSV, which is connected on the DIL24 socket of the X-NUCLEO IKS4A1 board, for the accelerometer and gyroscope sensor configuration in MEMS Studio, I get the following error window: The WHO AM I register value does not match the device selected I also connect two jumpers between 9-10 for the headers J4 and J5 on the X-NUCLEO IKS4A1 board and removed the two jumpers between 11-12 for the header J4 and J5. Do you have some recommendation, what I miss here?Many thanks in advance. Best regardsChristian
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.