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 dear,I created a project by selecting CMake as the toolchain and ST-ARM-CLANG as the compiler using the STM32Cube extension for VS Code (3.7.0) on macOS. Attached below are my configuration settings. The project builds successfully without any issues in the terminal. However, I am seeing the following error in the VS Code editor:"error: unknown argument: '--multi-lib-config=...'""message": "Unknown argument: '--multi-lib-config=/Users/myName/Library/Application Support/stm32cube/bundles/st-arm-clang-hybrid-19_1_6-description/0.0.6+st.1/etc/multilib.gnu_tools_for_stm32.yaml'",clang(drv_unknown_argument) Please let me know if there`s a solution for this. Thanks! Also, I would like to know how to enable float support for printf() in the CMake-based ST-ARM-CLANG environment.
Dear ST Support Team,I am currently working with the STM32N657X0H3 microcontroller.We are attempting to use the internal 4.2 MB continuous SRAM (starting at address 0x34000000) as the framebuffer for LTDC.The procedure followed is:• Writing pixel data into internal SRAM at 0x34000000• Configuring LTDC_Layer1->CFBAR with the same framebuffer address• Enabling LTDC and RGB outputHowever, when using the internal SRAM (0x34000000) as the framebuffer, the RGB output signals remain inactive.When we configure the framebuffer in DTCM memory (as mentioned in the reference manual), the RGB signals become active and function as expected.However, the DTCM memory size is very small and not sufficient to hold a full framebuffer for our display resolution. Therefore, using DTCM is not a practical solution for our application.We have verified the following:• AXI read/write test passes successfully• Framebuffer base address is correctly configured• LTDC timing configuration is correct• RGB pin confi
Hi, I am using STM32CubeMX 6.16.1 with a STM32H503RB and I have exactly the same problem : RCC is configured with LL library (not HAL), here is the SystemClock_Config() function generated by STM32CubeMX : void SystemClock_Config (void) { LL_FLASH_SetLatency(LL_FLASH_LATENCY_5); while (LL_FLASH_GetLatency() != LL_FLASH_LATENCY_5) { } LL_PWR_SetRegulVoltageScaling(LL_PWR_REGU_VOLTAGE_SCALE0); while (LL_PWR_IsActiveFlag_VOS() == 0) { } LL_RCC_HSE_Enable(); /* Wait till HSE is ready */ while (LL_RCC_HSE_IsReady() != 1) { } LL_RCC_LSI_Enable(); /* Wait till LSI is ready */ while (LL_RCC_LSI_IsReady() != 1) { } LL_RCC_PLL1_SetSource(LL_RCC_PLL1SOURCE_HSE); LL_RCC_PLL1_SetVCOInputRange(LL_RCC_PLLINPUTRANGE_2_4); LL_RCC_PLL1_SetVCOOutputRange(LL_RCC_PLLVCORANGE_WIDE); LL_RCC_PLL1_SetM(12); LL_RCC_PLL1_SetN(250); LL_RCC_PLL1_SetP(2); LL_RCC_PLL1_SetQ(4); LL_RCC_PLL1_SetR(2); LL_RCC_PLL1P_Enable(); LL_RCC_PLL1_Enable(); /* Wait till PLL is read
Hi ST Community,I’m working with STM32WBA (STM32WPAN / BlueNRG-style stack APIs). I’m using Extended Advertising on the peripheral (connectable + scannable, secondary PHY = Coded) and a STM32WBA central that scans and then calls aci_gap_create_connection().ProblemConnection is intermittent: sometimes it connects, but often the peripheral prints multiple times:HCI_DISCONNECTION_COMPLETE_EVT_CODE - Connection Handle: 0x01 - Reason: 0x3E (repeats 4–5 times)The central does retries very often, so the peripheral sees repeated disconnect events before it finally connects.Setup detailsPeripheral (Extended Advertising)Advertising set configured as connectable + scannable:u16Property = HCI_ADV_EVENT_PROP_CONNECTABLE | HCI_ADV_EVENT_PROP_SCANNABLE;Primary PHY = 1M, Secondary PHY = Coded (0x03):aci_gap_adv_set_configuration(..., primaryPHY=0x00, secondaryPHY=0x03, ...)Address type used in advertising set:u8AddressType = GAP_STATIC_RANDOM_ADDR;Advertising channels 37/38/39 enabledTX power se
Hello ST team,I am using Nucleo H753zi board, and I wanted to use X-CUBE-MEMSMIC1 expansion for sound source localization.I have already designed simple PCB to use MEMs microphone and connect it to H7 board's ADC. I want to understand how I can program my board to use 4 mics- GCC-PHAT algorithm to get location of sound source. I have gone through UM2212 and UM1901. Due to lack of experience in this field, can you guide me through how I can use this X-CUBE-MEMSMIC1 expansion for sound source localization? I found this diagram helpful and would like to understand how should I code to feed data from cache to Acoustic SL for processing.
i have issue like i can't generate adc value and i have issue like showing target not founded and my stlink is not connecting with stm32programer
Hi all!I'm handling project which use communicate RMII TCP/IP. if i set up CPU clock is 200Mhz as picture 1, the system run OK, i can ping network but my system require CPU clock is 400Mhz. if i set up CPU clock is 400Mhz, the connection between board and serve was intermitten. can you help to take alook and share me solution to set CPU clock 400Mhz and can run RMII.
According to Datasheet, I2C of STM32F413VGT can be increased to 1 MHz, is it possible?
Hi ST team,I am trying to develop a secure bootloader and firmware update solution for STM32H735 MCU. I was looking at ST's implementations, SBSFU legacy and SBSFU by MCUboot. Could you give me some guidance, which would be the better choice to start from and port to my chip? I saw that SBSFU by MCUboot is targeted only to STM32H7S, and not STM32H7, so I assume if I want to go with MCUBoot, most of the code built on top of MCUBoot by ST is not going to be usable for me, is that correct?I need these features for the bootloader:immutable bootloader implementationapplication authentication (using signature verification)secure application updateanti-rollback protectionA/B update scheme to provide a fallback optionPreferably support for TCP communication for image download (or allowing easy integration for it)Thank you for your help.
안녕하세요. 저는 개인 개발자 입니다. 이번에 steval ctm051 보드를 구입해서 srm 을 공부하려는 데 소스코드를 제공할 수 있다고 해서 어떻게하면 소스코드를 제공 받을 수 있는지 알려 주시면 감사하겠습니다. Please note that the forum is English-speaking, which is why I have machine-translated your question into English: Hello. I am an individual developer. I recently purchased the steval-ctm051 board and would like to study SRM. I was told that the source code can be provided, so I would appreciate it if you could let me know how I can obtain the source code.
Hello, I'm looking for some advice on how to progress, beginning from a fairly novice position, with a secure bootloader. I'm beginning a project where at least a secure update process (where the existing application does the update) is desired. Ideally I'd have an encrypted and signed application updates being delivered to my target application and put that away in flash, then reset the MCU and have a bootloader validate / process the update. I've found Zephyr and had a small play with the MCUBoot -- its seem pretty cool, though I also found that some combinations of options created interesting build failures that were confusing. I've just stumbled across the SBSFU project - which appears to utilise some of MCUBoot, but I'm having a slow time making sense of it, with its half a dozens projects and plethora of source files. If there is not a STM project that can be configured and directly used on the U575 -- I'm hoping there is at least an overview / walk
Hello everyone, I am new to STM32 and recently purchased the STM32 NUCLEO‑F446RE development board to start learning microcontrollers. While studying the clock configuration, I saw the option to use HSE (High Speed External oscillator). Since I am a beginner, I searched about it and found suggestions saying that I may need to add an external crystal and capacitors and solder them onto the Nucleo board. However, I am not sure whether this is actually required for this board. I also read that the Nucleo board might provide an 8 MHz clock from the onboard ST-LINK via MCO, which can be used as the HSE source. So I would like to clarify: Do I need to add an external crystal oscillator to use HSE on this board? If yes, what crystal frequency and capacitor values are recommended? Can anyone suggest reliable components or purchase links for the required oscillator? I would appreciate any guidance. Thank you!
I had a Windows account with a space in user folder name (between forename and surname). VScode was installed under AppData subfolder. As a result CMake generated paths like this into compile_commands.json:"command": "C:\\Users\\MIKKLE~1\\AppData\\Local\\STM32C~1\\bundles\\GNU-TO~2\\1431_S~1.2\\bin\\AR19DD~1.EXE -DDEBUG....Most of the things worked (compiling and debugging), but vscode highlighted that it can't find includes like these:#include <stdio.h>#include <assert.h>To be correct, clangd language server couldn't find them. Absence of these headers caused further errors. But when resolving other headers like stdint.h, clangd found them from st-arm-clangd bundle folder instead of compiler folder.The workaround was to add the very same shortened path as query driver into .vscode\settings.json: "--query-driver=C:\\Users\\MIKKLE~1\\AppData\\Local\\STM32C~1\\bundles\\GNU-TO~2\\1431_S~1.2\\bin\\AR19DD~1.EXE"It solved the clangd issue temporarily until ST tools rewrote s
When I calling NVIC_SystemReset() in the os task, the system will enter into hard fault handler error, so I have to call NVIC_SystemReset() again in the HardFault_Handler() to reset the system, so what is the proper way to call NVIC_SystemReset() in the os task?
Upgraded STM32CubeIDE to 2.0.0 and struggling with issues!Installed CubeMX as a standalone program too. Now I'm confused how to create a STM32 project and as usual select C++ as the target language. 1- Should I start from the IDE? There'll be no .ioc file then!2- Should I start from CudeMX? There'll be no option to select C++ as the target language! How to fix it?My purpose is to keep main.c, create .hpp, .cpp files and include the header in main.c to be able to call the functions defined in the .cpp file.
The STRD/LDRD instructions store and load a 64-bit value. Internally, they are broken up into 2x 32-bit accesses.Since the element size is a word and not a double-word, they are not atomic in the same way that a uint32_t is atomic. Questions are:Is this instruction interruptible between the first and second 32-bit accesses?If the instruction does get interrupted, does it restart or resume? If it restarts, it will re-write the first word, for a total of 3x 32-bit accesses. If it resumes, it will only write the last word.The ARM reference manual has this to say on the subject:https://developer.arm.com/documentation/ddi0403/latestTo me, it seems they are restarted based on this text, but the two "might" words here leave ambiguity. But let's not rely on manuals or what people say on the internet. What actually happens in the hardware?
We are using the NUCLEO-H753ZI family of boards with the specific MCU being STM32H753ZIT6. We were following this tutorial: https://community.st.com/t5/stm32-mcus/how-to-create-a-project-for-stm32h7-with-ethernet-and-lwip-stack/ta-p/49308/page/2/show-comments/true The difference between the hardware used in the tutorial and the hardware we use is that instead MII, which is what is used in the tutorial, we are using RMII Even though we were following the tutorial to the dot, our implementation is still not working. We have reverted back from the lasted implementation of STM32CubeIDE to STM32CubeIDE 1.9.0 as mentioned in the tutorial as well. CURRENT DIAGNOSIS: We have confirmed with a digital oscilloscope that when we are pinging the STM32H753ZIT6, the CRS_DV Pin, which is pin 11, is not going high at all. We have observed, using the oscilloscope, that in our PHY (LAN8742A) on pin 8 that we are able to receive packets and that it is unable to transmit packets using TX pins. T
I am wishing to write two floating point values to flash memory at time. I understand it is best to write 64 bits at a time, hence my writing two floats at once. This question is about using a union to structure the data. This code won't compile for the STM32L412KB. Could someone please show me where I am going wrong? error on line 17. Thanks.struct dual { float v1; float v2; }; struct dual two_readings = {1.23, 4.56}; union gemini { struct dual left; uint64_t right; }; union gemini value; value.right=0;
Hello everyone,I’m working with the STM32N6570-DK and trying to bring up a TouchGFX project by following the official STM tutorial:https://www.youtube.com/watch?v=NFljjd_vQGAI generated the project with TouchGFX Designer and programmed the board using STM32CubeProgrammer exactly as shown in this one:FSBL flashed at address: 0x7000 0000Application flashed at address: 0x7010 0000The flashing process completes without any errors.However, when the board boots, the GUI is completely corrupted. The display only shows colored noise/static like in the video I attached.It seems like framebuffer data, LTDC configuration, cache handling, or memory mapping might be wrong… but everything was generated by TouchGFX. Any guidance would be greatly appreciated.Thank you!
Hi everyone,i am using the stm32g0b1cet6 controller. in which I am working with flash memory. I am using the FLASH_WaitForLastOperation function. In that function, one flash SR register's CFGBSY bit is not reset, and due to that all other flash write and erase processes it not working. this issue is coming randomly. before calling FLASH_WaitForLastOperation function I am clearing error flags as shown below __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_OPTVERR);__HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_OPERR);__HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_PROGERR);__HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_WRPERR);__HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_PGAERR); __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_SIZERR);__HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_PGSERR);__HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_MISERR);__HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_FASTERR);__HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_RDERR); can someone please provide some input ASAP.
I am able to receive UDP unicast packets on the Nucleo-h563ZI using the netconn API, however I cannot receive broadcast UDP packets (global or subnet). I have attached my lwiopts.h for reference along with the relevant discovery service code below. Note that netif->flags has NETIF_FLAG_BROADCAST set in addition to NETIF_FLAG_ETHARP. I was unable to find any broadcast related settings in the IOC file for the ETH peripheral nor related HAL_ETH_xyz calls. I did try enabling broadcast in the MACFilter, but this had no effect.#define NET_TASK_DISCO_PORT (5555) #define NET_TASK_DISCO_REQUEST "SCPI_DISCOVERY" #define NET_TASK_DISCO_RESPONSE "SCPI_DEVICE" #define NET_TASK_DISCO_RESP_LENGTH (64) // // @brief Discovery application // @return none // static void disco(void *pArgument) { char response[NET_TASK_DISCO_RESP_LENGTH]; uint16_t length; void *pBuffer; void *pSend; struct netbuf *prBuffer; struct netbuf *prSend; trNet *prNet = (trNet*)pArgument; // V
I have successfully tested the board that is based on STM32H750B-DK Architecture using Touchgfx based code demo for STM32H750B-DK but now I have created a fresh stm32cubemx project with same files and settings and same ld as of the demo board but the Code is getting stucked at the static int32_t MT48LC4M32B2_Delay(uint32_t Delay){ uint32_t tickstart;tickstart = HAL_GetTick();while((HAL_GetTick() - tickstart) < Delay){}return MT48LC4M32B2_OK;}What could be the problem?
Hello everyone,im trying to send a simple "Hello World" via UART to my Laptop and read in the PuTTY Terminal on my on NUCLEO-H7S3L8 Board, But i tried everything, i cant revieve anything!!! Tried every UART/USART Port in the CubeMX. Nothing on my other NUCLEO-F303RE worked it instantly. These are settings in the CubeMX. i Used USART3 and selected Pins PD8 and PD9. i connected the Board to my Laptop. Set the Baud Rate to 115200 and also looked up the correct COM Port. Here is the test code and see Screenshots below. Maybe something in the CubeProgrammer??? UART_HandleTypeDef huart3; /* USER CODE BEGIN PV */uint8_t tx_buffer[] = "Hello World!\r\n"; ... while (1){/* USER CODE END WHILE */HAL_UART_Transmit(&huart3, tx_buffer, sizeof(tx_buffer), 100);HAL_Delay(100); /* USER CODE BEGIN 3 */}/* USER CODE END 3 */}
This is the pinout for the STM32F469I-DISCO and OV2640, I have been able to find pins for most of them but am having trouble:DCMI Pinout: (Pin function : Actual pin name)DCMI_D0 : PC6DCMI_D1: PC7DCMI_D2: PG10DCMI_D3: PG11DCMI_D4: MissingDCMI_D5: PD3DCMI_D6: Conflict with PB8DCMI_D7: Conflict with PB9DCMI_VSYNC: PG9DCMI_HSYNC: PA4DCMI_PIXCLK: PA6RCC_MCO_1: PA8 (Note: we can use this pin to generate the XCLK signal needed by the OV2640SIOC: PB8SIOD: PB9I would appreciate it if anyone has a solution for this, thanks
Hello everyone,I have a custom board based on STM32MP157A (rev. Z) and I am trying to boot from emmc; I am able to boot sucessfully from SD card; I flashed the same image to the emmc with the ST MX Cube Programmer and, if get into u-boot from SD card, I am able to inspect the partitions and information of the emmc (see below), but whenever I set the boot pins to 010 I get no messages on the serial UART, while the emmc seems to be powered. STM32MP> mmc list STM32 SD/MMC: 0 (SD) STM32 SD/MMC: 1 (eMMC) STM32MP> mmc info Device: STM32 SD/MMC Manufacturer ID: 2 OEM: 544d Name: SA04G Bus Speed: 50000000 Mode: SD High Speed (50MHz) Rd Block Len: 512 SD version 3.0 High Capacity: Yes Capacity: 3.6 GiB Bus Width: 4-bit Erase Group Size: 512 Bytes STM32MP> mmc dev 1 switch to partitions #0, OK mmc1(part 0) is current device STM32MP> mmc info Device: STM32 SD/MMC Manufacturer ID: 45 OEM: 100 Name: DG400 Bus Speed: 52000000 Mode: MMC High Speed (52MHz) Rd Block Len: 512 MMC version 5.1
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.