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,// WM8904.c int32_t WM8904_Init(WM8904_Object_t *pObj, WM8904_Init_t *pInit) // ... if ((WM8904_CurrentDevices & WM8904_OUT_HEADPHONE) == WM8904_OUT_HEADPHONE) { ret += WM8904_SetVolume(pObj, VOLUME_OUTPUT, (uint8_t)pInit->Volume); } // ... /* Store current devices */ WM8904_CurrentDevices = (pInit->OutputDevice | pInit->InputDevice); in line 4, WM8904_CurrentDevices is still 0, so the gain is not set.I'd change the line this way: if ((pInit->OutputDevice & WM8904_OUT_HEADPHONE) == WM8904_OUT_HEADPHONE) { ret += WM8904_SetVolume(pObj, VOLUME_OUTPUT, (uint8_t)pInit->Volume); }
Hi,I'm busy with my own BootLoader. I can erase the flash, required to store the program. But writing to the flash causes a HardFault. (I also write to flash in my application to store the configuration. That seems to work, so (normally) I can write to the flash without any problems).My routine looks as follows (msg.Data is the received information from my PC. The contents look fine): HAL_FLASH_Unlock(); uint64_t* pData = (uint64_t*)&msg.Data; while (m_CurrentAddress < tempEndAddress) { HAL_FLASH_Program(FLASH_TYPEPROGRAM_DOUBLEWORD, m_CurrentAddress, *pData); m_CurrentAddress += 8; pData++; } HAL_FLASH_Lock(); The debugger shows this information:I do not know how to (further) debug this information.Thanks in advance.Greetings,ErX
Hello, I am using a STM32MP135F on a custom board which is working well using SD Card (sdmmc1).The SDCard is partitioned as: 1) fsbl12) fsbl23) fip4) bootfs5) rootfsFrom the SDcard system, I try to prepare the eMMC (4GB, sdmmc2).I tried different configurations:- mmcblk1p1boot0 (and boot1) contains fsbl1 (tf-a*.stm32), mmcblk1p1 contains fip => Could NOT find the fip partition! (although it contains the right GUID for fip partition 19...)- mmcblk1p1boot0 contains fsbl1 (tf-a*.stm32) and fip (at offset 256KB => dd seek=512 bs=512) with STM32MP_EMMC_BOOT=1 => FIP magic failed (get_boot_part_fip_header: eMMC boot magic at offset 256K: 0a040001 / boot_mmc: Can't find FIP header on eMMC boot partition. Trying GPT. VERBOSE: MBR boot signature failureVERBOSE: Failed to access image id=3 (-2)ERROR: Failed to parse partition with image id = 3ERROR: Could NOT find the fip partition!- The MMC partconf is:STM32MP> mmc partconf 1 EXT_CSD[179], PARTITION_CONFIG:
Hi everyone,this is my first post, as I have always been able to solve my problems thanks to your help. Unfortunately, I can't find a solution regarding the CubeProgrammer API, which I am currently working on. I am developing an update tool that will use the internal bootloader of a STM32H743. For this, I am developing a C++ programm, using Visual Studio 2026 Version 18.2.0 with .Net Framework Version: 4.8.09221. CubeProgrammer_API.h and all neccessary .dll files are included as described in the documentation. There are no compiler errors or warnings. I used the attached UART example for testing but it is not possible to connect to my device. COM ports are detected by getUsartList function as expected. If I try to connect with function connectUsartBootloader as shown in the example I will get error -5 ( CUBEPROGRAMMER_ERROR_NOT_SUPPORTED ). Nevertheless, it is possible to establish a connection and execute a file upload with STMCubeProgrammer GUI and also with STMCu
I accidentally configured PCROP protection on my STM32H755XIH6 that has effectively locked me out of almost the entire flash memory, and I'm unable to recover using standard methods.Current Situation:Device: STM32H755XIH6 (2MB dual-bank flash: Bank1=1MB, Bank2=1MB)PCROP Settings:Bank 1: PROT_AREA_START1=0x2 (0x08000200) to PROT_AREA_END1=0xFFF (0x080FFFFF)Bank 2: PROT_AREA_START2=0x2 (0x08100200) to PROT_AREA_END2=0x81FFFFF)Available Space: Only 512 bytes per bank (0x08000000-0x080001FF, 0x08100000-0x081001FF)Problem: Almost all of flash is PCROP-protectedI tried the below methods following some other discussion on the forum:STM32CubeProgrammer GUI - option byte modifications fail with "changes can't be applied after OB_LAUNCH" (It connects under reset but I still get changes cant be applied after OB_LAUNCH error)CLI commands to modify PROT_AREA_START/END - all fail with same errorRDP level cycling/regression (0xAA → 0xBB → 0xAA) - completes but
I have a characteristic that supports write and indicate. A command is written to the char, the server responds by indicating the characteristic to the client. I'm using Stm32CubeMonitor-RF 2.19.0 to test the server, but indications always cause a ACI_GATT_PROC_TIMEOUT_EVENT because STM32CubeMonitor-RF does not issue a ACI_GATT_CONFIRM_INDICATION after an indication is received. log file attached.
Hello, i'm trying to using mce encription for external flash. I have the stm32h7s7-dk eval board.my mce configuration for the external memory init; my mce configuration for the boot main I followed the tutorial series https://www.youtube.com/watch?v=JxhKmVUB2Ws&list=PLnMKNibPkDnFQXYK0ztHV9iMVS6EAtKpD&index=10. And i tried allthing and i applied successfully at my eval board. But the mce is so different. In the tutorial the instructor used different board hence the board is using mce1. But i'm using the mce2 because the xspi2 connected mce2. And the mce2 couldnt support the aes.My memory write and memcopy methods;key and other variablesDecrypted result (wrong values, it must be start from ram base)encripted file; Could you help me ?
Hello Community,I would like to understand in general how to activate a peripheral interface such as CAN or FlexRay on the SPC58 platform.I have looked at the example projects and identified a few required steps.However, I would like to confirm whether I covered all major points needed to enable a peripheral.Configuring the PinMux using the PinMap editor → connecting the hardware pins to the selected communication interfaceEnabling the peripheral clock using the corresponding PCTL indexIs this enough to connect the hardware pins to the selected communication interface?Thanks for your help!Best regards,TKORN
Hi STM Community, I’m currently working with the NUCLEO-G491RE board and need some guidance regarding DFU (Device Firmware Update) mode. According to the documentation, CN2 is marked as the DFU connector. Based on that, I have soldered 4 pins on CN2. I also have a USB Type-C female breakout board, and I’d like to connect it properly to CN2. USB Type-C Female Breakout Board. However, I’m a bit confused about the following points: CN2 pin mapping Which pin on CN2 corresponds to GND, D+, D-, and 3.3V / VBUS? Entering DFU mode What are the exact steps to put the NUCLEO-G491RE into DFU (Device Firmware Update) mode? Do I need to configure BOOT0, jumpers, or any CubeMX settings for this? At the moment, when I connect the board to my PC using the USB breakout, the device is detected as an “Unknown USB Device”, so I assume I’m missing something in either the wiring or configuration. I would really appreciate it if someone could: Clarify the CN2 pinout, and Explain the cor
Split from Issue with UART/USB Rx interrupt in STM32F407VGT6 and using DP83848 LWIP stack - which was solved some time ago.@Satya_VVM can you help me with the same project.I am working on UART to ethernet convertor but I am not able to find any reference .
Hey, our team is working with TouchGFX Designer (4.19.1) and IAR IDE.TouchGFX assets include 50 MB of images, videos, fonts and texts.We are trying to find a way to change the app without touching and flashing TouchGFX assets.The TouchGFX should stay constant while only the app code itself changes.Meaning compiling the code without compiling TouchGFX assets again to get a smaller hex file to flash/store, and current TouchGFX assets that are stored in the external memory will work, so basically we want to exclude all TextFlashSection, ExtFlashSection and FontFlashSection files from compilation.The main goal is to store a backup version of the code inside the internal flash for cases of software updates, so we want to compile only the app code.Is it related to the linker file or some other configuration file?
Techsupport ignored my request, so I have to come here. The part is ECMF02-2AMX6. It is CM choke plus ESD surge protector for USB2. Here's the question: in the datasheet from June 2011 Doc ID 17815 Rev 2, this is the recommended layout is shown (see the image).As can be seen, pins 3&4 are connected to GND (3 VIAs are being used).However the Pin 4 is declared "NC". In the text this is not addressed. My request to the support was not answered.THis is fairly important. If the pin i named "NC", it means "No Connect" unless the opposite openly explained in the text of the datasheet.Waiting for an answer.
I'm currently looking at something like thisSTM32N657A0But they sell a non AI accelerator version STM32N655A0Is there any benefits to using the non AI version of the chip. Other then saving a few dollars on the chip?
According to BLE spec, whitelisting is not related to paired or bonded devices. Our application uses the advertisement and scanning for sensor beaconing application. STM32WB55 is not able to scan the interested sensors by whitelisting. STM32WB is not supporting whitelisting in advertisement scanning.Now with scanning I am getting too many advertisement reports in the bluetooth dense environment.
Hello guys,I am using Ethernet and USB together. Ethernet in rmii mode without RTOS and Using USB as cdc,after flashing the program it runs normally but when i ping or Access the IP from web :spider_web: it goes to hard fault handler If USB init () is Commented then everything is working fine but when uncommented it goes to hard fault handlerso i want the solution to use USB and Ethernet simultaneously and can it be used without RTOS or should we use RTOS?
I'm trying to develop a basic PDM microphone to PCM audio data application on the NUCLEO-U575ZI-Q development board. I have tried to adapt the ADF_AudioRecorder application designed for the STM32U575I-EV and found at https://github.com/STMicroelectronics/STM32CubeU5/tree/5107fbd316d605704bb4c3ebf2126d4d1ba0e763/Projects/STM32U575I-EV/Examples/MDF/ADF_AudioRecorder I can generate the ADF CCK0 clock output on PE09 (confirmed 1.01 MHz with my oscilloscope) and when connected to my PDM microphone, see the PDM output on its DATA line, also using my oscilloscope, and connect this to PE10. Because I have no SAI and no audio CODEC attached, I just want to save the PCM formatted samples to memory at the moment, with a view to exporting over the VCOM port for verification in future. However, I'm stuck at the point of creating the samples. From the .ioc file attached, you should be able to see my configuration is, aside from the SAI, very similar to the example for the other U5 dev boar
Dear ST Support Team,We are currently working with the STM32N657X0H3Q1 controller and configuring TouchGFX to use an external RAM device.The external memory used in our design is S80KS5123GABHB020 (512 MB Octal RAM) connected via XSPI. The external RAM is intended to be used for TouchGFX frame buffers and graphics-related data.While configuring TouchGFX with the external memory in STM32CubeMX / application code, we need to set the base address of the external RAM. However, we would like clarification on the following point:What is the correct memory-mapped base address that should be configured for the external RAM (S80KS5123GABHB020) when used with the STM32N657X0H3Q1 for TouchGFX ?Is this address fixed by the STM32N6 memory map, or does it depend on the XSPI instance and configuration (XSPI1 / XSPI2)?Are there any specific recommendations or constraints for using this external RAM as TouchGFX frame buffer memory?Your guidance on the correct address configuration and any best practice
Is there any example how to create any simple animation? I would like to get object in motion using static isometric view. Object based on the few outlines of rectangles outlines with painter or putting the texture on it. I need to rotate one pseudo 3D rectangle in reference to the other. It is not so hard for 500MHz CPU, the issue comes with additional effects like lighting but it is not so important.
I just flashed the end node of the P nucleo LRWAN 3 with the AT master firmware, but I am still unable to send AT commands via my terminal to reconfigure some parameters of the end node. I also made sure I set up all the necessary parameters in the terraterm software correctly and I am still not able to communicate with the end node via terminal using AT commands.
Hi,We're using STM32MP157FAA1 for our products. our kernel version version is 5.15 & dunfell Yocto. Our system requirement is to enable a pwm using lptimer [ PD13 ] that serves even in low power mode. below are our queries:1. As we understood it needs LSI/LSE to be enabled. is it correct? if it is so, should the clock be exposed via TFA? 2. Our changes are as below & attached. but still we dont see PWM generated & we see below error in console dmesg. root@e40-guadalupe-v2:~# dmesg | grep -i failsafe[ 1.371396] failsafe-clock fail-safe-clk: PWM not available (-22), trying GPIO mode kernel changes: /* Failsafe clock using LPTIMER1 PWM with LSE for stop mode *//* Falls back to GPIO if PWM not available (TF-A not updated yet) */fail_safe_clk: fail-safe-clk {compatible = "lennox,failsafe-clock";/* LSE @ 32.768kHz: 100Hz = 327.68 cycles ≈ 10.01ms period */pwms = <&lptimer1 0 10010000 0>; /* Channel 0, ~10ms period (100Hz),
STM32H747XIH6 touchGFX, project root directory, two seperated CM4 and CM7, touchGFX under CM7, when touchGFX designer create code, always to search .cproject under root directory, (.ioc is here, but no .cproject, only .project), under CM7 exist .cproject and .project! this cause touchGFX designer code generate fail!
Hello, Board: NUCLEO-WL55JC2 (2 boards)MCU: STM32WL55JCIDE: STM32CubeIDEProgramming: Bare-metal C or Cube IDE(C/C++) Goal:I want a minimal RF example using two NUCLEO-WL55JC2 boards where one board transmits a simple message and the other receives it and for example toggles an LED . I searched on ST website and GitHub, but most available examples are full LoRaWAN stacks. I could not find a simple RF Tx/Rx reference similar to an LED blink example. I have not written RF code yet and am looking for an official ST reference to start from.Suggest any website reference or youtube videos where i can understand it clearly. Questions:1. Is there an official ST RF Tx/Rx example for NUCLEO-WL55JC2?2. Any recommended CubeWL example or GitHub repository?3. Which example is best for learning basic RF communication? 4. Should i need to use the RF like NRF24L01 Transcever or does it supports? Thanks in advance.
After installing under STM32Cube key actions, and all other headings, "There is no data provider registered that can provide view data." is displayed. I have tried adding the path to Cube MX. In the STM32Cube Core plugin, runtime status shows not yet activated. Manually activating does not work. Running on Windows 11 arm64.If I roll back to a version 2, everything seems to function, however I need version 3 working. Any suggestions?
Hi Team,This is Vamsi. I am using a smart display with the STM32C091 MCU and would like to implement OTA updates for this chipset. Could you please suggest the best possible way to achieve this?
Question moved from this post. Hi @mƎALLEm ,I am using STMCubeIDE with cubeMX, in that there is no such configuration for VREFBUF. is there any alternative way for that?
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.