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
CAN Bus Error and Reception Not Working – STM8AF5268Hi,I am working with STM8AF5268 and implementing CAN communication using the STM8S/A Standard Peripheral Library.Hardware SetupMCU: STM8AF5268CAN Transceiver: SN65HVD1050CAN Analyzer: Waveshare USB-CAN-FDBaud rate: 100 kbpsTermination120Ω across CANH and CANL at STM8 sideUSB-CAN-FD termination enabledMeasured ≈ 60Ω across CANH–CANLSN65HVD1050 VCC = 5V (verified).Common ground connected between STM8 board and analyzer.Clock Configuration CLK_DeInit(); CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1); CLK_PeripheralClockConfig(CLK_PERIPHERAL_CAN, ENABLE); CAN Initialization CAN_Init( CAN_MasterCtrl_AllDisabled, CAN_Mode_Normal, CAN_SynJumpWidth_1TimeQuantum, CAN_BitSeg1_11TimeQuantum, CAN_BitSeg2_4TimeQuantum, 10 // Prescaler ); CAN Transmit Code uint8_t test_data[8] = {0x22,0x33,0x44,0x55,0x56,0x66,0x77,0x66}; CAN_Transmit( 0x321, CAN_Id_Standard, CAN_RTR_Data, 8, test_data );
hi, i trying DTLS on netXduomy goal is TLS and DLTS running independently (STM32H5 is server, PC is client) so i success mutual TLS(Ver 1.3) but failed DTLS runningi'm in situation that DTLS connection is completed at client but server is not answer about client hello(3 time ignored) i check variables and found handler pointer is null - active_dtls_session->nx_secure_dtls_tls_session.nx_secure_session_cipher_handler_server == nullso i guess DTLS initialization was not completed but i don't know what do i do i attach my code and variables please help me thank you DTLS_SESSION_CONFIG g_dtls_session_table[1]; #pragma data_alignment=8 NX_SECURE_DTLS_SERVER dtls_server; typedef struct { NX_SECURE_DTLS_SESSION sessions[1]; ULONG padding; UCHAR metadata[32*1024]; } DTLS_MEMORY_BLOCK; NX_SECURE_DTLS_SESSION *active_dtls_session = NULL; UCHAR dtls_reassembly_buffer[32*1024]; UCHAR dtls_client_cert_buffer[20*1024]; #pragma data_alignment=8 DTLS_MEMORY_B
..
Dear All,I am working on a project based on the STM32U5G9NJH6Q MCU.I have made a project using CubeMX v6.14. I am working on CubeIDE and I am using TouchGFX 4.25.0 for the GUI of my application.I have used the STM32U5G9-DK2 to verify my GUI design, using hardware accelerated vector fonts. On the DK everything seems to be working fine.But on the custom PCB I am working on, I see this:The larger font on the screen is a vector font, whereas the smaller fonts are bitmap, so I am using a mix of the 2.If I do not use hardware accelerated vectors (use software accelerated vectors instead) then the problem disappears, but the GUI is slow. My linker script looks like this: /* ****************************************************************************** ** ** @file : LinkerScript.ld ** ** @author : Auto-generated by STM32CubeIDE ** ** @brief : Linker script for STM32U5G9NJHxQ Device from STM32U5 series ** 4096KBytes FLASH ** 3008KBytes RAM ** ** Set heap size, stack size and stack lo
I am developing a Battery Management System (BMS) for a hybrid inverter solar panel system. I am using the ADBMS1818 IC as the battery management chip from Analog Devices. Currently, I am looking for a suitable MCU for my system. I found that the CYT2B7 MCU from Cypress Infineon fits my system well. However, during the development process, I need to use an MCU from STMicroelectronics. Could you recommend a series that meets my needs? Below are the specifications of the CYT2B7 Thank you for your assistance.
Title edited to note that this is a clone ST-Link.Using a WeAct mini STM32H723 Core board which seems to be working fine via SWD and a gold STLInkV2 USB stick. (STLinkV2 firmware V2j46S7).Using STM32CubeProgrammer v2.21.0 seems to work ok, connected under SWD, 4kHz, Normal mode, S/w reset, reliable speed, non shared (my usual settings that work with all the other STM32 boards I have).But when I tried the "Full chip erase" (or erase selected sectors), it merely reports erase successful with no errors. However the flash remains unchanged.Using STM32CubeIDE 2.0.0 however, I can successfully download my code to the board (which proves the flash can be erased using the STLinkV2 h/w).Not sure where the problem lies as yet, but have put this issue up here in case others have the same problem with STM32CubeProgrammer.Will post an update here or on the WeAct github site if I make progress to finding why its not working.
I tried to use the internal watchdog IWDG and WWDG) on an STM32L433It worked fine until the device went into low power modes, standby and shutdown.Because the watchdogs still runs during low power modes, but as the prcoessor is not running the watchdog times out and keeps resetting the processor.So then I looked at using an external watchdog (STWD100) which can be disabled when in low power mode. I wrote a post about the topic here...https://community.st.com/t5/others-stm32-mcus-related/how-to-interface-external-watchdog-stwd100-with-stm32/m-p/879006#M9433But a comment was made that "If you can enable and disable the watchdog, wild-running code can as well, and you cannot really rely on the watchdog"So how should a watchdog (internal or external) be handled in low power modes ?Surely you dont want to keep waking the processor every few milliseconds just to reset the watchdog timer, as the defies the point of being in low power mode to save battery power ?I was told that
Does the stm32mp157 have an ESV or is there one in progress?
I have an STM32H7S78-DK and I have used TouchGFX to create a GUI just fine. I am currently trying to use the fanout or the Arduino headers to communicate through SPI or UART to another board. The first thing I tried was using the SPI through the fanout board as it's soldered for the SPI4 by default with the fanout board. I used the female headers on the fanout board that corresponded with MOSI, MISO, etc for the SPI. I configured SPI4 in STMCubeMX and generated the code in STMCubeIDE. I just tried to send an array with Hello in the array in the form of hex values. However, I saw nothing coming out of the pins when I hooked it up to a logic analyzer. I then thought maybe I was using the wrong header and soldered some male pins next to the female pins which said CN12 which corresponded to what it said in the fanout boards documentation. I thought maybe the microbus female headers were not the right ones to use. Generated all the code and tried again an
Hello Support Team,Good day,For product development, we chose the STM32U585 family, a trust zone-based MCU. Consequently, we are having a problem when we generate projects using Cube Ide.I've listed the actions we're taking below.Selected IC STM32U585AII6Enabled TrustzoneEnabled X-CUBE-FREERTOS and active for non-secure regionGenerate a project codeCompile code as per generated toolWhen I compiled code we have seen below compilation error undefined reference to `SecureContext_SaveContext' portasm.c undefined reference to `SecureContext_AllocateContext' port.c undefined reference to `SecureContext_LoadContext' undefined reference to `SecureContext_Init'I've included a screenshot of the error for debugging.
Hello, everyone! I am trying to program files generated by CubeMX(6.15.0) onto the STM32MP257F-DK. 1. Downloaded the FlashLayout_sdcard_stm32mp257f-dk-optee.tsv in the Starter Package installation folder. 2. When I ran some of the example in the repository using the CubeIDE, I confirmed that they worked normally. (C:\Users\20005\STM32Cube\Repository\STM32Cube_FW_MP2_V1.2.0\Projects\STM32MP257F-DK\Applications\FreeRTOS\FreeRTOS_ThreadCreation)3. Created a file using the CubeMX's Board Selector and modifed only a few configurations.4. Why does this Error window appear? I can't find which settings are wrong.5. I got an error (IAC, SERC)Is there a difference between the example in the repository and how to run the file generated by CubeMX?Attached the CubeMX.ioc file.Please help me.
Hello,I'm working with the STM32MP257F-DK using the Yocto Project, and I'm trying to enable I2C in my custom Device Tree.However, I’m facing an issue where the I2C controllers remain stuck because of power-domain pending states.Here is the relevant dmesg output showing the problem:It looks like the D1 power domain never reaches sync_state(), which prevents the I2C drivers from probing correctly.I suspect a configuration issue in the power-domain hierarchy or in my SoC/board Device Tree, but I haven’t found the root cause yet.Could someone help me understand what is missing to properly enable the I2C controllers and bring the D1 power domain out of the pending state?Thanks in advance for your support.
Dear All,I would like to use MYD-LD25X development board, which uses the STM32MP257 I plan to run FreeRTOS on the M33 core and Linux on the A35 cores.Do you know if there are documents that I can follow to run FreeRTOS on M33 core and Linux on the A35 core? Thank you very much.
Hi everyone,I think I’ve messed up my NUCLEO-H755ZIQ board. A few days ago, I accidentally unplugged the board while an active debug session was running. Since then, the board "dies" every time I power it off.To get it back to a working state, I have to follow this tedious process every single time:Set Boot0 to VCC.Connect via STM32CubeProgrammer (Power Down mode).Perform a Full Mass Erase.Disconnect and set Boot0 back to GND.Connect again and flash a simple .elf file (a basic SPI project that toggles an LED) just to verify it's alive.After this, I can debug normally in CubeIDE—until I power cycle the board again.This was manageable until I started working on a Bootloader project. Today, it took me all morning to recover the board because the bootloader logic seems to interfere with my "recovery" steps.I’ve already tried messing with Option Bytes and performing several mass erases, but the issue persists. It feels like the flash or the option bytes are stuck in a state that prevents a
I’m working on an STM32H7R7 project using SDMMC1 + FreeRTOS (CMSIS-RTOS v2) + FatFs, all generated with STM32CubeMX.I’m facing an issue where f_mount(opt=0) works, but the system blocks inside f_open() and never returns, so the return value cannot be checked.A key aspect of the problem is that the behavior depends on how the device is started:After flashing the firmware with a debugger connected and running immediately, the system behaves differently.After a cold power-up (power removed and re-applied, no debugger connected), the same binary consistently freezes when reaching f_open().In both cases:The code is identicalThe clock configuration and FreeRTOS setup are unchangedNo additional initialization is performed when the debugger is attachedThis suggests a timing-, initialization-, or peripheral-state-related issue that manifests only on a true power-on reset and not after a debugger-initiated reset.Additional observations:f_mount(&SDFatFs, "0:", 1) initially caused a block, but
Hello everybody.On STM32MP2, is it possible to operate only the M33 like a microcontroller, without booting the A35? Also, if only the M33 is operated, can major peripherals such as I2C and Ethernet be controlled from the M33? (I assume that PCIe would be difficult...)
Title edited to flag that this relates to a Black Pill & Clone ST-Link After much too much time searching and following advice from for the most part, outdated forum posts I have been unable to resolve my issue with win 11.I have a windows 11 machine (Microsoft Surface) up to date as of 28th January 26.ST Link Utility installed and wokingStCubeProgrammer 2.21.0 and working (apart from not seeing the STLink v2.0 hardware).Both installed as Administrator.Cube Programmer however refuses to acknowledge the STLink v2 when connected even though the driver reports it is working and indeed it shows up in Device Manager. I did try reinstalling and the other common resolve I see is to switch to Shared Enabled in the right hand panel.The odd bit is it just works on my Mac M2 Tahoma without any issues and displays the correct serial numberI would like to get it working on my Surface laptop as well as all my programming is normally done on that machine (XGecu T48).Here are some screen shot
STM32F401 (Blackpill) – 2.4s Drift in 30 Minutes Between Two Identical Boards Using TIM2 (HSI Clock)I am working on time synchronization between two identical Blackpill STM32F401CCU6 boards.Both boards:Use internal HSI oscillatorSame firmwareSame clock configurationTIM2 configured as 1 MHz free-running counter (1 µs resolution)32-bit counter (auto-reload = 0xFFFFFFFF)Clock configuration:HSI ONPLL enabled (HSI → PLL → SYSCLK)SYSCLK = 32 MHzTIM2 prescaler = 31 → 1 MHz timer tickInitializationBoth boards started in STANDALONE modeBoth boards waited for button interruptThe board which gets interrupt became MASTERSynchronization MethodOne board acts as MASTEROther board acts as SLAVECommunication via UART (115200 baud)Master sends a 5-byte sync packet:0xAA + 4-byte counter valueSlave receives and sets:htim2.Instance->CNT = received_counter; UART disabled and connection removedInitial sync works correctly.ProblemAfter synchronization:Drift increases over timeAfter 30 minutes → ~2400 ms di
The L6206Q datasheet Figure 14 "Typical Application" does not show the use of any additional SENSE_A or SENSE_B resistors connected to pins 45/46 & 15/16 respectively. Section 4.3 talks about "the external current sense resistor normally used [being] eliminated." AN1762 in section 3.5, discusses the selection of sense resistors and suggests that they might be part of the over-current setting process (which the datasheet suggests is handled entirely by the R_CL resistors).So which is correct? Datasheet or AN? Are sense resistors required or not? If they are required, how are they selected and how does that selection work with the selection of R_CL current limit resistors?
Hi, I'm starting to play with the SBSFU examples provided by ST. I'm trying to build the SBSFU (mcuboot based) example for the STM32L5 which can be found in the STM32SecuWS provided here . I'm stuck trying to build the TFM_SBSFU_boot (partial console output):arm-none-eabi-gcc "C:/STM32SecuWS/TFM/STM32Cube_FW_L5_V1.3.0/Projects/STM32L562E-DK/Applications/TFM/TFM_SBSFU_Boot/Src/low_level_com.c" -mcpu=cortex-m33 -g3 -DSTM32L562xx -DUSE_HAL_DRIVER -DNDEBUG -DTFM_DEV_MODE '-DMCUBOOT_TARGET_CONFIG=<flash_layout.h>' '-DMBEDTLS_CONFIG_FILE=<config-boot.h>' -DMCUBOOT_DOUBLE_SIGN_VERIF -DBL2 -c -I../../Inc -I../../../../../../../Drivers/CMSIS/Include -I../../../../../../../Drivers/CMSIS/Device/ST/STM32L5xx/Include -I../../../../../../../Drivers/STM32L5xx_HAL_Driver/Inc -I../../../../../../../Middlewares/Third_Party/trustedfirmware -I../../../../../../../Middlewares/Third_Party/trustedfirmware/platform/ext/common -I../../../../../../../Middlewares/Third_Party/trust
Hi Community,I am porting STM32Cube_FW_U5_V1.8.0\Projects\B-U585I-IOT02A\Applications\SBSFU example to be used with USB port for firmware upgrade instead of Uart. I use B-U585I-IOT02A board with U585. Because of some requirements I need to use bare metal USB stack and I successfully ported the classic STM one according to article How to use STMicroelectronics classic USB device middleware with new STM32 families . I have used it SBSFU example and the usb stack works fine when I use it in non secure environment and run Loader binary or Appli_NonSecure as separate application with TZEN=0 without bootloader - I was able successfully send fw image over usb using ymodem. But when I used it in full secure original setup as in the example, I mean TZEN=1, booting with bootloader, using Appli_Secure/Appli_NonSecure - I experienced board restarting when connecting board's USB to the PC - it looks like something goes wrong during USB enumeration process. I have checked that US
HiI am drawing a PCBA with STM32H7R3V8H6 but for the USB HS interface PHY its not clear which pins are USB differential D+ and D- data pins?krØystein
Hello, I am using the HAL for multi-master SMBUS operations on an STM32H753. I ran into a scenario in which the event handler interrupt function (I2C4_EV_IRQHandler() in my case) was repeatedly firing such that there was no CPU available for other code to run. It seems that the logic within HAL_SMBUS_EV_IRQHandler(), which the above function calls, may not be correctly identifying the source of the interrupt, and not clearing it. This code: /* SMBUS in mode Transmitter ---------------------------------------------------*/ if ((SMBUS_CHECK_IT_SOURCE(tmpcr1value, (SMBUS_IT_TCI | SMBUS_IT_STOPI | SMBUS_IT_NACKI | SMBUS_IT_TXI)) != RESET) && ((SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TXIS) != RESET) || (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TCR) != RESET) || (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TC) != RESET) || (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_STOPF) != RESET) || (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_AF) != RESET))) { calls SMBUS_CHECK_I
HiDo QUAD SPI require power on the VDDXSPI power pins?ADCs, what is the voltage reference buffer, VREF+ and VREF- , voltages? Can the internal reference buffer be used if VDDA is 3.3V and I want full scale 0-3.3V ADC conversion range?krØystein
The Reference Manual (RM0454) of the STM32G0B0 points to an old 2020 revision while on the website it shows 2025.I believe this is a mistake since there should be a newer revision of this RM with the fixed Flash section (STM32G0B0CE) unless ST only fixed the RM of the STM32G0B1.
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.