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
Hi Forum! Previous experiments, but it still could not work, I have no idea how to fix this problem:https://community.st.com/t5/stm32-mcus-embedded-software/hmd-application-stm32f1-with-bno055-via-vcp/td-p/876235 Therefore, I revisited the literature review. I found this paper from meta oculus, they using the HID to transfer the IMU data, so I want to imitate their steps. (using notebookLm to learn it )https://msl.cs.illinois.edu/~lavalle/papers/LavYerKatAnt14.pdf HID read/write tool(software)https://github.com/benbaker76/SimpleHIDWrite Problem: Custom HID could be detected by host, the IMU could send the data at 100Hz, host could send the data to STM32 MCU, but only the first time was successful, the second time will let the HID read/write tool(software) crash, STM32 could send data after receiving the data first time. ----------------------------------------------------------------------------------------------------------------------------------------------------------
On a custom STM32H523-based board connected via STLink 2.0 (swd, p2p in CubeMonitor), all selected variables are plotted as 0, including those whose initial value is not 0. I used the Basic_Flow template, where I set acq_out, acq_in, and loaded variable addresses from an ELF following this guide. The executable is proven to update values under GDB. I have tried rebuilding with -O0 and reconnecting and changing sampling frequency between sequential loop and 10 Hz. The code does not contain any standby instructions and the port looks fine since GDB works. I would appreciate any help or advice.
When configuring the LEDs for the STM32H573I-DK using the STM32CubeMX it generated code which initializes the LED pins as PushPull (rather than OpenDrain).Lookign at the schematics of the STM32H573I-DK it seems to be not "the best option".Would you agree that OpenDrain (GPIO_MODE_OUTPUT_OD) is the better option here, rather than PushPull (GPIO_MODE_OUTPUT_PP)? /** * @brief Configures LED on GPIO. * @PAram Led LED to be configured. * This parameter can be one of the following values: * @arg LED1 * @arg LED2 * @arg LED3 * @arg LED4 * @retval BSP status */ int32_t BSP_LED_Init(Led_TypeDef Led) { int32_t ret = BSP_ERROR_NONE; GPIO_InitTypeDef gpio_init_structure; if ((Led != LED1) && (Led != LED2) && (Led != LED3) && (Led != LED4)) { ret = BSP_ERROR_WRONG_PARAM; } else { switch (Led) { case LED2: /* Enable the LED2 GPIO clock */ LED2_GPIO_CLK_ENABLE(); break; case LED3: /* Enable the LED3 GPIO clock */ LED3_GPIO_CLK_ENABLE()
I'm running Bazzite (Fedora 43) and tried to install STM32CubeMX on a Fedora distrobox and was met with some issues.First, the installer is unable use /bin/chmod, this is fixed by switching out the installer's `jre\bin` directory for OpenJDK.Second, if you run as a normal user it fails with:com.izforge.izpack.api.exception.IzPackException: An error occured in java.lang.Thread.run() at Thread.java:1583 in com.izforge.izpack.installer.unpacker.UnpackerBase.run() at UnpackerBase.java:241 in com.izforge.izpack.installer.unpacker.UnpackerBase.unpack() at UnpackerBase.java:319 Caused by: com.izforge.izpack.api.exception.InstallerException: File execution failed in com.izforge.izpack.installer.unpacker.UnpackerBase.unpack() at UnpackerBase.java:299 in com.izforge.izpack.installer.unpacker.UnpackerBase.unpack() at UnpackerBase.java:483 in com.izforge.izpack.installer.unpacker.UnpackerBase.executeFiles() at UnpackerBase.java:959This is fixed by running the installer via sudo.This is what I did
Hello ST,I'm trying to communicate the STM32F411RET6 with IMP34DT05 mic, i have enabled the I2S in ioc configuration, i have downloaded and added the library file from https://www.st.com/en/embedded-software/x-cube-memsmic1.html, while building the project getting 15000+errors coming, i'm assuming this library file is incorrect, could you please review as attached and provide Specific working library for this project.Advance Thanks,Sridhar.
Hallo zusammen,mir ist im STM32CubeProgrammer (GUI, v2.19.0) ein merkwürdiges Verhalten im Automatic Mode aufgefallen:Wenn man den Haken bei "Run after programming" direkt aktiviert und dann auf „Start“ klickt, wird kein Reset ausgeführt, obwohl die Option gesetzt ist. Das Programm wird nicht neu gestartet. Wenn man schnell hintereinander viele Platinen updaten will mit Neustart des Programms ist dies hinderlichWorkaround:Wenn man den Haken einmal entfernt und dann wieder setzt, funktioniert der Reset im Automatic Mode anschließend wie erwartet. Offenbar wird die Option intern erst korrekt übernommen, wenn sie aktiv verändert wurde.Das Verhalten ist reproduzierbar und tritt unabhängig vom Ziel-MCU auf (getestet mit STM32L4 und ST-Link v3MINIE).:wrench:Vorschlag:Es wäre super, wenn das in einer der nächsten Versionen behoben werden könnte – vermutlich reicht ein Fix im Initialisierungsverhalten der GUI.Viele GrüßeBB-RTB Translation:Hello everyone,I noticed some strange behavior in
I have been programming my STM32H743 custom board for over a year. Suddenly I'm getting the error message Error: No STM32 target found... I have tried changing the ST-Link itself but get the same error message.
Hello,I just created a new project for the STM32L542CEU MCU with CubeMX and I'm facing two issues with the imported project in CubeIDE.First issue, rather easy to fix, some path for includes files are missing in the project.Second issue, two include files are missing:Description Resource Path Location Typefatal error: ARMCM0.h: No such file or directory RTE_Components.h /CURRENT_SENSING/Drivers/CMSIS/NN/NN_Lib_Tests/nn_test/RTE/_ARMCM0 line 17 C/C++ Problemfatal error: irq_ctrl.h: No such file or directory os_tick_gtim.c /CURRENT_SENSING/Drivers/CMSIS/RTOS2/Source line 26 C/C++ Problemmake: *** [Drivers/CMSIS/RTOS2/Source/subdir.mk:25: Drivers/CMSIS/RTOS2/Source/os_systick.o] Error 1 CURRENT_SENSING C/C++ Problemmake: *** [Drivers/CMSIS/RTOS2/Source/subdir.mk:25: Drivers/CMSIS/RTOS2/Source/os_tick_gtim.o] Error 1 CURRENT_SENSING C/C++ Problemmake: *** [Drivers/CMSIS/RTOS2/Source/subdir.mk:25: Drivers/CMSIS/RTOS2/Source/os_tick_ptim.o] Error 1 CURRENT_SENSING C/C++ Problemmake: *** Wait
I have an stm32 board connected to a raspberry pi.I am trying to start a remote debug session from StmCube IDE Installed on my computer and I get this error.I haven't encountered this problem before and I don't quite understand its cause because I have configured everything correctly :- in Cube IDE Debug Configuration I selected connect to remote GDB Server with correct host name and port 3333.- in the pi side I created an openocd.cfg file which includes "bindto 0.0.0.0" command in order to allow connections from any ip.
Hello ST community, I configured my project in STM32CubeMX 6.17.0 and use STM32CubeIDE 2.1.1 to debug. The goal of the program is to receive a raw ethernet frame.I followed this tutorial, of course I adapted the pins to NUCLEO-N657X0-Q, and I skipped the part with the transmission, I didn't change anything in the HAL_ETH functions. I am sending from the PC (I can see that the frame is sended with wireshark):from scapy.layers.l2 import Ether from scapy.packet import Raw from scapy.sendrecv import sendp #Terminal ipconfig /all dst_mac = "00:80:E1:00:00:00" src_mac = "AA:79:39:37:92:EA" payload = bytes([0x01] * 86) frame = Ether(dst=dst_mac, src=src_mac, type=0x88B5)/Raw(payload) sendp(frame, iface="Intel(R) Ethernet Connection (13) I219-LM", verbose=True)I placed a breakpoint in :void HAL_ETH_RxCpltCallback(ETH_HandleTypeDef * heth) { }This callback should be executed when an Ethernet packet is received, but it never happened.I also tried by defining USE_HAL
Hi all,In order to have two possible functionalities on the same M12 plug I need to multiplex the C/Q line of IO Link with an analog input signal. The device is configured before the connection is established and it should stay in that mode during the whole operation. Here is the basic idea:My first Idea is to use a latching relays. Do you think it could cause problems to take the IO Link signal over the relays? I have never before used a relays in a signal path (digital or analog) and I am not sure if it could cause trouble. My second idea was to just connect both signals together without an additional switch or something like that:But I couldn't find out, if the OUT and I/Q Pins can handle a voltage when there is no 24V supply at VCC. (24V is only present when there is an IO Link Master connected to the plug). The analog signal can be 4-20mA, 0-10V or PWM (24V). Could the L6362A handle this? Also would this maybe impair the accuracy of the analog signal measurement? I also have
Hello,I am working with an STM32F103RB Nucleo board. I am able to successfully connect and program the device using ST-LINK, but I am facing an issue during debugging.The code is downloaded successfully and verified, but when the debugger tries to run (after the 'cont' command), it fails with the following error:Error in executing 'cont' commandTarget is not respondingFailed to read all registers from targetSetup details:- Board: NUCLEO-F103RB- ST-LINK Firmware: V2J47M34- STM32CubeProgrammer: v2.20.0- Debug Interface: SWD- Connection Mode: Under Reset- Reset Mode: Hardware reset- SWD Frequency: 125 kHzObservations:- Programming completes successfully- Verification is successful- Issue occurs only when starting execution/debuggingThings I would like help with:1. What could cause the target to stop responding immediately after programming?2. Could this be related to clock configuration or incorrect startup code?3. Are there specific debug settings (reset mode, SWD frequency, etc.) I shou
Hello all, I need to use some FFT functions. I have installed the CMSIS-DSP 1.16.2 and CMSIS 6.3 core as it was required from CMSIS-DSP. Surprisingly, CubeMX did only a part of its job, namely it did not copy source files and did not add proper include paths to the project so I have to do it myself. But after this there is still a bunch of unresolved references, namely arm_cfft_sR_f32_lenxxx and twiddleCoef_rfft_xxx. I have looked all sources in the CubeMX H7 pack version 1.13.0 I use through but could not find these sources. With best regards,Dmitry
Using https://stm32ai-cs.st.com , starting with my .tflite model. My goal is to incorporate the new model into the STM32N6-GettingStarted-ObjectDetection example. I am having some issues with versions.The ST Edge AI Developer Cloud produces a version of the model which differs from the version used by the support files in the example code. Case in Point - the function LL_ATON_LIB_Concat: the example has 6 parameters and code generated from the ST Edge AI requires 7 parameters. Dr Google, suggests there is another option when I "Download C Code" from the AI Developer Cloud that I should also have an option to change the Target Output to "STM32CubeIDE Project", "System Performance Project", or "C-Project".I don't see that option. can you help.
Hello Peter , Need your expert reply As we see , the confusion on N AND no N HAS MADE many of us wonder , if these can be used as interchangeable parts . Since Data Sheet does not explain , much on them ,But a search explains a compact Solution in Io's for a design flexibility . As both have same Packages and Pin Count . We are in need for DESIGN - STM32G0B1CBT3N , but seems to be difficult to procure . Is this Manufactured or is it rare . We only See STM32G0B1CBT6N Regards Nitin
I am using STM32N6570-DK board . I am trying to build edge AI code in application mode with the help of generated STM32 cube AI studio generate project for IDE. I am following this article https://community.st.com/t5/stm32-mcus/how-to-build-an-ai-application-from-scratch-on-the-stm32n6570-dk/ta-p/825591 . @Julian E. This article includes AI using X-Cube AI , I just wanted to ask if I am using the project/ AI files generated by STM32 Cube AI studio, Will the configuration of external memory manager and addresses we are using in XSPI2 , RAMCFG , RCC settings all will remain exactly same ? I am asking this as I am getting some memory issues while debugging the application code.Also my code includes ADC+USART also, will this add to additional memory changes?
Hi,After reading HSO current and voltage sampling in three-shunt topology, I beleve it is possible to run two BLDC moters using the ST-G473 microprocessor using 2 ADC's per motor. However, there does not seem to be support for that in the MC Workbanch. Will this be available in the future?Regards, Kevin
hello ST Community, I need your support. So far, I've been able to flash my bootloader software into the unprotected memory area 0x08000000 when Boot0 = 0 for the NUCLEO-H755ZI-Q series, both with the STM32CubeProgrammer and with my bootloader software via UART. However, I'd like to flash the same bootloader software into the memory area 0x1ff00000 when Boot0 = 1. I know it's protected. Is it possible to change the security level or flash it to another memory to run my software when Boot0 = 1? Thank you for your support.
Red light flashing. App showing 0% charged after 15 minutes
@Ulysses HERNIOSUS Dear Ulysses,Sorry to bother you again. code : err = rfalTransceiveBlockingTxRx(tx_buf, sizeof(tx_buf), rx_buf, sizeof(rx_buf), &actlen, RFAL_TXRX_FLAGS_CRC_TX_MANUAL|RFAL_TXRX_FLAGS_PAR_TX_NONE|RFAL_TXRX_FLAGS_CRC_RX_KEEP|RFAL_TXRX_FLAGS_PAR_RX_REMV|RFAL_TXRX_FLAGS_CRC_RX_MANUAL, 71680U); I want to send 4 bytes data and 4 bits parity, how do i combine those 36 bits data to 5 bytes data and send with function rfalTransceiveBlockingTxRx. for example:data_enc: 03, de, 59, bdparity_enc: 00, 00, 00, 00tx_buf: 03, bc, 65, e9, 05is it correct? can rfalTransceiveBlockingTxRx send 4bit data? Thanks
Hello, Iam working o STM32H573I-DK Board when am trying to access board am getting trustzone issue.I tried with Debug Authentication also but am unable to access board.Find the attached description.
I have tried using STM32CubeMX 6.17.0 to generate an STM32F429 DISC1 project.The generated project opened in STM32CubeIDE could not be compiled unless I add <root folder> in Project -> Properties -> C/C++ General -> Path and Symbols, the source location tab.I don't know how this happen. It's disturbing to modify project settings each time after modifying the CubeMX and generating the project.It's probably that should happened after I add some source folders to the projects.
Only 2 of 4 QSPI data lines active during pixel write, despite DMODE=3 confirmed in CCR 이미지 4장을 모두 참조하여 ST Community 문의 글을 작성합니다. Environment MCU: STM32U5G9ZJ (Cortex-M33, TrustZone enabled) IDE: STM32CubeIDE HAL version: STM32U5xx HAL Driver (included in project) Interface: HSPI1 → QSPI LCD (ICNA3306-compatible controller) Hardware Configuration GPIO settings are shown in [XSPI_2.png]. All six HSPI1 pins are configured as Alternate Function Push-Pull with GPIO_SPEED_FREQ_VERY_HIGH and GPIO_AF8_HSPI1: Pin Signal Speed PI3 HSPI1_CLK Very High PH9 HSPI1_NCS Very High PH10 HSPI1_IO0 Very High PH11 HSPI1_IO1 Very High PH12 HSPI1_IO2 Very High PH13 HSPI1_IO3 Very High Clock configuration is shown in [XSPI_3.png]: HSPI1 kernel clock source is set to SYSCLK (160 MHz). PLL1: HSE(16MHz) × PLLN(10) / PLLR(1) = 160 MHz. CubeMX parameter settings are shown in [XSPI_1.png]: Fifo Threshold: 4 bytes Memory Type: Micron Clock Prescaler: 1 (→ FCLK = 80 MHz) Clock Mode:
Is it possible to connect 8 PDM microphones to the STM32N6 via MDF?
This is an improvement request post.STM32 HAL on every family has tons of following code constructs:tickstart = HAL_GetTick(); while (!condition) { if ((HAL_GetTick() - tickstart) > TIMEOUT_VALUE) { return HAL_TIMEOUT; } }When using HAL with (Free)RTOS or interrupt based scheduler, then these while loops delay same priority tasks (until time-slicing kicks in), block everything that has lower preemption priority, waste energy (crucial for battery powered devices) and decrease responsiveness.There are multiple ways to improve it. One of the simplest is to supplement non-critical* loops with optional user-definable yield macros.__weak void HAL_Yield(void) { } tickstart = HAL_GetTick(); while (!condition) { if ((HAL_GetTick() - tickstart) > TIMEOUT_VALUE) { return HAL_TIMEOUT; } HAL_Yield(); }Now user can implement something like this when using CMSIS OS v2 API:#include "cmsis_os2.h" void HAL_Yield(void) { /* Kernel running and call not from ISR? */ if ((osKernelG
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.