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,Is it possible to power this board with an external 3.3 volt supply while still having the st-link active for debugging purposes? If not, how else can I debug my firmware? I've looked through the UM2592 for the dev board, but can't seem to nail down my answer. Any advice is appreciated. Thank you.
Liv4F module. Operating voltage range in the data sheet stated 3v-3.3vIn the Manual 1.8v-3.3v what is true? Can you fix the documents???
Hi,I am testing the ECC on DTCM on the STM32H7A3ZI. At start of day I initialize all of DTCM apart from a single test location. I have a test which reads from that uninitialized location and successfully provokes the SRAM ECC interrupt, correctly reporting the address for the uninitialized location. (I am following application note AN5342).However, I am finding that the same ECC error is raised in other circumstances, when I am confident that my code is not reading the test location. This happens when the IDE is not connected, so it is not the IDE which is reading that location.I have another test that provokes flash ECC errors, and it is currently the code of this test that somehow provokes the SRAM ECC error as well as the flash ECC error. However I don't think this code is reading the uninitialized location (and I have also seen other code provoke the problem). The address reported in the FAR register is always that of my uninitialized test locati
Hello, In my STM32WBA65 project using FreeRTOS, I tried to create a hot-attach debug configuration.It works OK except for one problem : the RTOS proxy does not know what it is working on, as it seems to rely on the parameter imageFileName in imagesAndSymbols. Since replacing imageFileName with symbolFileName is necessary to get a hot-attach configuration (along with "serverReset": "None"), this is a problem. The problem seems to be that imageFileName has two roles : 1) providing the binary used by the RTOS Proxy and by the loading mechanism and 2) telling the system that we want to load said binary into the target. Is there a way to hot-attach the debugger with RTOS awareness that I missed ? Below, my launch configuration in launch.json:{ "type": "stlinkgdbtarget", "request": "launch", "name": "Hot Attach", "origin": "snippet", "cwd": "${workspaceFolder}", "serverReset": "None", "imagesAndSymbols": [ { "symbolFileName": "${command:
i have been working on secure boot of stm32mp131c with spi-nand flash. I want to secure my filesystems as well appfs and rootfs. Is there possible ways to do so?
Hello everyoneI am using a Nucleo H7S3L8 evaluation module am I am trying to get some GPIOs and peripherals to work. I have generated a demo project that toggles a few LEDs and that works. Then I started replacing the GPIO ports (A, B, etc.) and pin numbers in order to get other GPIOs to toggle (I left the rest of the code as-is, really just replaced the letters and numbers). However, I didn't manage to get an output on any of the GPIOs belonging to ports O and P. I tried GPIOO 0 and 4 as well as GPIOP 0-3 and attached the analyzer at CN10 13, 15, 19, 21, 23, 25 with GND at CN10 17 (always one at a time). All these signals do not toggle. Other GPIO banks such as GPIOB and GPIOM work.Are the O and P ports different than the others? Do I miss some special settings? I will later be using the XSPI there, so I will need exactly these pins.I appreciate any help!PS Here are my jumper settings:JP1: not connectedJP2: connectedJP3: only STLK connectedJP5: connected to 3.3 VJP6: not connected
// To regenerate crash, follow these steps // In simulator mode // 1. Rotate screen if (touchgfx::HAL::getInstance()->getDisplayOrientation() == touchgfx::ORIENTATION_PORTRAIT) { touchgfx::HAL::getInstance()->setDisplayOrientation(touchgfx::ORIENTATION_LANDSCAPE); } else { touchgfx::HAL::getInstance()->setDisplayOrientation(touchgfx::ORIENTATION_PORTRAIT); } // 2. Go to other screen application().gotoScreen2ScreenCoverTransitionEast(); // CrashThere is probably a bug after rotating screen in simulator mode. Additionally, in debug mode (on hardware) when I apply screen rotation, it is not validated. If I change screen to another one, rotation is applied but with glitches in pixels.
Hi,I was wondering if there's any reference application or if you have any advice on drivers to capture video from a MIPI CSI-2 image sensor (perhaps Sony or the ST BrightSense image sensors (VB1940 (active) or VD1940 (preview) match the 5.1 MP dimensioning of the STM32N6) with STM32N6x7 or STM32N6x5 μCs?The aim would be to waken up the STM32N6 in response to an external digital input, record video from a MIPI CSI-2 image sensor to SD or eMMC then return to sleep mode.I'd be happy to consider bare metal, Zephyr or FreeRTOS - whatever you recommend.Thank you very much for your help and all the best for 2025!Will
Hello,I am attempting to run a Brushless DC-Flat motor using the STEVAL-PTOOL4A board. However, the system fails right after entering the RUN state, returning an ERROR MC_DP_FAULT (via MC_GetOccurredFaultsMotor1).To resolve this, I tried using the Motor Profiler to identify the exact motor characteristics, but I am unable to establish a connection with the board (see attached screenshot).Motor Characteristics:Nominal Voltage: 12 VDCRated Speed: 10,000 rpmStarting torque: 225 mNmRated Current: 2.18 AWinding Resistance (phase-phase): 0.88 ΩWinding Inductance (phase-phase): 0.331 mHPole Pairs: 7Could you please help me identify the cause of the MC_DP_FAULT error and why the Profiler fails to connect?Best regards,JulesEdit 05/02: I have managed to get the motor running; however, I am still unable to establish a connection to the board via Motor Pilot.
HiWe are developing a product based on the ST25DV-I2C TAG.I noticed that the X-CUBE-NFC4 software module is NRD. Can you suggest any software module that we could use to speed up development?I also tried porting the existing FTM application from ST25NFC_Embedded_Lib_ST25R3911B_1.8.0. I found it very difficult to extract the FTM protocol from this library due to the enormous amount of dependencies. Do you also have a more appropriate FTM sample code to port to our application?BRGilberto
IssueHigher ambient temperatures cause communication malfunctions with XSPI memories.DetailsOur design is heavily adopted from STM32H7S78-DK which also has the same issue described below.The application uses memory-mapped mode for both Flash and RAM as the main operational units. These memories are configured in the bootloader and everything generated using CubeMX. According to the datasheets, all three components (CPU, Flash, and RAM) are specified to operate reliably under the given conditions, and they do function correctly under normal temperatures.The problem arises when the ambient temperature increases from 25°C to 60°C. These temperatures are within the acceptable operating range for all components, as stated in their specifications. Upon reaching higher temperatures, the memories start to exhibit failures. However, further investigation revealed that the issue is not with the memories themselves. When the memories alone are heated, they continue to operate reliably, even at el
Hello, I am currently looking at the reference designs for STM32WLEx and am interested in board reference STDES-WL5I4IHH. (high band, high power with optimized BOM target for 915MHz/22dBm). As seen on page 6 of: Data brief - STDES-WL5xxxxx - Reference designs for STM32WL5x and STM32WLEx microcontrollers When looking at the BOM, the only difference I see between STDES-WL5I4IHH and STDES-WL5I4IHL is the IPD with designator U4. But when looking at the schematics, inductor L3 has no value attached. The BOM states it is 47nH and recommends LQW15AN47NG00. I also checked for STDES-WL5I4ILH which also has 47nH for L3. Is this correct?Do all 3 of these use an L3 inductor with value 47nH? STDES-WL5I4IHH | Product - STMicroelectronics STDES-WL5I4IHL | Product - STMicroelectronics STDES-WL5I4ILH | Product - STMicroelectronics I am mainly asking this question because when looking at the eval board NUCLEO-WL55JC, there is a switch that changes that i
Hello ST Community,I am currently testing the PWR_DEEPSTOP_RTC example on the STM32WL33CC and I am observing a higher current consumption than expected in Deepstop RTC mode.According to the documentation, the expected current in Deepstop mode with RTC (LSI) enabled should be around 1–2 µA. However, I am consistently measuring approximately 50 µA. The application appears to be entering Deepstop correctly (according to the consumption behaviour). I'm measuring with the following configuration:1. Set the JP2 jumper to OFF.2. Insert the external supply on pin 2.3. Connect GND to CN12.4. Change the position of SW1 (not the default position).Could you please advise what might be causing this discrepancy?Thanks.
Dear ST Community,I'm experiencing an issue with USBX Host implementation on STM32H573RIT6 where disconnect events stop working after enabling Host Controllers FS in CubeMX.Problem DescriptionEnvironment:MCU: STM32H573RIT6 (Custom board)Middleware: Azure RTOS USBX + FileX (MSC Host)VBUS: External constant 5V supply (no USBPD/VBUS sensing used)Connection detection: DP pin basedCubeMX: UX Host FS + Host Controllers FS enabledHAL setting: hhcd_USB_DRD_FS.Init.vbus_sensing_enable = DISABLEBehavior:Before USBX activation: Both HAL_HCD_Connect_Callback() and HAL_HCD_Disconnect_Callback() work perfectly with USB memory stick connect/disconnectAfter USBX Host Controllers FS activation:Initial USB memory connection: HAL_HCD_Connect_Callback() works fineUSB memory removal/reconnection: No HAL_HCD_Connect_Callback() and HAL_HCD_Disconnect_Callback() calledQuestions/RequestsHow to maintain HAL HCD callbacks when using USBX Host Controller
Hi,I'd like to know if execution jumps to the interrupt handler of Timer x only when the CCxIF flag changes state from 0 to 1. What happens if the flag is already set and an event occurs that would have caused the flag to switch from 0 to 1 had the flag been in the 0 state? Would the ISR be called or would it be ignored?I'm using the STM32G473VCH3 controller. Thank you.
STM32WL55 BPSK modulation bitrate for transmission and reception. Transmission is mentioned in data sheet is 600 bit/sec, but need to know reception max bit/sec. Is that same 600 bit/sec?
In the documentation on STM32N657X0, it says that the memory must be connected with match length track on the boards.It says:Match length (including BGA package length)- DQS0 with IO0..7 (Byte0), all in 50 mils,- DQS1 with IO8..15 (Byte1), all in 50 mils,- CLK is100 mils from any signal of Byte0 or Byte1- NCS can be CLK +/-700 milsBut I can't find any documentation on "BGA package length".It seems reasonable that the BGA package should be taken into account, since it is 12.8 mm.and a precision of 1.27mm (50 mils) is specified.I hope someone can help me find that documentation.Keld
I'm doing can-bus work with F103 and having a problem I can't figure out.I'm listening for a specific message, it's on a 20ms interval, and then when that message arrives I right away broadcast a new message using the same id but with different data. To do this I'm setting a flag inside HAL_CAN_RxFifo0MsgPendingCallback and then monitor this flag inside the main loop. If the flag is set I'm calling HAL_CAN_AddTxMessage to send a new message and resetting the flag. This repeats. Now, everything seems to be working most of the time, but at random times, it can be a minute or several minutes or longer, my messages are not sent for a second or few seconds or randomly sent/not sent for few seconds. Then everything will go back to normal for a while and then it might get "broken" again. This will repeat. HAL_CAN_AddTxMessage() is always returning OK. HAL_CAN_TxMailbox[0-2]CompleteCallback() are not being called when I notice the failures. There are 3 other n
Hello,I am working with a custom PCB using STM32H745XI6 (dual core CM7 + CM4).I wanted to boot only the CM4 core.So, in STM32CubeProgrammer --> Option Bytes --> User Configuration:I unchecked BCM7 (CM7 boot disabled)BCM4 remained enabledI clicked ApplyThe operation completed successfullyNo mass erase warningNo security warningNo RDP Level 2 warningRDP was never changed manually.Problem After ApplyingAfter applying the option bytes, I can no longer connect via ST-LINK.STM32CubeProgrammer shows:Error: Unable to read device id from ROM tableError: ST-LINK error (DEV_CONNECT_ERR)Error: Cannot identify the deviceEven in:Under Reset modeHardware reset modeHot Plug mode50 kHz SWD frequencyConnection always fails.What I Have Already TriedConnect under reset (holding NRST manually)BOOT0 high and lowVery low SWD frequency (50 kHz)Hot Plug modeHardware reset modeDifferent USB cableST-LINK V3SET firmware is detected correctlyI also even tried with J-link Target voltage is ~3.2Vacc
With HPDMA configured for SAI1A, no DMA setup code is generated with CubeMX 6.17.0. See attached IOC file as an example. Possible that I'm missing a required setting, but I can't find anything.Edit: Fully deleting and re-creating project seems to have fixed it :shrug:.
Hello,we have decided to protect our SPC572L based system via JTAG password protection, therefore we programmed the following data into flash:The 256 bit /8*32 bit JTAG password:00400120 11 12 13 14 21 22 23 24 31 32 33 34 41 42 43 44 00400130 51 52 53 54 61 62 63 64 71 72 73 74 81 82 83 84The lifecycle (to "in field"):00400200 55 aa 50 af 55 aa 50 af 55 aa 50 af 55 aa 50 af 00400210 55 aa 50 af 55 aa 50 af 55 aa 50 af 55 aa 50 af 00400220 55 aa 50 af 55 aa 50 af 55 aa 50 af 55 aa 50 af 00400230 55 aa 50 af 55 aa 50 af ff ff ff ff ff ff ff ff And the DCF records to set up the PASS module:00400300 05 aa 55 af 00 00 00 00 00 00 00 00 00 10 01 00 00400310 00 00 00 00 00 10 01 04 00 00 00 00 00 10 01 08 00400320 40 00 00 00 00 10 01 0c 00 00 00 00 00 10 01 10 ...After a powercycle the chip is properly locked. But unfortunately I can't reopen it via JTAG (using the JTAG_PASSWORD register), neither with a Lauterbach Trace32 nor with a special JTAG toll we use.The (simplified) Tarce32 Script
Hello,We have been using CANbus as our form of communication for a system with multiple nodes. Each node was individually tested with CAN and all of them work without issue. However, when we started system integration testing, we noticed significant noise on the CANbus channel that caused data to stop. To give more details, we are running 2 battery packs, a power electronics DC/AC converters (to create a 120Vac signal) and a central supervisory controller, which are all using STM32 MCUs to communicate to each other via CANbus. We are using an STM32H7AGI6, STM32F401RE, STM32F303RE. When we send a CANbus command to start the DC/AC converter, that is when the noise appears and we cannot communicate with the MCUs until the DC/AC converter is turned off. We have termination resistors at the end of the bus and I have verified that the 60 Ohm resistance is seen on the bus. I've also attached a copy of our schematic for the CANbus, which all of the nodes use (except that the 120 Ohm
Hi,Have this working on STM32F302R8 but cannot seem to get my SD Card working on an STM32F446RE. Using hal 0.23.0 with stm32F446 and embedded-sdmm 0.9.0); let sd_mosi = gpiob.pb15.into_alternate::<5>(); let sd_miso = gpiob.pb14.into_alternate::<5>(); let sd_sck = gpiob.pb13.into_alternate::<5>(); let mut sd_spi = Spi::new( dp.SPI2, (Some(sd_sck), Some(sd_miso), Some(sd_mosi)), Mode { polarity: Polarity::IdleLow, phase: Phase::CaptureOnFirstTransition, }, 400.kHz(), &mut rcc, ); let sd_spi_dev = ExclusiveDevice::new_no_delay(sd_spi, sd_cs).unwrap(); rprintln!("Reading file..."); let num_bytes = sdcard.num_bytes().unwrap(); rprintln!("SD Card Size: {} bytes", num_bytes);Which gives[2026-03-01T05:30:04.085Z, +020837ms] panicked at both_test/src/main.rs:184:40: [2026-03-01T05:30:04.085Z, +020837ms] called `Result::unwrap()` on an `Err` value: CardNotFoundVery new to all this but certain of wiring. The SD Adaptor has an Ams117 chip but I have tried in
We've been using STiROT + OEMuROT for STM32H7S on our system, with our own application.The secure bootloader handles most of its functionality very well, and the security aspects in particular. The scripts provided by ST were very helpful, as was the documentation on the ST wiki. We are grateful to ST for providing these.However, it proved extremely challenging to get the secure bootloader working with our application, mainly because the secure bootloader makes a number of important assumptions about the user application which are not documented.These unstated assumptions initially prevented our application from running, and it took a considerable amount of time and effort to solve all the problems associated with them.AssumptionsThe main assumptions are:OEMuROT assumes that the application will use the same clock setup as itself (especially PLL1 and PLL2): as documented in a separate post, we needed to change the clock settings in our application compared to OEMuROT, and thi
Hi everyone,I'm using the new STM32Cube.AI Studio with a NUCLEO-N657X0-Q board. Since the STM32N6 is flashless, I used the --split-weights flag to allocate the NN weights to the external xSPI memory (address 0x71000000).The project builds successfully, but the automated flashing step fails with Error: failed to download Sector[0]. It seems that STM32Cube.AI Studio calls STM32CubeProgrammer in the background without configuring the required External Loader for the external flash.Is there a native way to set up the External Loader directly within STM32Cube.AI Studio's settings, or is the officially recommended workflow right now to flash the weights manually via the standalone CubeProgrammer?Thanks in advance!
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.