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
hello , i have an issue regarding stvp . before i used stvp on windows 7 and everything was working fine , but now i made an upgrade on windows 10 and it stops working. the error is ,,Cannot comunicate with the device .Check the swim cable .....'' If i try to program option bytes and verify them , it doesn t work , so in order to work i have to do it separately , and work only from second attempt. i have instaled the latest driver from st ,STSW-LINK009 and st_toolset pack 42 . what can i do to make it work like on windows 7?
Dear all, i have a problem with my custom board based on STM32H745.I need to use core M4 with USB_HS host with mass storage class (a pen drive) at 12Mbit full speed (internal Phy transceiver).I have configured the processor as per attached file (core M4, FatFS, USB host, 48MHz RC clock for USB).The problem is that the FATFS Applistate variable is always in "application start" and never became "application ready". So that USB pen drive can not be mounted.Previously, I succeded in use the FATFS pack with the same functions configured with core M7, but I want to use core M4 because I need it in my project architecture.Consider that with the same FATFS pack I'm able to use SD card on the M4 core.I can't figure why I'm not able to migrate the USB HS host from M7 to M4.See also attached the function where the USB Host should be recognized and configured to receive data (in my project microSD card store datas and I want to download it to pen drive)
Due to more performance requirement, i wanted to change the ThreadX timebase to 1ms. To what i have researched till now i need to make the following #define TX_TIMER_TICKS_PER_SECOND to 1000 which is usually set at 100 which is 10ms. Any idea what else need to be done to make the ThreadX timebase to 1ms other than this or is this enough already?Thanks a lot for guidance.
Hy,I try to configure MCO2 as adjustable clock out. For evaluation I use STM32N6 DK and STM32CubeMX 6.16.0 and STMCubeIDE 2.0.0I use all different settings and it works fine, but IC20 div setting has no effect. When I compare generated code, I see no difference, no matter what setting I put in IC20 div, neither changes the clock output frequency. RegardsHarald
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 and a linker script content. Please read this post: How to insert source code. Hi,I was trying to use multiple ADCs in stm32f103c8t6. I have configured seven channels in ADC1 using DMA and ADC2 as single channel without DMA. Both trigger interrupts where ADC2 has the highest priority. The sampling time for the seven channels of ADC1 and single channel of ADC2 is 41.5 cycles and 239.5 cycles respectively. The ADC clock frequency is 10.667MHz. I calculate that ADC1 interrupt is triggered every 35.4us and ADC2 interrupt is triggered every 23.6us. System clock is 64Mhz. I have a third Interrupt which is a timer interrupt which is triggered every 560us. So the problem now is that when the sampling time of ADC2 is reduced 71.5 cycles (approx 8 us) or below, only the ADC2 is getting triggered. The code is not triggering the ADC1 interrup
Hi, So i am using STM32CubeIDE to program my STM32 card, except that when i create my project, it doesnt generate an MX file. So when i try to include the library "stm32fxxx_hal.h", it doesn't work. Why is that? And am I obliged to work with STM32CubeMX in parallel with STM32CubeIDE?PS : I use the latest version of the software, and my card is an stm32f303RET6.Thank you.
Launched STM32CubeProgrammer v2.20.0 after a long time since last use - it prompts an update available via an icon button.Clicked the icon, clicked Next, ticked a box, clicked "install Now", it starts download ing a big file...When the file has finished downloading it then displays an error message - see attached screenshot.Unable to unzip file: /home.main/.STM32CubeProgrammer/downloads//STM32CubeProgrammer2.21.0_linux64.zipNote the double slash // in the path.Also tried launching it direct from a terminal prompt out of my /opt folder.... same result.
Hi everyone,I am using a STM32H563RG and I need the RTC to work even if the VDD is powered off. To do that, I am plugging a battery on the VBAT pin to power the RTC and the Backup domain. But I tested it and it seems the RTC is stopped and the backup domain is cleared when VDD is powered off.Here is my initialisation code :/* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_GPDMA1_Init(); MX_ICACHE_Init(); MX_CRC_Init(); MX_SPI1_Init(); MX_TIM3_Init(); //MX_RTC_Init(); MX_ADC1_Init(); MX_ADC2_Init(); MX_TIM2_Init(); MX_FileX_Init(); MX_IWDG_Init(); MX_TouchGFX_Init(); /* USER CODE BEGIN 2 */ LL_PWR_EnableBkUpRegulator(); LL_PWR_EnableBkUpAccess(); if(LL_RTC_BKP_GetRegister(RTC,LL_RTC_BKP_DR0) == 0x32F2){ //Read Backup register to see if it was previously written RTC_Datas.RTC_initialized = 1; //Set flag GPIO_Set(Led_orang); //Turn Orange LED On }
I am working on an STM32 + Azure RTOS project where I need to access the same SD card in two different modes: When the microcontroller accesses the SD card directly, I use FileX with an SDIO/SPI driver. When the SD card is connected to a PC via USB, I use USB MSC (Mass Storage Class) so that the PC can read/write the card. Individually, both functions work perfectly: FileX can read/write SD card when MCU is accessing itUSB MSC works when PC is connected However, when I try to support both modes simultaneously, the SD card fails to work correctly.There is no reference example from ST or Microsoft showing how to share the SD card between FileX and USB MSC at runtime. My main question: How can I properly share the same SD card between FileX (MCU access) and USB MSC (PC access) in Azure RTOS, ensuring that both do not access the file system at the same time? Is there an official method, mutex mechanism, media lock, or recommended design pattern for this scenario?
Hello, I am working with the STM32H7S78-DK board.With STM32CubeMX 6.16.0, I open the provided board project STM32H7S78-DK.I am surprised about the assignment of the SPI4 pins:MX project SPI4 Pin Name:PE6 = SPI4_MOSIPE12 = SPI4_SCK PE13 = SPI4_MISObut uses the real hardware boardPE14 = SPI4_MOSIPE12 = SPI4_SCK PE13 = SPI4_MISO
I am using STM32WB55 and entering STOP2 mode for low-power operation.RTC Wakeup timer is configured, and the interrupt works correctly in RUN mode,but the MCU does not wake up from STOP2 mode when the RTC wakeup interrupt is expected.Configuration:- RTC enabled using LSE- Wakeup timer configured with WUT- MX generated code + custom low power entry- NVIC enabled for RTC WakeupTried:- Ensured RTC interrupt flag is cleared before entering STOP2- Enabled DBG and checked if STOP2 entry works- Checked PWR->WUPEN / PWR_SCR flagsStill, the MCU does not wake when RTC WUT expires.Any suggestions or known STM32WB55 issues related to STOP2 + RTC Wakeup?__PRESENT__PRESENT
Hi,I'm using STM32H7 dual core, where the data has to be shared between the cores, so im having totally 21 variables totally 76 bytes, thought of do it like a structure, so where to place the structure exactly for this data sharing. so, this structure should be placed in any linker file of one of the cores or where?if so, thus we have to keep the structure in both the core or whatwhich method is a fastest wat to share the data, like a ring buffer, HSEM.if we use HSEM, we can use that structure or access outside, before calling the HSEM TAKE, or structure values should be assigned only inside after the HSEM TAKEOVER. regards,srinath
Regarding the STPS5H100AF, the datasheet states that the storage temperature is -65 to 175°C, but there is no mention of the operating temperature.What is the operating temperature?
Hi,Recently, updated to 6.16.1 on Linux.On a fresh project i get the "misconfiguration warning" when i hit "GENERATE CODE" (I use CMake Toolchain). See Screenshot: There you will see simple config for RCC. Got a "green check" symbol but i always get that Warning.On the second Screenshot, I have changed OCTOSPI settings, and it will add itself to the Warning list. I can extend the warning list by just changing any settings. Maybe I really misconfigured something, but I don't see it.I guess it is a bug - I can generate the code, but this Warning might mask real configuration issues in the future.Thx
CubeIDE, STM32H747I-DISCOFor some reason my build keeps failing to find the adv7355.h even though the header is clearly in the project space & other headers with that path are found, see picture below. Anyone any clue why this is happening?w,
I have a situation where a USB endpoint stops working due to a control packet being NAKed in the handshake phase. I've traced the problem down to the STM USB stack setting DCTL.SGONAK = 1 in response to an INCOMPISOOUT event, yet in the case when it fails, no global OUT NAK status notification appears in the RxFIFO and the GINTSTS.GONAKEFF interrupt status never occurs. However, the DCTL.GONSTS bit does change from 0 to 1 after SGONAK is set.Yet, according to the reference manual for the STM32H757 (RM0399 Rev 4, page 2908):Setting the global OUT NAK Internal data flow:When the application sets the Global OUT NAK (SGONAK bit in OTG_DCTL), the corestops writing data, except SETUP packets, to the receive FIFO. Irrespective of thespace availability in the receive FIFO, non-isochronous OUT tokens receive a NAKhandshake response, and the core ignores isochronous OUT data packets.The core writes the Global OUT NAK pattern to the receive FIFO. The application mustreserve enough receive FIFO sp
English belowPlusieurs problèmes avec X-CUBE-FREERTOS.1.2.0 , 1.3.1 , 1.4.0 et suivant (MDK-ARM) :1) Si je ne met pas TOTAL_HEAP_SIZE à au moins le double que nécessaire, les dernières taches déclarées dans CubeMx ne sont pas exécutée . Aucune alerte n'est générée.2) En changeant de version de FreeRTOS, je perd toute mes Taches, Mutex, Queues, ... mises dans CubeMX3) X-CUBE-FREERTOS.1.4.0 me créer les Queue comme cela :QueueTestHandle = osMessageQueueNew (20, sMessage, &QueueTest_attributes);Au lieu de :QueueTestHandle = osMessageQueueNew (20, sizeof(sMessage), &QueueTest_attributes);Avec uint16_t, tout est Ok.---------------------------------------------------------------------------------------------------Several issues with X-CUBE-FREERTOS.1.2.0, 1.3.1, 1.4.0 and later (MDK-ARM):1) If I don't set TOTAL_HEAP_SIZE to at least double what is needed, the last tasks declared in CubeMx are not executed. No alert is generated.2) Changing the version of FreeRTOS causes me to lo
Hi everyone,we applied the ST FWU reference solution on our own platform based on the STM32MP157F.The solution was taken and adapted from the ST Yocto layer meta-st-ota (https://github.com/PRG-MPU-CUST/meta-st-ota).We have a few questions to clarify the default behavior:What is the default behavior in the early boot stage Do we understand correctly that fsbl1 and fsbl2 are intended to contain identical TF-A images for fail-safe purposes, and that the ROM looks for the first valid FSBL (starting from fsbl1) and loads it?Rollback behavior at ROM / TF-A layerIs it correct that there is no FWU rollback concept implemented in ROM / TF-A itself?I.e. fsbl1 is not treated as part of a bank like [fip-a, bootfs-a, rootfs-a], but instead the two FSBL slots are only there to allow a second try to load the same TF-A version from fsbl2 if fsbl1 fails?Updating TF-A over-the-airIf we decide to update TF-A via OTA (with RAUC and the ST FWU solution), do we understand correctly that:TF-A needs to b
Hi ST Community,I am encountering a specific issue with the LSM6DSO configured in FIFO Mode with the Sensor Hub (Master I2C) active.Hardware Setup:IMU: LSM6DSO (SPI to STM32).Slave Sensor: LIS2MDL Magnetometer connected to LSM6DSO via I2C (Sensor Hub mode).I2C Bus: Standard 100 kHz. External pull-up resistors are populated on the PCB (in addition to the internal ones enabled via configuration).Configuration:ACC ODR: 6667 Hz (High Performance).GYRO ODR: 6667 Hz (High Performance).MASTER_CONFIG: 0x4C (Write Once + Pull-Up Enabled + Master On).FIFO: Streaming Mode (storing Acc + Gyro + Slave0 Mag).The Issue: When I enable both Acc and Gyro at 6667 Hz, the FIFO gets populated almost exclusively with Accelerometer and Magnetometer data. The Gyroscope data is missing or appears extremely rarely (effective rate ~6 Hz instead of 6667 Hz). The Accelerometer works perfectly (full 6.6k sample count).However, if I lower the ODR to 3333 Hz, both Acc and Gyro work perfectly and are synchronized.Hypo
HI ST TEAM,Relevant code here:https://github.com/WHMJJ/-STM32H753-st67w61-Project-Middleware Integration ConflictI am integrating the ST67W61 Command Line Interface (CLI) Middleware into an STM32H753 project generated by STM32CubeMX. This integration is currently blocked by two critical linking errors stemming from version mismatch and incomplete project generation.1. FreeRTOS Version Mismatch (Mandatory V10.6.0 API Missing)The ST67W61 CLI examples explicitly require FreeRTOS V10.6.0 for essential API functionality.My Environment: STM32CubeMX (using STM32CubeH7 FW Package) provides FreeRTOS V10.3.1.Error Symptom: The linker fails with an undefined reference for the V10.4.0+ indexed task notification functions, which are vital for communication within the CLI module:undefined reference to 'xTaskNotifyGiveIndexed'undefined reference to 'ulTaskNotifyTakeIndexed'Impact: Since the V10.3.1 kernel lacks the implementation of these functions, I cannot proceed with the CLI module's initializati
Hi!EDIT: WARNING! This is no real fix... The bug remains...With STM32Cube_FW_F2_V1.9.0 and CDC's /dev/ttyACM0 I had funny glitches on VoidLinux, when i tried full duplex communication (host<>device):some packets never arrived at the USB hostsome short packets had their first 4 byte twiceDeepSeek suggested to choose different endpoints for data in and out... like this:#define CDC_IN_EP 0x81U /* EP1 for data IN */ #define CDC_OUT_EP 0x02U /* EP2 for data OUT */ #define CDC_CMD_EP 0x83U /* EP3 for CDC commands */it seems like those glitches disappeared now... Or i did not dare to test it hard enough...Why is CDC_OUT_EP 0x01U by default, although DeepSeek thinks, that the STM32F207 hardware cannot cope with that, because IN&OUT stream share somehow the same hardware elements, if they are configured for the same endpoint?It was easy to fix, after i found Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc/usbd_cdc.h , but i wonder now, if i really found the bug...Seems like
Hello, I try to get data from a X-NUCLEO-53L8-A1 board connected to a Nucleo board and visualize it in my computer. If I use the VL53L8CX Gui and connect my COM port and click on the start button, it is working well. However, I would like to get data outside of the app (ex: Tera Term or python script) but I do not have data available. I suppose that the sensor/board is waiting for "start" but I can not find any documentation on the subject. Can someone help me on the subject ? Best regards
I am trying to update a text area called textTestArea with a string and I want to be able to format the string with a newline character. Ex "I went to the store \n to buy food" I created a texts called genericText that uses a default font that has wildcard range 0x00-0xFF , I also tried having range 0x20-0x7e and wildcard character 0x0A (/n)here is the text and typography: Here is the screen with text area:in baseview.cpp it creates: textTestArea.setPosition(397, 26, 237, 55); textTestArea.setColor(touchgfx::Color::getColorFromRGB(0, 0, 0)); textTestArea.setLinespacing(0); Unicode::snprintf(textTestAreaBuffer, TEXTTESTAREA_SIZE, "%s", touchgfx::TypedText(T_GENERICTEXT).getText()); textTestArea.setWildcard(textTestAreaBuffer); textTestArea.setTypedText(touchgfx::TypedText(T___SINGLEUSE_E1ZC)); add(textTestArea);So now in my view.cpp: static const uint16_t TEXTBUFFER_SIZE = 64; Unicode::UnicodeChar textBuffer[TEXTBUFFER_SIZE]; U
Hello, I have multiple VL53L0X sensors that I am communicating with over an STM32 board. Two of the sensors started throwing errors (only reading 8191), and so I moved them to an Arduino for the flexibility of using the downloadable API. They worked perfectly fine on the Arduino, so I am wondering what the issue with the STM code might be. I am using the following repo: https://github.com/MarcelMG?tab=repositoriesalong with i2c code that I wrote because I have a different stm model, but don't see that being the problem. Any help would be appreciated!
Hi everyone,I tried implementing tickless idle on my STM32H7 CM7 core following a tutorial I found: https://www.youtube.com/watch?v=hVlpf1Rm4QoI suspended the tick (TIM6) and set up LPTIM as the wakeup source.However, I noticed that my core wakes up every 41 ticks, even though my ONLY task is delayed by 2000 ticks. It seems like the core is being woken up prematurely, and ulExpectedIdleTime is only 41 instead of 2000.Does anyone know why tickless idle is not sleeping for the full expected duration, or what could be causing these frequent wakeups despite SysTick being disabled?Pre Sleep fuction:__weak void PreSleepProcessing(uint32_t ulExpectedIdleTime) { /* place for user code */ HAL_GPIO_WritePin(LED_1_GPIO_Port, LED_1_Pin, GPIO_PIN_SET); //printf("[CM7][PreSleepProcessing]entered PreSleepProcessing!\r\n"); HAL_SuspendTick(); //suspend SysTick Timer HAL_LPTIM_TimeOut_Start_IT(&hlptim1, 0xFFFF, ulExpectedIdleTime); // enable interrupt from low power timer }And Post funct
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.