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
Hello Sir,I would like to request your guidance regarding the use of an STM32F103 microcontroller as an ST-LINK programmer. I have already flashed a bootloader HEX file intended for ST-LINK functionality into the STM32F103 device. However, I would like to confirm the following points: Is any additional driver, firmware, or configuration file required on the PC side or MCU side to make the STM32F103 work properly as an ST-LINK programmer? Is the flashed bootloader alone sufficient, or are there any specific steps or tools recommended by ST to complete the setup? Could you please provide or point me to the official/original ST-LINK bootloader or firmware source for STM32F103, if available? Are there any reference documents or application notes that explain this implementation in detail? Your support and clarification on this matter would be highly appreciated. Thank you for your time and assistance.
Edited by a ST moderator: Please use English language in this community. Thank you ボードは、STM32F746G_DISCOを使用しています。タッチTouchGFXデザイナーにて、データ増減用のボタンを作成し、ボタンクリックでデータを増減する様なソフトウェアを構築しましたが、ボタンクリックに対して反応が遅い現象が出ています。ボタンのクリックに対して、GUI上のボタンは、反応していますが、ソフトウェア上の処理がなされない事が多い現象が出ています。どの様な原因が考えられるでしょうか?お教えください。よろしくお願いいたします。 Translation: I am using the STM32F746G_DISCO board. I created buttons for increasing and decreasing data using TouchGFX Designer, and built software that increases and decreases data with button clicks. However, I am experiencing a slow response to button clicks. The buttons on the GUI respond to button clicks, but the software often fails to process them. What could be the cause of this? Please let me know. Thank you in advance.
Hello,i am working on STM32MP257f-EV1 board to get access for vd55g1 camera.so far i have flash the board using FLASH-stm32mp2-openstlinux-6.6-yocto-scarthgap-mpu-v25.06.11.tar.gz starter package and used FlashLayout_sdcard_stm32mp257f-ev1-optee.tsv file.I have used STSW-IMG506-V4L2\STSW-IMG506-V4L2\STSW-IMG506_V4L2_v.2.0.3\vd55g1-linux-driver-2.0.3 to generated vd55g1.ko file and stm32mp-openstlinux-6.6-yocto-scarthgap-mpu-v25.06.11, \stm32mp-openstlinux-6.6-yocto-scarthgap-mpu-v25.06.11\sources\ostl-linux\linux-stm32mp-6.6.78-stm32mp-r2-r0\linux-6.6.78 kernal now ehen i load the vd55g1.ko in board atlest it should load the vd55g1 module but i got this error vd55g1 [ 477.010504] module vd55g1: .gnu.linkonce.this_module section size must match the kernel's built struct module size at run time modprobe: ERROR: could not insert 'vd55g1': Exec format error also when i used image.gz using scp command it print this Starting systemd-udevd ve
Hello everyone,I am currently trying to integrate TouchGFX into an existing STM32 project (an FDCAN master node application), and I am facing several issues.I enabled the TouchGFX generator in STM32CubeMX and configured all required peripherals (LTDC, FreeRTOS, DMA2D, OSPI/HyperRAM, clocks, etc.).I also adjusted the clock configuration to match the display timing.However, after flashing the application, the screen remains completely black.Nothing I have tried so far has made any difference.I have now discovered that the thread I created for the TouchGFX task is never executed, and I have not been able to find the root cause of this.Any hints or guidance would be greatly appreciated.int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Conf
Is it possible to re-trigger HAL_TIM_DMABurst_MultiWriteStart() from software? Currently it works only once (the first time) for me. Using TIM1 freq/duty-cycle:HAL_TIM_DMABurst_MultiWriteStart( &htim1, TIM_DMABASE_ARR, // Base = ARR TIM_DMA_UPDATE, // Trigger = update event (uint32_t*)rampBurst, // Source buffer TIM_DMABURSTLENGTH_3TRANSFERS,// ARR + RCR + CCR1 N_STEPS*3 // Number of bursts ); __HAL_TIM_ENABLE_DMA(&htim1, TIM_DMA_UPDATE);This produces a duty-cycle and frequency change over a certain amount of time, let's say 10ms, after the 10ms, I would like to disable the PWM output by setting the duty-cycle to 0:__HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, 0);Then, I would like to re-trigger this each 100ms from software. My DMA setting is set to "Normal". The value of RCR is always 0 in the rampBurst array.
I have studied using the STM32F429I-DISC1 board with TouchGFX and can already implement buttons, LEDs, and ADC. However, I have a project that requires using a different LCD that uses the SSD2119. Can I directly replace the LCD, or are there additional parts of the code that need to be modified? Please guide me.
Hi, I'm performing for a customer a signal integrity simulation involving ST25R200 (SPI interface). Is there any IBIS model available for this component (or ST25R100)? Thanks, RegardsRoberto
Hello everybody,For my project, I need to display (LVDS output) an HMI that contains external video streams.I plan to use LTDC layers in order to perform plane composition with the hardware block (for example, HMI on plane 1, RTP video on plane 2, and MIPI camera on plane 3).I use GStreamer to test H.264 decoding and to display video using kmssink.My problem is that I can display a video on each plane separately, but not on two or more planes:gst-launch-1.0 videotestsrc ! videoconvert ! kmssink plane-id=$PLANE_ID1 => okgst-launch-1.0 videotestsrc ! videoconvert ! kmssink plane-id=$PLANE_ID2 => okgst-launch-1.0 videotestsrc ! videoconvert ! kmssink plane-id=$PLANE_ID3 =>ok (I don't know why, but the size is smaller; maybe I can find the reason in the device tree)But if I do something like this:gst-launch-1.0 videotestsrc ! videoconvert ! kmssink plane-id=$PLANE_ID1 videotestsrc ! videoconvert ! kmssink plane-id=$PLANE_ID2the command fails.For my test I have a custom board
I use the touchGFX to design a UI interface and have a serial issue for the distortion ,the format of picture is PNG with alpha ,color depth is 32 bit ; Even if i set the parameter on the touchGFX designer as RGB565,no either, alpha is true or ARGB888, no either, alpha is true , the real display effect with the 2.8 inch TFT LCD is not so good as following picture that i have no idea to improve this issue,by the way, the whole frame of LCD window is good to be displaied with R,G,B,white, black;
0I have a device with an MCU in DFU-mode, and I want to flash new firmware to it. To do that I have the software we have developed at my company to interact with the device, mainly a Wpf-application written in C# and Xaml, which in turn uses the KSociety SharpCubeProgrammer library to make calls to the STM32 CubeProgrammer_API.If I use the STLink V3 SET hardware over I2C I get a CubeprogrammerErrorWriteMem error (return value -10), i.e. a memory write error, but using the same firmware file but instead directly over USB, i.e. not using the STLink, I get no error and the firmware is updated. In either way the calling code is almost identical, and I have checked that the data and address is the same when calling the API over both I2C and USB. The method called from the API is in either way WriteMemoryAndVerify(...).I found some information saying that it's the STM32_Programmer_CLI.exe that does the actual reflashing. If that's the case I have a vague idea that I must use the parameter --
I am using an STM32H755ZQ device and unable to start a debug session using STM32CubeIDE + ST-LINK (SWD).The system uses two STM32 controllers, where firmware is flashed to one controller and data is shared/communicated to the second controller.Debug fails with errors like DEV_TARGET_HELD_UNDER_RESET and GDB connection timeout (localhost:61234).Even with Connect under reset, low SWD frequency, and full chip erase via STM32CubeProgrammer, the issue persists.Looking for guidance on whether inter-controller communication, reset interaction, or H755-specific debug/security settings could block debugging.
Hi,I'm working on a new design using a STM32H523VET6 in which we want to use USB host & device functionality. Whether the board should function as a host or device is determined when it is switched on and will not be changed during operation.As far as I understand I don't need an external crystal for both modes host & device? But what I don't understand is how to configure the clock recovery system CRS. Do I need the SOF signal, but this seems only available when in device mode.So my questions are:1. Is it true that I don't need external crystal for USB host & device modes?2. What is needed from clock recovery system SRS (SOF signal...)?Thanks,Roger
Hi,if I connect the Cubeprogrammer via jlink to the custom board (STM32H562) and want to reset the option bytes by menu-selection "Reset MCU to factory settings", the process don't finish because the mentioned error pops-up.Is this caused due to a missing signal on the debug connector? The problem is now, that the mcu is in provisioning state and I want set it back to open state.Kindly regards,Stefan
Hi,How can one calculate the maximum phase current of a BLDC motor using sinusoidal control with the nominal voltage and power of the motor?I have a 36 V / 560 W motor.Is the peak current equal to:560 W / 36 V * SQR(2) = 22 Aor beacuse of the star topology of the motor:560 W / 36 V / SQR(3) * SQR(2) = 16.33 AI need this to select the proper FETs.Thanks!
Hello,I am using a BlueNRG-M2SP module mounted on my own custom PCB. I programmed it using the STSW-BLUENRG1-DK package and flashed the DTM / UART project to check basic functionality and enable advertising.The project runs correctly in Debug mode, reaches while(1), and no HardFault occurs. I configured the Symbols as follows:HS_SPEED_XTAL = HS_SPEED_XTAL_32MHZLS_SOURCE = LS_SOURCE_INTERNAL_ROSMPS_INDUCTOR = SMPS_INDUCTOR_NONEUART is connected via DIO8 (TX) and DIO11 (RX) to a USB-to-TTL converter. However, when I open the COM port in BlueNRG-GUI, I get:No device detectedNo firmware detected on the motherboardBecause this is a custom PCB and not an ST evaluation board, the “motherboard firmware” message is unclear to me.Could this issue be related to:The type of firmware (DTM project)UART configurationClock / power / hardware setupOr BlueNRG-GUI limitations with custom boards?I have also attached some photos and a short video of the setup and programming steps, which I believe may help
I'm using ADC with DMA in a large project, and faced some very strange problem: If I'm using DMA2 Channel 6 - ADC works correctly If I'm using DMA2 Channel 1 - the SW end up in Hard Fault The configuration is default. This is how I start the conversation HAL_ADCEx_Calibration_Start(&hadc1, ADC_SINGLE_ENDED); // Start the ADC in DMA mode HAL_ADC_Start_DMA(&hadc1, (uint32_t*) g_ADC_values, ADC_BUFFER_LENGTH);
Dear Sir/Madam,I hope this email finds you well.I am currently designing a custom PCB board based on the STM32MP157FAC1 microprocessor and associated STMicroelectronics components. I would like to kindly request your support in reviewing and verifying the schematic design and Gerber files to ensure the PCB has been designed correctly and will function as expected.The objective of this verification is to confirm:Correct schematic connections in accordance with STM32MP157FAC1 datasheets, reference manuals, and recommended reference designsProper implementation of power supply sequencing, clock circuitry, reset configuration, boot configuration, and required peripheralsAny critical PCB layout guidelines, constraints, or recommendations that should be followed before proceeding with fabricationYour feedback would be extremely valuable in identifying any potential issues or required improvements early, helping to ensure reliable operation of the final PCB.If any addition
Dear, I'm using a STM32G0B0RET6 as MCU and I encouter a bug on GPIO external interrupt specifically on PC14. Configuring as external IT on rising edge, it works correctly and the interrupt is generated only on rising edge.Configuring as external IT on falling edge, an interrupt is generated 2 times, 1 on falling edge and 1 on rising but both call the HAL_GPIO_EXTI_Falling_Callback callback.Configuring as external IT on falling and rising edge, an interrupt is generated 3 times (consistent with previous configurations).Configuring this pin (PC14) as external interrupt on falling edge generates a falling interrupt on rising edge.(I precise I checked EXTI registers and they are correctly configured) If I do same tests on PC13, all work correctly. ITs are generated in accordance with the configuration. A workaround is to the check the state of this pin in the interrupt callback but it seems to be a bug. (and I saw nothing in the errata sheet)
Dear community,I am currently working on the FlexRay driver and wondered, where do I have to put the base address?In my opinion, it seems that I have to lay the base address in the system RAM area. I therefore found System RAM 1, which has a lot of free storage. Is this the right approach, or where do I have to lay the base address?Thanks in advance.Best regards,TKORN
Hi, in this STM32L4Q5RGT6 microcontroller of (LQFP48) package how many SPI, QSPI should be connected.
Hello,I’m working on a project with the NUCLEO-H753ZI board and need to connect multiple devices. I’d like to know:1. How many GPIO pins are 5 V-tolerant for digital input?2. How many GPIO pins are available for general use, both 3.3 V-only and 5 V-tolerant, considering the board’s default peripherals?I want to make sure I safely use the MCU’s GPIOs for my inputs and outputs. Any guidance or reference resources would be appreciated.Thank You!
Hi ST teams,Currently we use the ScrollList widget to show up to 2000 items and list item is not same properties for all, I have create the custom container to support item can show one of two layout: date title and item info like image bellow: To able detect and show list item with correct layout I have save the item info to list item and detect scroll up/down behavior follow the itemIndex callback from void HistoryView::scrollListUpdateItem(HistoryItem& item, int16_t itemIndex) if itemIntex > oldItemIndex then scroll is down else is up. With detected behavior and item info from last updated list item I will know what is next info index need to get and add to list item. I can show correct the ItemInfo or DateTitle from list if do scroll to list with slow speed. There are problem when I scroll faster the itemIndex is intermittent change:You can see on the image, the next item afte
On a Nucleo-H563ZI with CubeIDE 1.14.0 and firmware package for H5 1.1.1.I managed to get SPI transmit and receive using DMA, triggered by a timer, going not using linked lists. I get my requested number of transmissions and results into my buffers as witnessed on an oscilloscope and a live watchpoint.But when I enable circular mode, no other modifications, in MX_SPI1_Init - HAL_SPI_Init - HAL_SPI_MspInit it sets up NodeConfig.Init.SrcDataWidth = DMA_SRC_DATAWIDTH_WORD; NodeConfig.Init.DestDataWidth = DMA_DEST_DATAWIDTH_HALFWORD;builds the node (whatever that is), inserts it into the correct DMA channel, sets circular mode, basically looks like magic but I can imagine what it is doing. But then the stuff in the NodeConfig doesn't get applied to handle_GPDMA1_Channel1, so later when I finally call HAL_SPI_TransmitReceive_DMA, it gets grumpy around line 2230 because hspi->hdmarx->Init is all zeros still. It never got updated maybe?I think there is a problem with HAL_SPI_M
Hello I am forced to erase the entire flash page when I write into an address of the flash page. Why is that? I have never used this page... I understand that if the flash has been already used, it cannot be rewritten... but why when the page is always '1'?Thanks a lot. Edit 1:UsageFault: An instruction executed with an invalid EPSR.T or EPSR.IT field. UsageFault: The processor has attempted to execute an undefined instruction. MemManage: The processor attempted a load or store at a location that does not permit the operation. MemManage: The processor attempted an instruction fetch from a location that does not permit execution. HardFault: A BusFault has occurred on a vector table read during exception processing.
I'm using a stm32G0 with a UCPD and i'm trying to figure out if the Dead battery pin have any other benefit then just saving the need for 2 resisters on the board. From my understanding i could create the same functionality of the dead battery pin by just connecting the CC lines to ground with a 5.1K resister.
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.