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 All ,Am imported a example project in stm32cube and i tried to build am getting error as Description Resource Path Location Typenon constant or forward reference address expression for section .ARM.extab LTDC_Paint line 90, external location: c:\st\stm32cubeide_1.6.0\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.9-2020-q2-update.win32_1.5.0.202011040924\tools\arm-none-eabi\bin\ld.exe:D:\stm32_projects\exp1\LTDC_Paint\STM32CubeIDE\STM32H750XBHX_FLASH.ld C/C++ Problem can u please provide the solution.thankyou,regards shiva chary
I just spent some time debugging a fundamental compatibility issue between an MPU and its RAM, and I wanted to share what I learned to save others the same headache. I was looking at using the STM32N657 (a powerful Cortex-A7 MPU) and almost made a critical error by assuming it could work with a common SDR SDRAM chip like the W9825G6KH-6. Spoiler Alert: It can't. Here's why. The STM32N657 has a DDR3/LPDDR2/LPDDR3 memory controller. The W9825G6KH-6 is an SDR SDRAM. These are two completely different, incompatible memory technologies. Think of it like trying to put diesel fuel in a gasoline engine. Both are fuels, but the underlying technology and "communication protocol" are entirely different. Post edited by ST moderator to update the wrong product name "STM32MP657" to "STM32N657".
The STM32CubeMX generated main.c has the function MX_TouchGFX_PreOSInit() called directly after the MX_xxx_Init() functions, before I can insert my External Flash Initialisation (in /* USER CODE BEGIN 2 */).This prevents the use of the External Flash for the TextFlashSection defined by TouchGFX.It would be better to call MX_TouchGFX_PreOSInit() immediatly before MX_xxx_Init() (in my case MX_ThreadX_Init()).
Please tell me how to enable FTD in X-CUBE-MATTER. Is it possible to have it function as a Thread Router?
We are pleased to announce that the version 6.15.0 of STM32CubeMX is available. What is new in 6.15.0: Enhanced microprocessor support: Added the STM32MP21-A35-TD, STM32MP21-M33-TD, STM32MP25-M33-TD, and STM32MP23-M33-TD trusted domains for the STM32MP2 MPUs and their Arm® Cortex®-A35 and Cortex®-M33 processors. Integrated the STARM-Clang toolchain: The STMicroelectronics LLVM-based toolchain for Arm®, STARM-Clang, leverages Clang's modular architecture for faster compilation and enhanced support for modern language standards, expanding the build capabilities. Build process enhancements: Use of CMake for more efficient project compilation. Removal of the -Wpedantic and -Wextra options from CMake GCC toolchain template to match the build results produced by STM32CubeIDE. Updated the RIF feature implementation: Integrated the RIF feature for STM32MP2 microprocessors with the STM32MP21-A35-TD, STM32MP21-M33-TD, STM32MP25-M33-TD, and STM32MP23-M33-TD trusted domains. Updated soft
Hi, Im planning on using STM32H747BGT6 in LDO mode only and no USB interfaces will be used. What should I do with SMPS pins (VSSSMPS, VLXSMPS, VDDSMPS, VFBSMPS) and USB supply pins (VDD50_USB and VDD33_USB)? The datasheet nor the application note don't say much about what to do with these pins when not used.Thanks in advance.
I am following getting started guide of this board STM32MP157x-DK2 https://wiki.st.com/stm32mpu/wiki/Getting_started/STM32MP1_boards/STM32MP157x-DK2/Develop_on_Arm%C2%AE_Cortex%C2%AE-A7/Create_a_simple_hello-world_application When I am connecting an ethernet cable, after a while, this error message pops again and again.. "Activation of network connection failed" on Ubuntu machine. I can't see the IP address so I am stuck at this step. 4. Deploy and executescp gtk_hello_world root@<board ip address>:/usr/local
https://wiki.st.com/stm32mpu/wiki/Getting_started/STM32MP1_boards/STM32MP157x-DK2/Develop_on_Arm%C2%AE_Cortex%C2%AE-A7/Create_a_simple_hello-world_application#Deploy_and_execute I am at the last step.Application is building without error and I am successfully able to send it to the board. But when I am executing it on the board, it is giving me below error. root@stm32mp1-e1-a2-8b:/usr/local# su -l weston -c "/usr/local/gtk_hello_world"/usr/local/gtk_hello_world: line 1: ELF: not found/usr/local/gtk_hello_world: line 2: �: not found/usr/local/gtk_hello_world: line 5: syntax error: unterminated quoted string Here is my make output:arm-ostl-linux-gnueabi-gcc -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a7 -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 --sysroot=/home/STM32MPU_workspace/STM32MPU-Ecosystem-v6.1.0/Developer-Package/SDK/sysroots/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi -o gtk_hello_world gtk_hello_world.c -O2 -pipe -g -feliminate-unused-debug-typ
STM32F103C8T6 CAN Not Responding — UART to CAN TestI’m testing a very simple setup with two STM32F103C8T6 (Bluepill) boards.The goal is just to send data from my PC to one STM32 through UART, and then transmit it over CAN to another STM32 board.SetupData flow: PC (PySerial) → UART → STM32 (Transmitter) → CAN Bus → STM32 (Receiver) → UART → PC Hardware used:Two STM32F103C8T6 boardsMCP2551 CAN transceivers120 Ω termination resistors at both endsCommon ground between boardsUART baud: 115200CAN bit rate: 1 Mbps (Prescaler = 2, BS1 = 15, BS2 = 2)What’s WorkingThe PC is successfully sending UART data using Python (PySerial).The STM32 transmitter receives the data correctly — UART works fine.The DMA callbacks trigger as expected, showing that data reception over UART is confirmed.What’s Not WorkingThe CAN bus is not showing any transmission or response.The transmitter’s CAN doesn’t seem to send anything, even though initialization completes without errors.The receiver b
Hi All,I'm new to using the STM32 and honestly had great grief trying to connect to the chip.I'm using STlink V3 and designed my own PCB.Trying to flash a F/W to the PCB. I ordered the PCB from JLCPCB.I keep getting unable to get core ID as a message and I can't figure out why?I seem to be able to connect for a few seconds but than i get a message, unable to get core ID and it disconnects.When I compile a code and try to flash it, it also tells me flash successful but I don't think the code got flashed successfully as the chip doesn't work as expected and also I am still unable to connect to it and i get messages unable to get Core ID.Any help or suggestions? I have the RST connected to GND with a resistor, schematics attached.
I am looking for a motor driver / evaluation board recommendation.My application requires a 3-phase inverter stage for driving a BLDC/PMSM motor.Key requirements are:Input Voltage: 20 V – 30 V DC (nominal 24 V system)Power Stage: 6 separately controllable MOSFETs (3-phase inverter)Control Interface: I want individual gate control for each MOSFET (I will generate my own PWM/FOC control signals).Load: BLDC / PMSM motorCurrent Rating: Medium power (please suggest boards with scalable current capability)I am not looking for an integrated driver IC performing FOC internally — I specifically need access to each gate input so that I can run my own motor control algorithm.If ST has any evaluation boards, power stages, or MOSFET gate driver boards that match this requirement, please recommend model numbers or links.Thanks!
The subject line says it all - any help will be appreciated
Hello ST, I am having some trouble generating two PWM signals for a push pull converter. Ideally I would like the PWM outputs to look like this, I would like the PWM frequency to be 100kHz and a duty cycle range of 0% to 50%. I have connected the push pull converter to PA0 and PA1. First I configure the GPIO Pins, void MX_PWM_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct = {0}; /* Enable clocks */ __HAL_RCC_TIM2_CLK_ENABLE(); __HAL_RCC_GPIOA_CLK_ENABLE(); /* Configure PA0 for TIM2_CH1 */ GPIO_InitStruct.Pin = GPIO_PIN_0; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; GPIO_InitStruct.Alternate = GPIO_AF2_TIM5; //CH1 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); /* Enable clocks */ __HAL_RCC_TIM5_CLK_ENABLE(); /* Configure PA1 for TIM5_CH2 * NOTE: Using CH2 on PA1 to avoid conflict with TIM2_CH1 on PA0 * You can use different pins if needed */ GPIO_InitStruct.Pin = GPIO_PIN_1; G
The datasheet for STM32U585 and 575 list there are two SAI on the chip. In CubeMX I can only see SAI1 (A and B sub-blocks)Datasheet CubeMX pin menu
Hello,Please suggest me some library for NR24L01 which is prefectly working. It should based on C language. I search few posts but many libraries are not working as I could see in comment section. Regards,Manoj Hiwarkar
The debugger is getting stuck on a random line about 350 lines into main(). There is nothing particular about this line of source code except its location, because if I comment out that line it just stops on the next one, and if I add a line it stops earlier. When the debugger is not active, the source runs just fine without stopping in that area. I have deleted all breakpoints and watchpoints. I have set the optimizations to "off". When the debugger is stuck on that line, its status is "running."This is my first time debugging this project after converting from TrueStudio. I may need to switch back if I can't find anything else to try. Any suggestions?
I'm new to STM family, we are bought STM32MP157F-DK2 Discovery kits.We need OpenSTLinux image file where we can get
There is an uninstaller at ~/STMicroelectronics/STM32Cube/STM32CubeProgrammer/uninstaller/uninstaller.jarBut when I java -jar it, it just produce a log then exited, and nothing in the log actually mean anything useful.I see there is a old post about the same issue, but it never got any further.As a software product from an actual company, not provide a working uninstaller is unacceptable.Please fix this or provide a workaround ST.
Hello,I am trying to run a Transformer model with Multi-head self attention on the STM32N6570-DK board.The model is this one : https://github.com/arx7ti/cold-nilmHere is what I did so far:Convert the .ckpt I got from the above repo into a .onnx format.Import and Quantize the model using your ST Edge AI Developer Cloud tool.Try to use stedgeai `generate` command:From the standalone tool on my Linux machineFrom STCubeMX plugginFrom the ST Edge AI Developer Cloud--> None of thoses attempts were succesful. Here is the command I used in the first case:stedgeai analyze --model cold_stm32_float32_final_ready_PerChannel_quant_random_1.onnx --st-neural-art default@user_neuralart_STM32N6570-DK.json --target stm32n6 --name network --workspace workspace --output outputI got several issues that I tried to fix in order to make the Developer Cloud tool quantize my initial onnx model:Removing Constant operationsConverting LayerNormalization layers in compatible layersRemoving Pow operatio
Hi team, I am able to successfully use pre-build binary from this https://github.com/STMicroelectronics/STM32DDRFW-UTIL.git repo for DDR4 with stm32mp257f-evk . but the generated artifacts with stm32 header by manually compiling in stm32cubeide I am facing the issue, After flashing I am not able to enter any command in the serial monitor window. I followed the build procedure explained in the repo's README.mdAs you can see in attached image only this DDR> prompt line is printed in serial port but not accepting any input from user , when I try to enter some command it reinitialized stdin to the same DDR> prompt line.Thank you in advance...!!hoping for a quick reply.
Hi everyone, im using an STM32WB and i just managed to get my own BLE<->UART bridge to "half work".But my problem is about UART managing.If i receive data with length of less than 247bytes(set by me) just stays in the rx bufer and no DMA transfer complete happens.I set up the DMA to listen for the next incoming 247 bytesHAL_UARTEx_ReceiveToIdle_DMA(&huart1, NotifyCharData, RxBuf_SIZE); __HAL_DMA_DISABLE_IT(&hdma_usart1_rx,DMA_IT_HT);//we dont want the half done transaction interruptWhenever the data arrives(stream of data uartRx) ,it gets written into a BLE characteristic, everything works like a charm, but if the last uart received message is less than 247length DMA rx doesnt trigger after an idle time.No IDLE event occurs./** * @brief Receive an amount of data in DMA mode till either the expected number of data is received or an IDLE event occurs. * @note Reception is initiated by this function call. Further progress of reception is achieved thanks * to DMA services,
I’m currently testing my own quantized model on the STM32N6570-DK, using the official X-CUBE-AI application example.All Model Zoo examples (e.g. SSD, image classification) run perfectly with the same firmware and codebase.However, when I replace the model with my own quantized TensorFlow Lite model (Zero-DCE, converted with ST Edge AI Developer Cloud), the inference process freezes — even though the conversion and compilation complete without errors.I’m wondering if there is a hard restriction that prevents models from running when used RAM exceeds the on-chip SRAM (≈ 4.2 MB), even though the report shows that part of the activations are mapped to external HyperRAM.Here are the key parts of my Edge AI Core 2.2.0 generation report:ST Edge AI Core v2.2.0-20266Model name: zerodce_int8_192Total memory usage:----------------------------------------------Total: 11.643 MBWeights: 78.751 KBActivations: 11.566 MBMemory mapping:cpuRAM2 [0x34100000 - 0x34200000]: 1.000 MBnpuRAM3 [0x34200000 - 0x3
Hello,In the STM32CubeC0 v1.4.0, when I enable the BYPSHAD bit in the CR register and later try to deinit the device, I get an ERROR. It does not happen if I disable it before deinitialising. Should I disable it by hand, or is it a mistake and should be cleared as in other families? HAL version is clearing the whole register to the reset value when deinitialising.Best regards,Tomáš
I am trying to drive a 5 inch 800x480 touch display from waveshare using my STM32MP257F-DK development board. My Linux distro is a custom one built using Buildroot via bootlin support.When running `modetest -M stm -c`, I don't get any resolutions printed. Here's what I get:# modetest -M stm -c opened device `STMicroelectronics SoC DRM` on driver `stm` (version 1.0.0 at 20170330) [ 244.014209] EDID block 0 is all zeroes Connectors: id encoder status name size (mm) modes encoders 32 0 connected HDMI-A-1 0x0 0 31 props: 1 EDID: flags: immutable blob blobs: value: 2 DPMS: flags: enum enums: On=0 Standby=1 Suspend=2 Off=3 value: 0 5 link-status: flags: enum enums: Good=0 Bad=1 value: 0 6 non-desktop: flags: immutable range values: 0 1 value: 0 4 TILE: flags: immutable blob blobs: value: 33 dithering: flags: enum enums: Off=0 On=1 value: 0Here's what dmesg logs (Increased logging level using: `echo 4 > /sys/module/drm/parameters/debug`):[ 2
Hopefully this is not a dumb question...I am referencing the example code here:https://github.com/STMicroelectronics/STM32CubeG4/tree/master/Projects/STM32G474E-EVAL/Applications/OpenBootloaderI see the entry point for the the open bootloader app (app_openbootloader.c), but I don't see where the actual core files for the the bootloader are ( ie openbl_core.c)Where would those files be in that project? Do I just download those files from here seperately? https://github.com/STMicroelectronics/stm32-mw-openbl/tree/main/Core
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.