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
STM32CubeMX standalone hangs on File → New Project (infinite loading, no error message). The problem is fully reproducible.I have tried:– reinstalling CubeMX– different CubeMX versions– Java reinstall– offline mode– clearing STM32CubeMX cache/AppData STM32CubeIDE (latest) works normally but I can not generate projects with CubeMX. OS: Windows 11 pro Has anyone experienced this issue recently or knows a workaround / fix?Any advice from ST would be appreciated.
I am currently working with the STSAFE-A110 and I have noticed a significant lack of documentation for those who need to implement or understand the driver logic.For instance, when generating ECC asymmetric key pairs, the official datasheet mentions the Generate Key command (¶ 4) but does not document its I2C syntax or semantics.Although I am using the STSELib middleware, I have found that its APIs, such as stse_generate_ecc_key_pair() also lack exhaustive documentation. A specific example is the PLAT_UI16 usage_limit parameter; its purpose is never explained.By digging into the STSELib source code, it appears usage_limit parameter is passed directly to the STSAFE-A110 via I2C.Furthermore, in the Doxygen documentation there is an example where usage_limit is set to 100,while the STSAFE-A120 examples use 255. /* ## Generate key pair in slot 1 */ uint8_t slot_1_public_key[stse_ecc_info_table[STSE_ECC_KT_NIST_P_256].public_key_size]; stse_ret = stse_generate_ecc_key_
Hello all,I have created a project with STM32CubeMx based on this evaluation board:I generate the source code, and I can compile it correctly from STM32CubeIDE.The problem is when I try to Run or Debug it, I get this message:If anyone can help me I would appreciate it.Much thanks in advance.
Hello, everyone.Can the STM32F407VE encrypt multi-byte messages to maintain the confidentiality of messages between the host and client (stm32)? If so, what type of encryption can be run on this processor?Thank you:)
Edited to place the image in the post - for easier viewing.Hello, This is my first time posting. I am trying to find the P/N from the part's marking. If you know it, please let me know.Engraving: GP229Guess: Schottky barrier diode STPS2L60 - 2A, 60V. Is that correct...?If you have any information, please let me know. Thank you.
I am working on an STM32H563 project with a custom bootloader and two application slots (APP1 / APP2).This is my memory layoutBootloader: 0x08000000APP1: 0x08022000APP2: 0x0806C000The bootloader is already deployed in the field and cannot be modified.The bootloader jump sequence is standard:Validate applicationSet SCB->VTOR = APPx_START_ADDRESSLoad MSP from APPx_START_ADDRESSJump to reset handler at APPx_START_ADDRESS + 4 This works perfectly when I build the application the “manual” way:Manually change FLASH ORIGIN in the application linker script to 0x08022000Manually change VECT_TAB_OFFSET in system_stm32h5xx.cThen i ReBuild → flash → bootloader jumps and application runs correctly.I would like to automate this process using cmake , without manually editing the linker script and system_stm32h5xx.cSo I implemented:A parameterized linker script template (STM32H563xx_FLASH.ld.in)CMake configure_file() to generate slot-specific linker scriptsCMake target_compile_definitions() to
Hi everyone,I am trying to get a USBX CDC ACM device running on an STM32F407ZGT6, using a project generated by STM32CubeMX. I'm basing my work on the example provided for the STM32F469 (DEVICE_CDC_ACM).Problem DescriptionThe device is partially working. When I plug it in, Windows Device Manager recognizes it and assigns a COM port. However, when I try to connect using any terminal software (Tera Term, PuTTY, etc.), the connection fails. The software cannot open the port.Debugging FindingsThrough debugging, I've identified a key issue in the initialization sequence:Instance Activator Not Called: The callback function I set for cdc_acm_parameter.ux_slave_class_cdc_acm_instance_activate(which is CDC_Init_FS) is never triggered. This prevents the proper initialization of my CDC ACM instance.Null Pointer in Thread: The usbx_cdc_acm_read_thread_entryfails because it encounters a null pointer. Specifically, the comparison ux_utility_memory_compare(data_interface->ux_slave_interface_class
Hi Everybody, Now i met an issue for STM32U575/STM32U585 Programming time different, below is my test log, i don't why get the different time, since i do the erase in any time. The blank chip programming time is 34s, and NOT BLANK chip programming time is 13s. NOT BlankSTM32_Programmer_CLI.exe -c port=SWD sn=55FF69064978865014230767 freq=8000 -e all -w "D:\Download_Tool\FW\EVT_SMT_2.0.1.6\RLT_ReleaseStandaloneNoAlgo_2.0.1.6.bin" 0x08000000 -v ------------------------------------------------------------------- STM32CubeProgrammer v2.14.0 ------------------------------------------------------------------- ST-LINK SN : 55FF69064978865014230767ST-LINK FW : V2J45S7Board : --Voltage : 1.86VSWD freq : 40
Hallo everyone,Before I encountered a bug in an USB_OTG_FS library function (see previous post), I struggled to find out when the function 'CDC_Transmit_FS(uint8_t* Buf, uint16_t Len)' has finished, meaning the content of the 'Buf' argument is completely transmitted.After a thorough search through the various sources and the Reference manual RM068, I concluded the Register DOETMSK has a bit XFRCM that should fire an interrupt in case the the transmission has finished. I assume the common interrupt function ' HAL_PCD_IRQHandler(&hpcd_USB_OTG_FS)' will deduce that function 'CDC_TransmitCplt_FS(.......)' should be fired when the XFRCM creates an interrupt.Despite my efforts I could not find a way to: a) find out if my assumptions above are complete and/or correct b) how to handle the registers for the USB_OTG_FS device. In the SWF column of the debugger I saw 4 groups of OTG registers, but never found a way to access them in my code. And the complexity of
I have a small problem upgrading the STM32N6-GettingStarted-ObjectDetection example project to a newer Edge AI version: I am trying to upgrade the existing yolo person detection net to the latest Edge AI revision (3.0) before exploring custom network.I think I updated all necessary parts as described in the Edge AI version update FAQnew static library (the non- _PIC version)updated the NPU subdirectory, added missing file to the STMCubeIDE projectin main.cchanged the NN name from 'Default' to 'network' to match the generated codereplaced npu_cache_init with npu_cache_enable (at this point, the inference loop was stuck waiting for completion , so..: )implemented npu_cache_enable_clocks_and_reset with the original CACHEAXI enabling codeAt this point, the npu seemingly started but causes this error:Bus interface interrupt BUSIF0 ERR: 0x0 BUSIF1 ERR: 0x3 ATON_STD_IRQHandler()@877: irqs=0xlx assertion "0" failed: file "/home/simon/STM32CubeIDE/workspace_1.19.0/STM32N6-Get
Dear ST Team,After successfully setting Teseo-VIC3DA module, we can get message 3 digital axes accelerometer($PSTMDRSENMSG,30) and message 3 digital axes gyroscopes($PSTMDRSENMSG,31) which are returned from Teseo-VIC3DA HW at 15Hz speed. However, 3 raw data raw_x, raw_y, raw_z are unstable eventhough Teseo-VIC3DA is standstill.For more details, please help to refer to 2 attached logs: PSTMDRSENMSG_30.log and PSTMDRSENMSG_31.logOur question here is: why can we not get stable raw value? Do we miss any setting for getting such stable value? Please kindly help to support. Thank you. Please note that, we use below settings:"$PSTMSETPAR,1228,0x2000,2*46\r\n"; //Disable $GPGBS"$PSTMSETPAR,1228,0x40000,2*70\r\n"; //Disable $PSTMODO"$PSTMSETPAR,1228,0x800000,2*4C\r\n"; //Disable $PSTMDRGPS+$PSTMDRSINT+$PSTMDRCAL"$PSTMSETPAR,1228,0x20000000,2*46\r\n"; //Disable $PSTMDR1+$PSTMDR2"$PSTMSETPAR,1228,0x10000000,1*46\r\n"; //Enable $PSTMDRSENMSG"$PSTMSETPAR,1684,10*11\r\n"; //Set speed
Hi everyone, I am trying to bring up the DP83867 with RGMII on the STM32MP131DAG7. However I am getting the following error:[ 18.253959] stm32-dwmac 5800a000.ethernet end0: renamed from eth0 [ 23.695184] stm32-dwmac 5800a000.ethernet end0: Register MEM_TYPE_PAGE_POOL RxQ-0 [ 23.756147] stm32-dwmac 5800a000.ethernet end0: PHY [stmmac-0:00] driver [TI DP83867] (irq=POLL) [ 24.764629] stm32-dwmac 5800a000.ethernet: Failed to reset the dma [ 24.769435] stm32-dwmac 5800a000.ethernet end0: stmmac_hw_setup: DMA engine initialization failed [ 24.808705] stm32-dwmac 5800a000.ethernet end0: __stmmac_open: Hw setup failed I saw this is typically due to the 125MHz clock not being generated. In our schematic, we have the CLK_OUT from phy going to ETH_RGMII_CLK125. I noticed the phy was not generating a clock so using the "mii" tool in U-Boot, I tried to generate the clock by updating the 0x0170 register: Link I was unable to get any clock to generate even though the 25MHz clock
Hi,I'm using a Nucleo stm32WL55JC1 board, and i'm trying to run the SBSFU_2_Slots_DualCore example. Used the example selector to start the project. When I tried to compile any of the sub projects they all fail and i have a lot of warnings for include paths that dont exist in my computer. I'm using stm32cubeIDE v2.0.0, i tried using the v 1.11.0 because it said it the release notes that was the version used for STM32Cube_FW_WL_V1.4.0, but the IDE does not accept this package and does not detect it inside the repository folder, even after installing it itself because the examples it shows are from v1.4.0 of the FW package. I also get the error that i can't find the file kms.h that is included in a .c file. When the prebuild.sh runs it runs in the wrong directories, like doing "cd ../../../Middleware.....", in this case there are too many "../" in the path, and this happens a lot in the script.How can I run this example? What am I missing?Thanks in advance!
I'm working with the STM32U385/375 for a project, and have started my investigation into how to convert it to a secure root of trust application by working with the OEMiROT examples.In stock form it works well. The provisioning works, the update over the y-modem link works just fine, etc. However, I want to build a combined binary and not deal with separate non-secure and secure binaries to apply for an update.Accordingly, I changed MCUBOOT_APP_IMAGE_NUMBER in OEMiROT_Boot/Inc/flash_layout.h from 2 to 1, like so:#define MCUBOOT_APP_IMAGE_NUMBER 1 /* 1: S application only if FLASH_NS_PARTITION_SIZE = 0 , else S and NS application binaries assembled in one single image. 2: Two separated images for S and NS application binaries. */The build works fine, the first part of the provisioning script works fine, the appropriate value is updated in appli_flash_layout.h, and the programming begins. However, it fails with this error:========== Error while executing "Programming the option bytes and
Hi All,Please could somebody offer some words of wisdom to resolve the apparent ambiguity in the C0 datasheet, which on the one hand states that once IWDG is started it cannot be stopped, yet on the other hand offers a IWDG_STDBY bit in the OPTION registers to allow it to be stopped during Standby. The latter does not appear to work, since my system wakes itself after the prescribed watchdog period, so it seems like the first statement is the correct one.Since the watchdog definitely CAN be stopped during debug if DBG_IWDG_STOP is set, there is clearly a mechanism by which it can be stopped under certain circumstances, suggesting the first statement is not correct, or at best is not the whole story.If it can't be stopped in Standby....a) what's the point of the IWDG_STDBY bit?b) how can I keep my system in Standby? I must have the watchdog running while awake. Many thanks
Hello,I stumbled over a weird problem when trying to debug Memory Protection Unit (MPU) settings which I want to document here in case any other people have the same issue:SetupThe used MCU is a STM32H7S3L8H6 on a STM32H7Rx/7Sx Nucleo-144 board (MB1737)Core frequency is 400 MHz.Enabling or disabling the cache has no impact on the problem.The code is executed from the internal flash, the stack and variables are placed on the DTCM.The debugger which I use is a Lauterbach CombiProbe 2 attached to a Power Debug Pro Ethernet. TRACE32 PowerView software version is R.2025.09.000186004.The executed software is a custom operating system which uses the MPU to prevent user-space threads from accessing memory regions not allocated to the threads. For this, one MPU region each is used for ROM, RAM and stack. The MPU is activated before the thread is executed and disabled afterwards. The background region is active.I have not tried to reproduce the error by using similar MCUs or other debu
Hello , I'm desining a PCB for the H7S7 and the PSRAM on the discovery board is : APS256XXN-OBR-BGBut it seems to be NRND.Can you confirm that this chip can be used in remplacement ?APS256XXN-OBx9https://www.apmemory.com/en/downloadFiles/0325021716tb786912Thanks
Hi,Are there plans for supporting the new ST 4G NB=IOT modem ST87M01 in the X-CUVE_CELLULAR software stack?Thanks, Hans.
Hai All!I use 2 pieces of APS25608N PSRAM on OSPI bus with memory mapped mode. The MCU run at 1.8V, 160MHz system clock. Previously, I used APS12808N at 80MHz and 3.3V VDD without any issues.Currently, the PSRAMs run at 50MHz, but need to speed up to 100 or 160MHz.I thought the aps256's default settings should be good up to 100MHz, but they weren't.My working settings at 50MHz was ( relevant source in attachment): MR0: Fix type latency, latency code 5, and full strength (25 ohms).MR8: 32Byte Warp burst and without crossing.OSPI settings are:Dummy cycles: Read = 8, Write = 4 hospi->Init.FifoThreshold = 4; hospi->Init.DualQuad = HAL_OSPI_DUALQUAD_DISABLE; hospi->Init.MemoryType = HAL_OSPI_MEMTYPE_APMEMORY; hospi->Init.DeviceSize = 25; hospi->Init.ChipSelectHighTime = 2; hospi->Init.FreeRunningClock = HAL_OSPI_FREERUNCLK_DISABLE; hospi->Init.ClockMode = HAL_OSPI_CLOCK_MODE_0; hospi->Init.WrapSize = HAL_OSPI_WRAP_NOT_SUPPORTED; hospi->Init
Hello, Regarding current implementation of wrapper timers in st87ec library, we have a few questions:Is it fine to change implementation of tick resolution? Lets say if we have tick every 1 microsecond, if we change implementation of wrapper timer by multiplying by 1000, will it affect any other parts of library?Is there a plan to change implementation to interrupt driven for low power applications?What is expected longest timeout which requires waking up every 1ms?Is there sequence to put st87 to PSM? Best regards,Kamil.
Hello,I have a issue with my STM32U5G9. It does not go into standby or shutdown mode. I want to achieve a wake-up by the power button of my device. The powerbutton is connected to PWR_WKUP6 (pin PB5). The button has a 100k pull-up. I verified the voltage levels with a scope (3.3V --> 0V).I checked with the examples in the STM32CubeU5 Github repo. This my code: void LowPower::EnterStandbyMode(void) { PrepareForLowPower(); __disable_irq(); for(int i = WWDG_IRQn; i <= JPEG_IRQn; i++) { NVIC_ClearPendingIRQ((IRQn_Type)i); } /* Enable WakeUp Pin PWR_WAKEUP_PIN6 connected to PB.5 */ HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN6_LOW_0); /* Clear all related wakeup flags*/ __HAL_PWR_CLEAR_FLAG(PWR_WAKEUP_FLAG6); HAL_DBGMCU_DisableDBGStandbyMode(); /* Enter the Standby mode */ HAL_PWR_EnterSTANDBYMode(); // If entry fails (e.g., if a debugger is attached), reset the system NVIC_SystemReset(); } I have a similar function for shutdown mode. I tried to clear all inte
Hello, I am having an SPI communication issue between an STM32H743BIT (SPI master) and a TI ADS7066IRTER ADC using SPI Mode 0 (CPOL=0, CPHA=0). I write a configuration register and immediately read it back, but the read value does not match what was written. The logic analyzer shows correct MOSI data, but MISO often returns 0xFF or 0x80, and the SPI decoder reports “Settings mismatch”. The write/read sequence is: SPI_ADS7066_writeSingleRegister(hADS7066, GENERAL_CFG_ADDRESS, OPMODE_CFG_CLK_DIV_6); if (SPI_ADS7066_readSingleRegister(hADS7066, GENERAL_CFG_ADDRESS) != OPMODE_CFG_CLK_DIV_6){Throw(EMBL_ERROR);} Write and read functions used: void SPI_ADS7066_writeSingleRegister(HANDLER hADS7066, uint8_t address, uint8_t data){PSPI_ADS7066DESC pADS7066Desc = (PSPI_ADS7066DESC)hADS7066;uint8_t dataTx[4] = {0};uint8_t numberOfBytes = SPI_CRC_ENABLED(pADS7066Desc) ? 4 : 3;EMBL_RETCODES ret; dataTx[0] = OPCODE_WREG;dataTx[1] = address;dataTx[2] = data;if (SPI_CRC_ENABLED(pADS7066Desc))dataTx[3]
Hi everyone,I’m experiencing a new issue with STM32CubeProgrammer and I’m wondering if anyone else has run into the same problem.Starting today, every time I try to select a file (for example, when choosing a .bin or .hex to flash), the program freezes as soon as the Windows File Explorer window opens. After a few seconds, the whole application closes without any error message.This has never happened before — the tool was working perfectly yesterday. The only thing that changed is that Windows installed an update overnight. Since then, STM32CubeProgrammer consistently crashes whenever it tries to open the file picker dialog.Has anyone seen this behavior after a recent Windows update?Any ideas on how to fix or work around it?Thanks in advance!
See the subject, what t is the standard lead time of the demo board STEVAL-CCA044V1?
Hi,Comparison of STEVAL-ST25R3916B UM3033 [pg 22] & ST25R Antenna Matching Tool...Specifically the matching networks show a difference in location of parallel tuning capacitor relative to antenna connection. UM3033 antenna matching + filter [above]. Notice the location of the parallel tuning cap [C308] in relation to antenna connection ANT300. The ST25R matching tool [above] shows antenna matching + filter. Notice the parallel tuning cap is in spot closer to antenna connection than the UM3033 schematic. The physical STEVAL D25R16BA board shows the tunable cap next to the antenna [see red box below]. Silkscreen confirms this also. Based on the above it seems that the STEVAL-ST25R3916B antenna matching schematic in UM3033 DOES NOT match the physical board. My question: Should tunable capacitor be placed as shown in the ST25R matching tool or should it be placed as shown in STEVAL-ST25R3916B UM3033?I've created a custom PCB f
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.