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,I am using one ADC with multiple channels on an STM32 device. I configured a timer trigger (external trigger) for the ADC, but I noticed that the trigger seems to apply to all channels of the same ADC, not just the selected channel.I would like to confirm:Is it true that one ADC has only one trigger source, and all configured channels share that trigger?Is it possible to configure different sampling/trigger properties per channel, or is the external trigger common for the entire ADC conversion sequence?My goal is to use different trigger timing per channel, but I am using only one ADC peripheral.Thank you.
Hi I have setup a small project in CubeMX v6.17.0 with FSBL and an application (secure domain only). As long as I use the default Flash and RAM region, debugging works fine. ROM (xrw) : ORIGIN = 0x34000400, LENGTH = 511K RAM (xrw) : ORIGIN = 0x34080000, LENGTH = 1536KIn the future the application will be way bigger (using TouchGFX), therfore I increased the Flash Region to 1.5 MB and the RAM Region will start at 0x34200000 with a length of 1.5 MB as well. ROM (xrw) : ORIGIN = 0x34000400, LENGTH = 1536K RAM (xrw) : ORIGIN = 0x34200000, LENGTH = 1536KSince I made this change it is not possible to step into the application. FSBL works well and is loading the App data from external Flash into SRAM (0x34000000) as requested. After jumping into the app connection to target is lost as soon as SystemInit funciton is called. Debugger can't write any more: Cannot remove breakpoints because program is no longer writable. Further execution is probably impossible. 0x3400095a
The boot fail light doesn't seem to function the way i would think it would. When* boot 0 == 0* boot 1 == 0* entire external flash == 0xff* using STM32N6-DK The boot fail light never seems to stay on? My thought is that part of the ROM would read the data from the flash do a CRC on the data and then if it matched then turn the light off. But it always seems to turn the boot fail led off no matter whats in the flash?
Hi folks,I am working on integrating SBSFU with my application. I've got one internal slot and one external slot. The update file is received fine, the header is written to the swap area to be installed after the reset. The reset occurs, SBSFU finds the header, decrypts the update file and swaps the file.However.. it gets stuck at SFU_IMG_Validation, writing the `pTestHeader` to `SLOT_ACTIVE_1_HEADER` address and triggers `SFU_IMG_FLASH_WRITE_FAILED` in `sfu_fwimg_common.c`.I assume that this part of flash is write protected? But I cannot find any mention of this in the SBSFU guides or files. It would be great if someone can help me figure out how to finalize this.09:35:13.652 > = [SBOOT] RuntimeProtections: 0 09:35:46.801 > 74640 bytes of ciphertext decrypted. 09:35:54.301 > Image preparation done. 09:35:54.301 > Swapping the firmware images.................................. 09:35:54.397 > Address = 0801D000, FwSize = 74640, len = 192 <-- added debug info 09:35:54.39
Title edited to reflect that this relates specifically to the NUCLEO-G070RB board.NUCLEO-G070RB in this board ADC channel 0,1 working ,other ADC channel not working is they any reason?
Mostly i have to use my device with battery. So i need to operate it as low-power as possible. When doing this low-power process(either standby-stop-or sleep deeep sleep etc. i have no experience about these modes), one ADC reading is critical for me. I always have to measure that ADC reading. How should i create the logic? After makins some research, most of peripherals are disabled during standby(i can not verify this if it was true or not). I think that i need a wake-up source to exit standby-stop or sleep modes. How should i configure this wake-up mechanism? Firstly i was plannig to use ADC as an wake-up source but i am not sure if it was true or not? Can you guide me to better options?
Hi,I am building a program that can flash new firmware onto a STM32H743ZIT6 via CAN. It does so by utilizing the dual bank feature and ping-ponging between bank 1 and bank 2. It receives the firmware via CAN and buffers it. Before writing it to the inactive bank it first erases said bank.When running form bank 1 this works just fine and it is able to reboot to the newly flashed bank. When going from bank 2 back to bank 1 however, it encounters an issue. It crashes in the erase step and will not restart.After I manually disable the SWAP_BANK bit using STM32CubeProgrammer it runs again on bank 1 without flashing again. This (I think) tells me it is deleting bank 2 while also running on it.Attached you find the function in question, do you have any idea where i went wrong? void foc_erase_inactive_bank() { // Determine inactive bank from SWAP_BANK bit uint8_t inactive_bank = (FLASH->OPTCR & FLASH_OPTCR_SWAP_BANK) ? 1 : 2; uint32_t bank_to_erase = (inactive_bank == 1) ? FLASH
Hi,Having just updated to STM32CubeIDE 2.1.1, I've created an STM32CubeIDE Empty Project (the only apparent relevant option) targeting the STM32F072 Discovery Kit as I want to experiment with the touch sensing capabilities, however when the project is created I don't see an IOC file. Has the workflow reverted to using STM32CubeMX to create the IOC file etc. please?Kind regards,Al
So I have the STM32 CUBE suite - and I remember there is a means to select example projects to start from.HOWEVER - I cannot find that any more :(Mr Google tells me to do this:Start STM32-CUBE, select FILE->NEW->OTHER->Create New STM32 ProjectThis does not provide me with ready made examples to choose from. These are very stripped down, not even hello world, just a main() with a endless for(;;) loop. With the default oscillator/clock.I'm sure you have seen the BOARD selector, you select the chip, the board and you can pick examplesThat is what I am looking for. Where is that?
Hi all,I’m working on STM32U385 with OEMiRoT and following this ST wiki page:https://wiki.st.com/stm32mcu/wiki/Security:How_to_adapt_a_user_application_to_ROT_for_STM32U3However, I cannot see any of the images/diagrams in the page (they appear blank or missing).I tried different browsers (Chrome, Edge, Firefox) and different PCs, but the issue remains.Can someone confirm if the images are visible on their side, or if this is a known issue with the wiki page?The diagrams are quite important to understand the ROT/OEMiRoT flow and flash layout.Thanks in advance.Marco Giacomin
Hello, The board revision I am using is MB1370-lcd-b02 a254300030. I am working with the STM32H7B3I-EVAL board and using TouchGFX (TouchGFX Designer). I have created a simple screen in TouchGFX, and: The simulation runs correctly on PC The project builds successfully in STM32CubeIDE The code flashes successfully to the board However, on hardware: The TFT backlight turns ON But no UI is displayed (screen is blank)
Hello Community,I'm working on a storage module using SDcard for my project. In my application I would like to read and write to the SDcard using the MDMA as indicated in the reference manual of my micro-controller. For now I have the SDcard working in 4-bit mode but using the CPU.I use the STM32H757II on a PCB connected to a SDcard reader on the same PCB.With CubeMX I generated the code that allow me to mount a FATFS on my microcontroller and I can create/open/write/read on file with no problem.But my application needs to log a lot of data to the sdcard periodically, to free-up the CPU I would like to do the transfer using a DMA.In the reference manual 58.5.7 MDMA request generation it is explained that the MDMA can control the SDMMC peripheral to start new transfer"The internal trigger lines from the SDMMC allow passing direct request to MDMA controllerto enable successive transfers from/to different internal RAM addresses without CPU use. [...]The event can trigger the clearance of
Hello All,On the STM32U575 is there any guidance regarding use of external resistors? I don't see any on the reference design so I didn't put it on my board either. USB data rates are fairly slow, is impedance matching even required?We are using TinyUSB so that we can avoid the RTOS and it works fine mostly, but occasional USB disconnects. We discovered by accident using a longer cable seems to resolve this. I am wondering if it is a fluke or if there is some rational reason for this.Thanks!
Hi,I am currently testing OEMiROT and I performed the following 3 tests.Test 1: Default example(Overwrite mode enabled + separate Secure and Non-Secure applications)How to start with OEMiRoT on STM32U3 - stm32mcuProject:OEMiROT_Appli_TrustZoneOEMiROT_BootConfiguration:#define MCUBOOT_OVERWRITE_ONLY /* Defined: FW installation uses overwrite method. Undefined: FW installation uses swap mode. */ #define MCUBOOT_APP_IMAGE_NUMBER 2 /* 1: S application only if FLASH_NS_PARTITION_SIZE = 0, otherwise S and NS binaries assembled in one single image. 2: Two separated images for S and NS applications. */ #define MCUBOOT_S_DATA_IMAGE_NUMBER 0 #define MCUBOOT_NS_DATA_IMAGE_NUMBER 0This test works correctly.Test 2:(Swap mode enabled + separate Secure and Non-Secure applications)Project:OEMiROT_Appli_TrustZoneOEMiROT_Boot/* #define MCUBOOT_OVERWRITE_ONLY */ /* Undefined: FW installation uses swap mode. */ #define MCUBOOT_APP_IMAGE_NUMBER 2 #define MCUBOOT_S_DATA_IMAGE_NUMBER 0 #define MCUBOOT
good morning!Where can I get information about the datacode of such a chip ST1L05CPU33R?There is no information about the marking in the technical documentation.
Device: STM32H7A3LIH6Q (TFBGA225) Tools: STM32CubeProgrammer v2.22, STLINK-V3MINIE, OpenOCD 0.12.0 IDE: STM32CubeIDE / HAL Custom PCB, 4 boards affected identicallySummaryAfter approximately 20 successful flash/debug cycles, all 4 of our custom boards became permanently unreachable via SWD. The MCU continues to run user code normally (UART/VCP output visible), VCAP voltage is nominal, but the ST-LINK cannot connect in any mode. The UART bootloader is functional and we can flash via UART. SWD remains dead even after mass erase with blank flash.Hardware ConfigurationVLXSMPS connected via 2.2µH inductor to VDDLDO and VFBSMPSVCAP decoupling caps presentNRST connected to STLINK-V3MINIEBOOT0 accessible and functionalNo USB connector on boardRoot Cause IdentifiedOur firmware was using the wrong power supply configuration:// Wrong — was in our code: HAL_PWREx_ConfigSupply(PWR_SMPS_1V8_SUPPLIES_EXT_AND_LDO); // Correct for our hardware topology: HAL_PWREx_ConfigSupply(PWR_SMPS_1V8_SUPPLIES_LDO
Hello everyone, I am currently working on a fully isolated motor driver using an STM32G474RE. I need to interface the AMC1301differential output to the MCU in a way that ensures accurate measurements. What is the best approach to achieve this? Also in mc workbench app, MCU opamp -> ADC hardware variant for Current sense -> InternalOpamps -> Differential -> InternalPGA. Or I will make the diff to single like in other picture wich looks easier. Also looks same with design below.
I am planning to use STM32U083CC series MCU in my project and after inspecting datasheet there is a line "Vddusb should be preferably connected to Vdd when the USB is not used)". I know that Vddusb is independent from Vdd but is it omitted that i can not use Vdd for Vddusb? I mean should i need extra AMS1117 3.3 for instance to feed Vddusb?
I am experiencing an issue with ADC3 multi-channel scan mode on a custom STM32H745 board (LDO power supply). The same code works perfectly on the Nucleo-H745ZI reference board (SMPS power supply), but fails on my custom design. Problem Summary: ADC3 configured for 6-channel continuous scan with DMA circular mode Only channels 1-3 receive invalid data (changing values) Channels 4-6 are stuck at 0 (no change) When using single-channel with interrupt (polling mode), the ADC works fine All GPIO pins are correctly routed; multimeter confirms good analog signals on all 6 input pins Expected Behavior: All 6 ADC channels should update continuously via DMA circular buffer. Actual Behavior: adcValues[0] = 2604660662 // PF6 (IN8) - CHANGING ✓ adcValues[1] = 1343977801 // PF7 (IN3) - CHANGING ✓ adcValues[2] = 4294918112 // PF8 (IN7) - CHANGING ✓ adcValues[3] = 0 // PF9 (IN2) - STUCK ✗ adcValues[4] = 0 // PF10 (IN6) - STUCK ✗ adcValues[5] = 0 // PC0 (IN10) - STUCK ✗ HARDWARE CONFIGURATION
I am new to using the STM32H563, 64 pin package and am trying to implement Dallas 1 wire protocol with a UART.Initially I was going to use transmit and receive with diode back into Tx, but I saw example using the Half duplex mode of the UART and thought I would give that a go.However, whenever I change the USART1 pin to open drain (Pin 59 of 64 pin package), the line which is pulled up by a 4k7 resistor drops to about 200mV. If I try to transmit with the UART, I can see the Open drain pulling from 200mV down to ground as the data goes through. If I place another 4k7 pullup in parallel, the voltage increases to 400mV.If I make the pin an input, the voltage goes up to 3.3V as expected.If I make the pin full duplex standard USART1 TX with PP pin, the voltage goes to 3.3V.I have removed all other components so it is just the processor pin itself, setting Open Drain just fails to give me a proper open drain, it seems to have something else loading the line.Both pullup and pulldown res
Hi everyone,I'm working on a project based on the following STM32H7 LwIP example:https://github.com/stm32-hotspot/STM32H7-LwIP-Examples/tree/main/STM32H747_Disco_M7_ETHIn addition to the Ethernet functionality, I’ve enabled the SAI peripheral with DMA to transmit audio via I2S. I’ve noticed a problem:When I run the SAI with DMA on the Cortex-M7 core using FreeRTOS, the audio stream contains gaps or dropouts.However, when I move the exact same SAI/DMA initialization and logic to the Cortex-M4 core, the audio output is perfect with no gaps.Has anyone experienced similar issues when using DMA for audio on the M7 core with FreeRTOS?Any suggestions would be greatly appreciated.Thanks in advance!TG808
There is a bug in the FW package V1.6.3 where the UART and DMA doesn't work correctly.I've been using FW package V1.6.2 for awhile with UART in DMA circular mode and it has never had an issue. I've recently made a copy of the project to make an A and B comparison because we needed to make some subtle changes. I migrated to the latest FW Package V1.6.3 for the B project.With V1.6.3, when receiving a string command, i only receive a few character from the beginning of the string and the last few characters from the end of the string. A bunch of characters are missed from the middle of the string. I decided to go back to FW package V1.6.2 in CubeMX because that is the only thing that really changed and generated the code. The project works correctly. What i see in V1.6.3 are a lot of missing huart->TxXferCount = 0U; and huart->RxXferCount = 0U; throughout the stm32g0xx_hal_uart.c file compared to V1.6.2In WinMerge you can see in the lef
Hi ST Dev team!I have found that LSE is mandatory when building a new custom board. If not LSE is mounted and configured, then both TF-A and Op-tee will complaining about clock ID 5, which is LSE.Here is a walk around for Op-tee by removing the &clk-lse.https://github.com/DanielMartensson/Watermelon-Wine-1A/blob/linux-testing/watermelon-wine-os%2Fcubemx%2FCA35%2FDeviceTree%2Ffirmware%2Foptee-os%2Fstm32mp257f-firmware-mx.dts#L497-L498And for TF-A, ut must need some modification inside the code:https://github.com/evildeeds/meta-watermelon-wine-stm32mp/blob/656727dfcfb62cffbcd6aaec07fc4dfc55024a75/recipes-bsp/trusted-firmware-a/tf-a-stm32mp/clk-stm32-core.c#L462-L465Processor: STM32MP257F
Hi, I am trying to deploy a custom object detection model on the STM32N6-Nucleo board.I started with this:https://github.com/STMicroelectronics/stm32ai-modelzoo-services/tree/main/object_detectionThe training gets done, I get the performance metrics,python stm32ai_main.pyThe deployment code works fine, and I get the deployment complete message. But when I change from development mode to flash boot mode. It doesn't detect the camera.When I program the demo camera.hex filehttps://github.com/STMicroelectronics/x-cube-n6-camera-capture/tree/main/Binary/NUCLEO-N657X0-Qor object detection .hex file,https://github.com/STMicroelectronics/STM32N6-GettingStarted-ObjectDetection/tree/main/Binary/NUCLEO-N657X0-Q/USB-UVC-Displaythe camera works perfectly.Below are the training and deployment configuration files. These are the only files I changed. I would really appreciate any help in this regard. Thank you,# training configure.yaml file:general:project_name: custom_food_yoloxn_256logs_dir: logssav
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.