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 ST Community,I am working on the NUCLEO-N657X0-Q board with a TrustZone project configured in STM32CubeMX with three contexts: FSBL, AppSecure (AppS), and AppNonSecure (AppNS). The FSBL is working correctly and jumping to AppS successfully. I followed the wiki article "How to start with RIF on STM32N6 MCUs" as reference. https://wiki.st.com/stm32mcu/wiki/Security:How_to_start_with_RIF_on_STM32N6_MCUs The secure LED (configured as output push-pull, pulled low initially) turns ON but never toggles. I have tried both HAL_Delay() and a pure software loop for (volatile uint32_t i = 0; i < 800000; i++); inside the while(1) — neither causes the LED to blink. The GPIO write to set it HIGH works, but the toggle never happens. This suggests the secure while(1) loop itself may not be executing, or the app is hanging somewhere before it. The NS LED does not turn ON or toggle at any point. The NS app appears to not execute at all. I have configured RISAF for
I am working with the STM32L4S5VIT6 and currently facing an issue while trying to communicate with the system bootloader over USART. I am using the B-L4S5I-IOT01A Discovery board, on which I am attempting this setup. I have configured BOOT0 correctly and verified that the MCU enters boot mode (the application stops running as expected). I connected USART2 on PA2 (TX) and PA3 (RX), tried swapping TX/RX lines, and also interfaced through a MAX3223 level shifter to a MOXA device, but the STM32CubeProgrammer still reports a “KO – device not responding” error. I have confirmed that the MCU runs user code correctly (LED blink test), so basic functionality is intact. At this point, I suspect either a configuration misunderstanding from AN2606, incorrect peripheral mapping for this specific MCU, or a hardware-level issue with the UART path. Has anyone faced a similar issue with STM32L4 series bootloader communication, or can help clarify the exact USART instances/pins supported in boot mode fo
Hi everyone,I am working with the NUCLEO-U385RG-Q (MB1841) and I've noticed an inconsistency in the UM3062 user manual, specifically in Table 18 (ST Morpho connector pin assignment).The documentation states that PB7 is available on the Morpho connector at pin 5 of CN10. However, in the standard factory configuration, this does not seem to be the case. It appears that the connection depends on the solder bridge (SB) configuration, but the manual is not explicitly clear about the default state for this specific board variant.This makes the pinout tables quite confusing at a glance.Could you please tell me where I made a mistake and are there any other reliable sources of information about the pinout connections for this Nucleo board?Thank you in advance for information.
Hi, I was trying to create a small 8x8 / 4x4 point cloud using a VL53L5CX sensor, and I can get the depth data for each zone, but I was wondering if there was a way to get x,y,z from this information? Like if there was a way to know the vertical and horizontal angle for every zone on the VL53L5CX and then calculate the x,y,z location of the points using that and the depth data. Any help would be appreciated!
Dear community, I've used yocto as my workhorse in the past a lot for other processor manufacturers. Now as I'm happily joining the STM world for linux I'm stuck. Maybe it is a too easy to miss question, but which steps I have to take for putting all the needed images to the sd-card? I have followed the rules to go for using the create_sdcard_from_flashlayout.sh script with FlashLayout_sdcard_stm32mp257f-dk-optee.tsv as the parameter. After that I've used dd to flash the .raw to the designated sdcard but the board does not start at all. From the provided sdcard it starts without any issue.Where is my mistake? Regards KS
I am currently working with the X-NUCLEO-NFC10A1 board and interfacing it with an ESP32 DevKit V1. While attempting to establish communication between the two, I have tried all SPI modes as well as different reset logic configurations, but I am still unable to get them to communicate properly.I have included my Arduino test code below for reference, which I am using to verify the communication:Please check in attachment section there is code file
Hi everyone, I am developing an application for the NUCLEO-H7S3L8 kit using VS Code with the STM32 VS Code Extension. I have successfully built both the 'Boot' and 'App' projects.Currently, I am struggling with flashing the 'App' project firmware into the external Flash memory. In STM32CubeIDE, selecting an External Loader (.stldr) is very intuitive within the Debug Configuration, but I haven't found the equivalent setting in VS Code for the STM32H7RS series.Could you please guide me on how to configure VS Code to recognize the External Loader and the proper workflow for flashing code to external memory for this specific MCU?PS: On STM32cubeIDE, I'm referring to this example: https://github.com/ST-TOMAS-Examples-ExtMem/stm32h7rs_ospi/tree/main. Now, using the same example, how would I implement it if I used VS Code as my development environment?
Hello,I've been struggling with this issue for a couple days, I have a Nucleo-L476RG board that I am trying to run and debug in VS Code. I'm using the STM32CubeMX + STM32 VS Code Extension tool chain to create cmake files, build, and then debug, but I cannot run and debug code due to an error:Error in initializing ST-LINK device.Reason: ST-LINK firmware upgrade required. Please upgrade the ST-LINK firmware using the upgrade tool.I have tried using the "Upgrade ST-Link Firmware" button in the VS Code Extension "STM32Cube Devices and Boards Menu" and I get the following error:Fatal error while trying to update STLink Firmware. Source: STM32Cube Debug CoreSo I installed STM32CubeProgrammer and tried to upgrade firmware from there. I get the following information about my device:Serial Number: 066AFF485671664867215448Firmware Version: V2J43M28When I select the "Firmware Upgrade" button, it says Device 066AFF485671664867215448 not found. No device connected.So I downloaded th
On Kubuntu 24.04 when double clicking onSetupSTM32CubeProgrammer-2.19.0.linuxan empty window appears and then closes again. If I runSetupSTM32CubeProgrammer-2.19.0.linuxvia the terminal (as admin or as user), I get this error:Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at sun.awt.X11FontManager.getFileNameFromPlatformName(X11FontManager.java:174) at sun.font.SunFontManager.initCompositeFonts(SunFontManager.java:3506) at sun.font.SunFontManager.access$800(SunFontManager.java:65) at sun.font.SunFontManager$2.run(SunFontManager.java:555) at java.security.AccessController.doPrivileged(Native Method) at sun.font.SunFontManager.<init>(SunFontManager.java:386) at sun.awt.FcFontManager.<init>(FcFontManager.java:35) at sun.awt.X11FontManager.<init>(X11FontManager.java:57) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62
Is it possible to get pretty-print support for data-structures and custom types? It seems that not even STL types (e.g. std::vector) can be inspected easily by default: std::_Vector_base<int, std::allocator<int> > = {...} std::_Vector_base<int, std::allocator<int> > = Variable object not foundThis is all that is shown for a std::vector<int>.Looking into this, it seems that GDB can do this via python-based pretty printers, which even seem to be available for for the libstdc++ bundled with the IDE, e.g. "/opt/st/stm32cubeide_1.19.0/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.linux64_1.0.0.202510151430/tools/arm-none-eabi/lib/thumb/v7e-m+fp/hard/libstdc++.a-gdb.py"However, Python support seems to be disabled for GDB, which I guess is the reason this isn't working? > python print(True) Python scripting is not supported in this copy of GDB.So: Is there any current support for something like this? Or is it at least
Hi everyone,I am currently facing a very frustrating issue while trying to interface an AP Memory APS51208N (Octal PSRAM) with an STM32H723 via the OctoSPI peripheral.To avoid reinventing the wheel, I recently refactored my initialization code to use the official ST aps512xx library (https://github.com/STMicroelectronics/stm32-aps512). I'm using read and write latency set to 7.Unfortunately, the peripheral is still not working properly, and I am experiencing three distinct, highly erratic behaviors:1. Weird Register Read Pattern When I try to read the memory control registers using the BSP functions, the returned values are incorrect and seem to form a repeating sequence rather than actual register data. Here is what I get for MR0 to MR8:Array[0] (MR0) = 0x08Array[1] (MR1) = 0x89Array[2] (MR2) = 0xDAArray[3] (MR3) = 0xA0Array[4] (MR4) = 0x08Array[5] (MR8) = 0x892. OctoSPI Deadlock (Free-running) If I execute the initialization and read sequence continuously (free-running), the Oct
Hello everyone, I recently encountered a strange BUG.I use DMA to transfer ADC data. Previously, this program was configured this way without any problem, but it suddenly doesn't work these two days. What's even stranger is that I used STlink in the IT file to HAL_DMA_IRQHandler(&hdma_adc1); Break point. The value can be read out during debugging, but the serial port still doesn't work.The development environment is CubeIDE1.18.1
I created an independent task to run the TCP client and send.[424] local 192.168.10.188 port 5001 connected with 192.168.3.100 port 57804 [ ID] Interval Transfer Bandwidth [424] 0.0- 1.0 sec 5660 KBytes 46368 Kbits/sec [424] 1.0- 2.0 sec 5500 KBytes 45055 Kbits/sec [424] 2.0- 3.0 sec 5389 KBytes 44149 Kbits/sec [424] 3.0- 4.0 sec 5191 KBytes 42526 Kbits/sec [424] 4.0- 5.0 sec 5088 KBytes 41681 Kbits/sec [424] 5.0- 6.0 sec 4936 KBytes 40436 Kbits/sec [424] 6.0- 7.0 sec 4832 KBytes 39583 Kbits/sec [424] 7.0- 8.0 sec 3816 KBytes 31258 Kbits/secThe above is the data volume and status received by my iperf server. After that, my client task no longer sends any messages. I use my computer to ping the IP address of my STM32, and then the client will resume sending.I observed that the gState of my heth variable is HAL_ETH_STATE_STARTED, and the ErrorCode is HAL_ETH_ERROR_BUSY. The DMAErrorCode and MACErrorCode do not have any flags.I think it is the osSemaphoreAcquire(TxPktSemaphore, ETHIF_TX_T
Dear ST Team,I use multiple versions of CubeIDE and would appreciate it if the currently running IDE version could be displayed in the following screens (somewhere).Thank youLike its done in GfxDesigner
Good morning,I currently have my final design ready but I am struggling to understand the meter calibration setup in AN4470. Below are images of how to setup to meter a load as per UM2066 and also how to setup the meter for calibration as per AN4470.My main source of confusion is where a load will be applied during the calibration process. If my device is currently setup as Figure 16, do I simply replace the isolated source with the precision current and voltage source (Gen) and leave my load as is?Then I calibrate based on what the readings on the source are (assuming it is precise and I am not using a higher class precision energy meter - HPM). Thanks in advance!-J
The output of TIMX_CH1 and TIMx_CH1N is decided by previous value before bits 6:4 changed to Frozen mode?
Dear all I was setting up the RISAF4 for STM32MP257, however, the partition with name "linuxkernel2" has a glitch where its size shows as givenWhich is beyond the size of my LDDR4 set to 8Gb.How to solve it? A quick reply will be appreciated.Thanking you!With regardsAmit
HiInitial situationMCU = STM32U599VJTxQSTM32CubeIDE = v1.19.0TouchGFX = v4.26.0EEPROM Emulator = x-cube-eeprom-v8-0-0 (downloaded direct from STM website)I use the eeprom emulator to save an array of 251 bytes permant on the flash. To save the data into the flash I use the EE_WriteVariable32bits functionThis are my function to init the EEPROM emulator, write data to EEPROM and read data from EEPROMvoid Datastore::EEPROM_Init() { HAL_FLASH_Unlock(); // 1. Flash freigeben // 2. Sicherstellen, dass Flash idle ist uint32_t timeout = 1000000; while(__HAL_FLASH_GET_FLAG(FLASH_FLAG_BSY)) { if(timeout-- == 0) { HAL_FLASH_Lock(); this->m_errorHdl_p->Add(ERR_ID_EEPROM_INIT_FAILURE); return; } } // 3. Critical Section / Interrupts kurz maskieren __disable_irq(); // 4. EEPROM Init mit Retry EE_Status status = EE_WRITE_ERROR; const uint8_t max_retries = 3; uint8_t attempt = 0; while(((status != EE_OK) && (status != EE_PAGE_FULL)) && (attempt &l
Split from STM32WB05KNV6TR missing in STM32CubeIDE 2.0.0 Target Selector - this is a new questionHi Ghofrane,Thank you for the explanation. Since the WB05xN acts as a network coprocessor, it doesn't fit my current design goals as I want to avoid using an external Host MCU to keep the BOM cost and PCB footprint at a minimum.I am looking for a standalone (single-chip) STM32 wireless solution. My requirements are:Standalone Operation: The application and BLE stack must run on the same chip.Eddystone Support: It must be capable of broadcasting in Eddystone format.FOTA (Firmware Over-the-Air): The chip must support wireless firmware updates.Cost-Effective: This is a price-sensitive project, so I am looking for the most budget-friendly standalone option in the STM32WB family.Could you please suggest the most suitable part number for this use case? Would the STM32WB15 or the new STM32WB09 be the right direction for a low-cost, standalone beacon application?
I am trying to collect images from a MIPI camera that is not supported by default on the STM32MP257F-DK, but for which I have a driver. With that driver, it's seeing the camera as an attached device, and I can see it in the dmesg output and also as /dev/media2 in v4l2-ctl --list-devices. I have followed the steps at this link (modified to use the imx664 instead of imx335), and also steps I have found elsewhere (below). Is there anything I need to look for or change in order to actually see image frames from the camera, now that I can see the camera itself?media-ctl -d /dev/media2 -rmedia-ctl -d /dev/media2 -l "'48020000.csi':1 -> 'dcmipp_input':0 [1]"media-ctl -d /dev/media2 -l "'dcmipp_input':2 -> 'dcmipp_main_isp':0 [1]"media-ctl -d /dev/media2 -V "'imx664 0-0010':0 [fmt:SRGGB12_1X12/2704x1540]"media-ctl -d /dev/media2 -V "'48020000.csi':1 [fmt:SRGGB12_1X12/2704x1540]"media-ctl -d /dev/media2 -V "'dcmipp_input':2 [fmt:SRGGB12_1X12/2704x1540]"media-ctl -d /dev/media2 -
There are 4 external events that can be chosen to trigger and reset individual counters of each HRTIM timer unit in STM32H743 MCU. CubeMX shows those events once the Event Configuration is chosen "Enabled" . Yet only Source 1 is active (allowed to be chosen) but the Source 3 that I need to connect internally to the TIM2 TRGO output is inactive (cannot be chosen) . Why? My attempts to use AI got strange results - after searching the STM documents AI concluded that CubeMX is limited , it allows only external on-pin connections and any internal connections must be manually coded in addition to the generated code. If it is so then why does CubeMX show those other options yet does not allow to choose them? Or is there way to activate those options ?Please anybody give me suggestion.Note: the STM32CubeMX is the latest downloaded and installed yesterday. The MCU library pack is also current.
Hello,I recently made a custom PCB with the teseo-liv4ftr for an avionic and i have trouble making it work. The module responds to the nmea commands via I2C, but I couldn't get a fix whatsoever and not even a signal on the PPS pin.The Teseo is soldered correctly and with a proper LDO power supply. Also, I am using a Taoglas active antenna (AP.25M.07.0080A).Can anybody please help me?Schematic of the design attached below.
Hello,My STM32H573I-DK board is bricked after a failed provisioning attempt.What happened:Accidentally changed PRODUCT_STATE from Open (0xED) to 0x17 (Provisioning) via programmerThen an AI coding assistant (Copilot) attempted some configuration via DFU mode and enabled TrustZoneI no longer have access to the PC where this was doneCurrent symptoms:SWD: "Unable to get core ID", "Cannot connect to access port 1"DA discovery (debugauth=2): "The target is unable to boot on RSS_DA or is in OPEN mode"DA regression (debugauth=1) with default STM32CubeFW_H5 keys: "Unable to detect DBGMCU Mailbox" or "unable to boot on RSS_DA"DFU (USB0): "Target device not found" (with boot jumper set to SYS/MEM)UART bootloader: timeoutWhat I tried:SWD with HOTPLUG, UR, HWrst, ap=0, freq=100DA regression with default key_3_leaf.pem and cert_leaf_chain.b64regression.bat from ROT_Provisioning\DADFU via User USB (CN17) with JP4 on USB-PD positionUART via ST-Link VCPSetup:Board: STM32H573I-DKSTM32CubeProgrammer: v2
Hi,when selecting the STM32C051K8 in Cube MX it seems that CubeMX has wrong configs/specs about it?As you can see from the screenshot below it shows it is a LQFP package but - unless I missed something - it is supposed to be a UFQFPN32 package.The main issues are...1) when searching for micros with that package, that micro does not appear2) not sure if the entire CubeMX generated code is somehow affected? Firth thought is that it is just a package difference but the pin count is the same so perhaps it is ok, but perhaps not? Point #2 is the most important at the moment. Could someone form ST please guarantee we can use CubeMX to configure the part?Many thanks
Following the ST sample : STM32CubeH5\Projects\NUCLEO-H563ZII regenerated OEMiRoT_Config.obk with the STM32TrustedPackageCreator.then, rebuild the OEMiRot application and the applications OEMiROT_Appli_TrustZone_Secure & OEMiROT_Appli_TrustZone_NonSecureI ran the script : \ROT_Provisioning\OEMiROT\provisioning.batusing the 'PROVISIONED' choice.The script returns No error. But When I check the PRODUCT_STATE with STM32CubeProgrammer, the state came back to OPEN instead of PROVISIONED.But, I had to use the DA to connect to the device with the STM32CubeProgrammer. So, OBK files seems to be applied.I has already checked that the PROVISIONING state has been correct before the OBK provisioning sequence.So it's the action "set state PROVISIONED" that fails (or maybe an issue with the OBK files ???, but no way to check if they are OK).Someone has already meet this issue ? How to fix it ?
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.