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 am reading 6.3.30 LCD-TFT controller (LTDC) section to interface with DS90C385A (LCD) or ADV7125 (VGA) Assume that LCD Clock (pixel clock) polarity is set to high. Ideally, we can expect rising edge of clock aligned to the middle of the data. But I can see there is a more time for setup and less time for hold. Refer the figure 46 of datasheet. Note: I am going configure pixel clock low for DS90C385A (LCD) and high for ADV7125 (VGA). Also, I need to ensure HW work till 150MHz clock.
Hi,I am using STM32H56x with OEMiROT_Boot example project, and I use MCUBOOT_SWAP_USING_SCRATCH to install application images, is there an API like boot_set_confirmed( ) can used by secure applicaiton code, or a confirmation flag in SRAM like STM32H7?Thank you,Snaku
Hi team,I was looking through the steps in the configuration of the sample project: AEK-MCU-C4MINI- AEK_POW_BMSCCTX_GUI_Application for discovery.i made my configurations of the cells as per my project and after allocating the setup, it shows the hardwar connections too.Then it shows to edit the pins in pin map editor which i didn't understand. It says to unassign the allocated pins and copy contents and paste but i didnt understand why we do this and how to do this.( From Step 31 of UM3185 manual). Can someone explain this in detail for me to understand... Thank you.
Hi everyone, I’m debugging an SMBus issue between an STM32H7, an LTC4100 Smart Charger, and an RRC2054 Smart Battery. I’m trying to write to the ChargingVoltage() register (command 0x15), but the SMBus frames captured on the logic analyzer appear corrupted and often contain NACKs or unexpected STOP/START conditions. My write function is: static HAL_StatusTypeDef SMBUS_WriteWord(PSMBUSDESC pSMBUSDesc, uint8_t addr, uint8_t cmd, uint16_t value) { HAL_StatusTypeDef status; uint8_t buf[3]; buf[0] = cmd; buf[1] = value & 0xFF; // LSB buf[2] = (value >> & 0xFF; // MSB status = HAL_SMBUS_Master_Transmit_IT( pSMBUSDesc->SMBUSinst, addr << 1, buf, sizeof(buf), SMBUS_FIRST_AND_LAST_FRAME_WITH_PEC ); while (HAL_SMBUS_GetState(pSMBUSDesc->SMBUSinst) != HAL_SMBUS_STATE_READY); return status; } The function returns HAL_OK, so the STM32 believes the transfer is successful.However, the logic analyzer shows clearly invalid SMBus traffic. These are examples
Hello, How to perform dual-core communication on STM32H747?
Hi,Using Designer 4.25, I copied a font to ./assets/fonts folder but it is not in the list"Solido Compressed W00 Bold.ttf"Name displayed by OS is "Solido Compressed W00 Bold" when open in FontForge Any idea how to make the Designer to recognise the font ? Thanks
I have tried changing the ldo7 of stpmic25A in stm32mp257f-ev1,i have a custom board using stm32mp257fai3 and stpmic25a, where im using LDO7 for ethernet which needs 1v. so i tried experimenting the voltage first in stm32mp257f-ev1 EVK board and i applied below patch to change the voltage from 3.3v to 1v in all the boot components, but im still getting 3.3v at the vdd pin of the sdcard even after changes, why it so? im in middle of a board bring up, so hoping for a quick replyThanks in advance,FYR,tf-a patch:diff --git a/fdts/stm32mp257f-ev1.dts b/fdts/stm32mp257f-ev1.dts index 848ab89925..9771c7c2b6 100644 --- a/fdts/stm32mp257f-ev1.dts +++ b/fdts/stm32mp257f-ev1.dts @@ -144,10 +144,10 @@ regulator-min-microvolt = <2500000>; regulator-max-microvolt = <2500000>; }; - vdd_sdcard: ldo7 { - regulator-name = "vdd_sdcard"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; + vdd_eth2: ldo7 { + regulator-na
Hey ST Team and Community Members,I am currently working with the STEVAL-ESC002V1 evaluation board, and i have downloaded the available documentation, including the schematic PDF, BOM, and Gerber files (.ART, .GTD, .DRL ).However, I could not find the original PCB design source files. It would be extremely helpful for understanding the layout, making modifications, or creating and derivative design.My question:Is it possible to get access to the PCB layout source files for the STEVAL-ESC002V1?If they are not publicly released,is there any alternative way to obtain them?Any guidance from ST engineers or community members would be greatly appreciated.Thank you.
..
Hello, I’m working with an STM32H723 MCU and have a question about Flash behavior when caches are enabled.Both D-Cache and I-Cache are enabled, and I’m not using any additional MPU configuration. I'm using D-Cache invalidate after a Flash erase operation.Do I also need to invalidate the D-Cache after a Flash write? Below is my current code. The D-Cache invalidate is commented out.everything works fine, but I want to prevent any potential issues in the future. static int32_t flash_write_words(uint32_t addr, uint32_t *data) { volatile uint32_t *flash = (uint32_t *)addr; const uint32_t num_words = FLASH_NB_32BITWORD_IN_FLASHWORD; // check erased for (uint32_t i = 0; i < num_words; i++) { if (flash[i] != 0xFFFFFFFFU) { return -1; } } // write words if (HAL_FLASH_Program(FLASH_TYPEPROGRAM_FLASHWORD, addr, (uint32_t)data) != HAL_OK) { return -1; } // SCB_InvalidateDCache_by_Addr((uint32_t *)addr, 32U); return 0; }
New question split from this thread. Hello, Thank you for your response. I have double-checked and found that the 6.10 version also cannot be configured in this way. I will adopt the single-line mode on the next hardware version. However, there is still a question regarding the configuration of can in version 6.16. Why must the sum of the two parameters in the following figure be 32? Otherwise, there will be a warning. In version 6.13, this issue does not exist. The attachment contains the relevant IOC files.
I got this problem: cube ide is not generating ioc fileit did not enable "next" option, I have latest version 2.0.0 (windows 11)I tried, "Go to Window > Preferences > STM32Cube > Firmware Updater." but that option is not visible, also I tried "Go to Help > STM32Cube updater > Select “Check the Target selector Device Database Updates”" but "STM32Cube updater" option is not visible, what can I try now?
Dears, How can I get SENT SW demo code described in TN1233? Thanks.
Linux VM 6.17.0-7-generic #7-Ubuntu SMP PREEMPT_DYNAMIC Sat Oct 18 10:10:29 UTC 2025 x86_64 GNU/Linuxvscode 1.106.3Only the ST plugin package is installed, without the Microsoft C++ plugin or clangd. The formatting function is not working properly. The attachment is the result formatted using the Microsoft C++ plugin (only the Microsoft plugin) on Windows.
It seems that the default map file is set to "folder name.map".How can I change this file name and path?I can see the analyzed view when I run "Open memories analysis" menu from the map file by force.
Hi,We are using LSM6DSV320X for our product and want to generate interrupt when high-g is detected. In which register do we need to set the threshold so that the interrupt is generated at or above that value.
Hi everyone,I've noticed a change in UART pin configuration behavior from CubeMX 6.10.0 to 6.16.0 that has caused a practical issue:Before (v6.10.0): It was possible to configure only the RX or TX pin for an asynchronous UART, enabling "receive-only" or "transmit-only" modes.Now (v6.16.0): Both TX and RX pins must be assigned simultaneously; otherwise, the UART peripheral cannot be enabled.Problem: This wastes a GPIO pin. My specific use case is an SBUS receiver (one-way communication, requiring only the RX pin). Now I'm forced to allocate an additional TX pin that will never actually be used.Questions:1. Is this a permanent new requirement in CubeMX, or is it a GUI bug in version 6.16.0?2. What is the technical reason behind this change?3. Is there any way to achieve a true single-pin UART configuration under the new version?Thanks for any insights.
I am encountering a build failure in the I2C_OneBoard_Communication_PollingAndIT_Init project after integrating the X-CUBE-MEMS1 software expansion pack. D:/STM32Cube/I2C_OneBoard_Communication_PollingAndIT_Init/Drivers/STM32WBAxx_HAL_Driver/Src/stm32wbaxx_hal_dma.c:185:10: fatal error: stm32wbaxx_hal.h: No such file or directory 185 | #include "stm32wbaxx_hal.h" | ^~~~~~~~~~~~~~~~~~ compilation terminated. D:/STM32Cube/I2C_OneBoard_Communication_PollingAndIT_Init/Drivers/STM32WBAxx_HAL_Driver/Src/stm32wbaxx_hal_dma_ex.c:478:10: fatal error: stm32wbaxx_hal.h: No such file or directory 478 | #include "stm32wbaxx_hal.h" | ^~~~~~~~~~~~~~~~~~ compilation terminated. make: *** [Drivers/STM32WBAxx_HAL_Driver/subdir.mk:46: Drivers/STM32WBAxx_HAL_Driver/stm32wbaxx_hal_dma.o] Error 1 make: *** Waiting for unfinished jobs.... make: *** [Drivers/STM32WBAxx_HAL_Driver/subdir.mk:48: Drivers/STM32WBAxx_HAL_Driver/stm32wbaxx_hal_dma_ex.o] Error 1 D:/STM32Cube/I2C_OneBoard_Communication_Polli
Dear ST staff, Recently, while using STM32CubeMX with CubeAI to deploy the yolov8n_192_quant_pc_uf_od_coco-person.tflite model from object_detection onto the STM32N6570-DK development board. Subsequently, following CubeAI's configuration, I programmed the network_atonbuf.xSPI2.bin file into the 0x71000000 memory locationIt is worth noting that this model is of type float, not int8 quantisation (as I understand it), and both member pointers inLL_Buffer_InfoTypeDef's const float *scale; /**< */ const int16_t *offset;are NULL. This should indicate that the output requires no normalisation conversion.void MX_X_CUBE_AI_Process(void) { /* USER CODE BEGIN 6 */ LL_ATON_RT_RetValues_t ll_aton_rt_ret = LL_ATON_RT_DONE; const LL_Buffer_InfoTypeDef * ibuffersInfos = NN_Interface_Default.input_buffers_info(); const LL_Buffer_InfoTypeDef * obuffersInfos = NN_Interface_Default.output_buffers_info(); buffer_in = (uint8_t *)LL_Buffer_addr_start(&ibuffersInfos[0]
STM32CubeProgrammer CLI: v2.21.0STM32H573I-DKST-Link (part of DK)Experimenting with lifecycle states, I occasionally (maybe 1 in 3) get an mbedtls error when performing regression. This is with Trustzone enabled, using a leaf certificate. Sometimes running the command a second time will cause it to pass (as in the log below), sometimes the board needs to be reset in order to pass. This also happens using the regression.sh script and keys/certificates bundled with STM32CubeH5/Projects/STM32H573I-DK/ROT_Provisioning.A snippet of the error is below, and I've attached a log with the full command that failed, followed straight after by the same command that then passes.```STM32_Programmer_CLI -c port=SWD per=a key=Keys/leaf_priv.pem cert=Certificates/cert_leaf_chain.b64 debugauth=1....Certificates/cert_leaf_chain.b64load_trust_chain : 200 : error : sdm : Error calling mbedtls_pk_load_file()Error:Debug Authentication Failed```
Hi all,I am trying to understand the relationship between CCRDY and CHSELR. Unfortunately, there is a bit of bad grammar in the Reference Manual on this subject, which is not helping...The manual seems to say (and some examples support this) the sequence is -ADC1->ISR |= ADC_ISR_CCRDY ADC1->CHSELR = adc_channel; while((ADC1->ISR & ADC_ISR_CCRDY) != ADC_ISR_CCRDY) {}; ADC1->CR |= ADC_CR_ADSTART; // Start the converstionThis sequence doesn't make sense. What would happen if there was an interrupt between clearing the CCRDY and writing the CHSELR?Can anyone explain the internal workings of the ADC on this topic?Kind regardsPedro
Hi all,I have recently installed CubeIDE V2.0 onto my Windows machine - it seems to be working okay.I have also installed it onto a Linux machine but the link between CubeIDE and CubeMX is broken (CubeIDE opens it as a text file). I have CubeMX installed V6.15.0 - I can run separately.Someone said to me that for V2.0 I have to set the .ioc editor link manually - does anyone have the detail on how to do that?Kind regardsPedro
Hi,Does ST have any plans to manufacture FLIR (Forward Looking InfraRed) MEMS sensors in future?Will
Hello!I try to use dual bank option on the stm32l476 (256kB) for implementing a custom bootloader. I want just read new program (bin) by custom protocol and write it to another bank. After that I want to switch the banks, reset mcu and start the new program (from another bank). Sounds easy!My actions:I built the program for bank1, load it to the address 0x08000000.Then I loaded the same program to the bank 2 by address 0x08020000. (either with the st-link utility or just by writing to the flash directly from my program, tried both of variants).After that I set option byte bfb2 from 0 to 1 (also either with st-link or just from program). But my mcu does not work at all.I`ve compared the program in both banks and original .bin file with the help of the st-link utility and found that there is no difference between it (no corruption during program).I`ve even tried to build program for bank 2 (with offset), but it also did not help.I`ve noted that when I change the bfb2 bit, the value in th
Hi,The new STM32Cube for Visual Studio Code looks really nice but it suffers from (at least one) serious flaw: it does not work correctly when the target project is in a sub-folder.This means every "multi-project repository" in the world just flat out doesn't work. Especially mine, where the repository contains not only the schematic but also the firmware and a GUI application.I have attached a sample ZIP to this post which exhibits the issue. Extract both subfolders to a blank directoryIf you open "advanced-sample-cmake" from the root, everything worksIf you open "Subfolder" from the root then everything falls apartIrony is that "Subfolder" contains the exactly same files than the other. The "STM32Cube CMake build" extension says "Could not configure code indexing until an active project is set" and stops right there.Note that I can (somewhat) work around this issue by cloning my repository and then opening the subfolder in VS Code:The "git" extension really does not like this, a
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.