Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
I want to fetch video data from camera via decoder (TVP5150AM1) through DCIM.I configure decoder to output 4:2:2 8-bit YCbCr video with discrete synchronization and I do not get HSYNC interrupt, DCMI->IER |= (0x1 << 4) | (0x1 << 0);so, first time when I enter into the interrupt routine my DMA->NDTR register is already 0x0, what means that I filled up full buffer already, when I expect get HSYNC interrupt after ~760 data transfers.What do I do wrong?
Why STemWin is not available in CubeMX for STM32F407 (Discovery board) ??I think it must be available for all MCU's.ThanksSasha
With the recent acquisition, is TouchGFX going to become free to stm32 users? If so when? Soon? 8)
Hello everyone, The question has already been asked here : https://community.st.com/s/question/0D50X00009XkfEhSAJ/stm32h7-and-ycbcr?t=1534420367411but I don't think the answer is complete.Anyway, I have a PAL camera. Its signal is converted to YCbCr 4:2:2. If I connect those signals to the DCMI input of a STM32H7 MCU, may I use afterwards the DMA2D that can, with the H7 Line, convert the YCbCr to RGB to display it on a screeen ?I am asking this because in the AN4996 it is said "the Chrom-Art Accelerator™ peripheral (also called DMA2D) allows to convert YCbCr blocks (output of the JPEG decoder) to RGB pixels ready for display." But is this DMA2D conversion possible if I don't use the JPEG decoder ?The chain would be :PAL Camera -> PAL-to-YCbCr -> DCMI -> DMA2D YCbCr to RGB -> DisplayIs is possible ? What latency may I expect ?Thanks !Viony.
Hello,I am trying to set up CUBEMX so that it can support LCD display for the STM32F469i-Discovery board.Unfortunately I had no luck in making the correct configurations to enable the LCD display or find an example project for the STM32 ac6 or maybe a .ioc file with LCD setings.Is there anyone familiar with LCD on STM32F469i?What are the correct configurations?Thank you!
When I look at the object dump of STemWin540_M7_OS_GCC_ARGB.lib I cannot find the GUI_SPY_Process function that is required by the server application to export the SPY data from the embedded target. I do see the module included in the STemWin540_WIN32.lib, which allows monitoring in the simulator.
Hi,We are working with STM32F4 MCU and the Sitronix ST7789V (graphic driver) for a TFT display. We plan to use the STemWin library, however we need to rotate the screen. To reduce the footprint of the STemWin module, we will use the DMA of the MCU to do the transfer between the MCU memory to the RAM memory of the TFT display. As the screen is rotated, we want to know if the DMA could only increment one by one to copy the memory or need to increment [number of columns] by [number of columns] ? The STemWin library provide rotating functionality however there is no information on how the frame is stored (and copied) from MCU memory.Thanks a lot for any help,Marc
How do you use control the 7-segment display of the stm32l476-disco board using stm32CubeMX and Kiel? Could someone please help me get a 1 to show on it using this setup?I am able to successfully control it using either GCC or Keil with the example I found online at http://web.eece.maine.edu/~zhu/book/lab/L4_Lab_02_LCD_C_Driver_Template.zip , but I want to use stm32CubeMX to manage other peripheral ports. Of course this tutorial doesn't use HAL, so it doesn't line up exactly the same.I have been able to select all the LCD segments in cubemx and compile/upload with Keil5. LED toggles such as PE8 and PB2 work fine. I tried using HAL_GPIO_Toggle for GPIOD15 and Set, for example HAL_GPIO_WritePin(GPIOD, GPIO_BIT_15, GPIO_PIN_SET);
Is there a difference in the usage of the DCMI peripheral between the l4 (STM32L49x) microcontrollers and the l4+ (STM32L4R5xx) chips? I have a camera working with dma on dcmi with the STM32L496, but the same c code does not work correctly with STM32L4R5AG. Other peripherals (usb, gpios etc) work fine.I find that instead of capturing a frame (in snapshot mode) the dcmi shows an overrun error with OVR_RIS set, and no frames are stored in the fifo or DMA memory locationAlso which minimum CUBE version should be used ?thanks
Hello, we are creating an application on an STM32F7 that uses the LTDC and DSI outputs to control a touchscreen display. We are implementing a moderately sophisticated UI, with translucency and sliding panels, and we were hoping to use the layer 1/2 features of the LTDC peripheral in order to achieve some of these effects with hardware.We are encountering a very strange effect where we configure the LTDC layers to point at two different frame buffers in SDRAM (CFBAR) with the correct widths and heights and formats (CFBLR, CFBLNR, PFCR), drawing pixel information to the frame buffers, and then updating the screen by enabling the DSI wrapper, the same way as the accompanying sample code (DSI->WCR |= DSI_WCR_LTDCEN). This combines the two layers of pixels and outputs them to the screen. This was working well in our early experiments, but lately we are seeing a *very* weird effect, possibly correlating to larger framebuffers, where layer 1 and layer 2 are horizontally offset from each o
Greetings, Is it possible to 'stream' camera image data from DCMI peripheral to the SD card with DMA without using any intermediate external memory? This will reduce the need for another chip. Also would hardware JPEG encoding be possible in real time before sending the data to the SD card with DMA?Thanks, this will help in evaluating this platform.Cheers, Prithvi
Posted on January 31, 2017 at 06:44 I am trying to make communication between STM32F411RCT6 and character LCD NHD-C0220BIZ-FS(RGB)-FBW-3VM using I2C protocol. STM32 is the master and the LCD is slave device. I am using stm32cubemx and HAL libraries for this. Following is my code so far: #define LCD_ADDRESS 0x78 uint8_t commands[10] = {0x00,0x38, 0x39, 0x14,0x78,0x5e,0x6d,0x0c,0x01,0x06 }; uint8_t data[4] = { 0x40, 0x61, 0x62,0x63 }; // characters a,b,c to be displayed starting from RAM address 0x HAL_StatusTypeDef halstatus = 0; void Init_LCD() { halstatus = HAL_I2C_IsDeviceReady(&hi2c1,(uint16_t) (LCD_ADDRESS),2,100); printf('halstatus1 = %d\r\n',halstatus); halstatus = HAL_I2C_Master_Transmit(&hi2c1, (uint16_t)LCD_ADDRESS, commands, 10, 100); printf('halstatus2 = %d\r\n',halstatus); } void Show_LCD() { halstatus = HAL_I2C_Master_Transmit(&hi2c1, (uint16_t)LCD_ADDRESS, data, 4, 100); printf('halstatus3 = %d\r\n',halstatus); } int m
I'm trying to generate a STM32CubeMX Project for AC6 but can't find the information necessary to do so. I tried to use the “default mode�?, look for the information inside the (working) BSP code and searched the web for the information or a preconfigured *.ioc file but couldn’t find one.I already found this answer: https://community.st.com/s/question/0D50X00009XkXVRSA3/how-to-set-cubemx-to-support-lcd-display-for-stm32f469idisco unfortunately the mentioned ioc file isn’t provided anymore, furthermore I would realy like to use the new STM32CubeMX version which provides STemWin Support out of the box.I would be grateful for any helping hint, thanks in advance. Jannis
Hello,I am using the stm32L4R5ZI Nucleo board with a MT9V024 camera sensor and a USB drive.I am using the HAL/STM32cubeMX library for the DCMI functionality using 10-bit parallel data with HSync and VSync as well (13 wires with 10-bit+Vsync+Hsync+DCMIclock).MT9V024 is a 752x480 monochrome sensor.The MT9V024 sensor is outputting 8-bit parallel images at 66 fps (frames per second), but I just want to capture a single frame and the DCMI is set to "DCMI_MODE_SNAPSHOT".The issue I am having is once I call "HAL_DCMI_Start_DMA()" in main.c, the interrupt "DMA1_Channel1_IRQHandler()" is called and causes "HardFault_Handler".I have tried to pull Hsync and Vsync to see if the interrupt is the issue.When the Vsync and Hsync wires are removed, the DMA1_Channel1_IRQHandler() interrupt is no longer called (I assume DCMI is looking for Vsync start of image).This also verified that the camera data is making it to the stm32L4 controller.I checked the "uint8_t cameraBuffer[]" of size 360960 pixels and i
If I set up an STM32H7-based project (not based on a board) I don't see the 'Graphics' Middleware option. If I set up a STM32F746G-Disco board-based project it appears fine.I'd really like to use the graphics layer, but I need to do so on my own board...
I would like to control a qaurter VGA display with an ST7789V controller with just the serial (SPI) interface since the parallel bus is not connected. How do i achieve this in STM32Cube, it lets me only select parallel or DSI modes with an STM32F4xxThats the display: https://www.mouser.at/datasheet/2/271/Microtips%20Technology-8-1-2017-MTD0200FZS%20SPEC1-1181287.pdf
Good day,I want to put information data as date and time on Image, any idea? I have the image stored in my SD Card in BMP format, then is compress in JPEG. I want a result similar like the attached image, and the transparent background example.Regards.
..
hi nerd fellows, I got a new task from my superior that I need to program the TFT LCD in stm32f429 discovery development board. I had no idea what to do because I am totally a beginner at this. help me out ??
Hello, we are creating a camera application on top of an STM32F7, using the DCMI peripheral. We have patterned our code after the BSP code, but when we tried to scale up from 250x250 to 400x400, we found that the DMA2->NDTR field is only 16 bits, and can only support 2^16 transfers, which isn't enough got 400x400 pixels (with 3 bytes per pixel) -- in our target memory, we were simply not writing past that.How do we configure the DMA to perform more transfers? Please note that we are using DMA (DMA2->PFCTRL=0) flow control rather than peripheral flow control... when I use peripheral flow control I get very weird output. There seems to be some coordination anyway since the DMA seems to get launched by the DCMI somehow (is it just when the DCMI data register (DR) changes?). My first thought was to handle the interrupt, change the target in memory to the next segment within the destination frame buffer, and re-start the DMA transfer, but the transfer seemed to still be in progress (D
As ST Micro controllers acquired TouchGFX, are they provide TouchGFX as freeware or it is same as before we have to purchase licence?
I create a dialog with GUI_CreateDialogBox(), and run the message loop in a while, calling GUI_Exec() and other task.The reason using async shedule is that (1) there maybe other task need short shedule, and (2) avoid calling non-relative task in dialog;My question is that, how to known that the dialog is destroyed and memory is freed, then I could create next dialog. e.g. the first dialog showing power on configuration, the when this one closed, then the main dialog shown.
Posted on November 12, 2013 at 17:12Good morning,i have a problem with display orientation, i have changed the ili9341 register and the image rotate correctly but, i have a white portion of the display of 80 column in the side of the display.the LTDC registers are /* Configure horizontal synchronization width */ LTDC_InitStruct.LTDC_HorizontalSync = 9; /* Configure vertical synchronization height */ LTDC_InitStruct.LTDC_VerticalSync = 1; /* Configure accumulated horizontal back porch */ LTDC_InitStruct.LTDC_AccumulatedHBP = 29; /* Configure accumulated vertical back porch */ LTDC_InitStruct.LTDC_AccumulatedVBP = 3; /* Configure accumulated active width */ LTDC_InitStruct.LTDC_AccumulatedActiveW = 349; /* Configure accumulated active height */ LTDC_InitStruct.LTDC_AccumulatedActiveH = 243; /* Configure total width */ LTDC_InitStruct.LTDC_TotalWidth = 359;&nb
hello I'm work on a project where I use board stm32f429 where I have rotate the screen from vertical tohorizontal but now I have a section of the screen or the right side that is blank, but i don't know how to fix it, i using eclipse and used this library: https://github.com/littlevgl/lv_projects/tree/master/stm32f429_discovery_no_os
Hello,I have a project based on STM32F417ZET. I want to use the STemwin library (STemWin532_CM4_OS_GCC.a) provided by ST. I'm using FreeRTOS that's why the lib is the _OS_ version.Two things attached to the uC via FSMC:external SRAM type: IS66WV51216EBLL-70TLI-TRdisplay controllertype: ILI9481Everything is fine and works well if the buffer for the emwin is in internal RAM. If I move this buffer to the external RAM I get hard fault, more precisely unaligned access hard fault. I did some disassembly debugging the hard fault happens somewhere in __ALLOC function inside emwin.#define GUI_BLOCKSIZE 0x80 #define GUI_NUMBYTES (100UL*1024UL) //This cause hardfault static U32 extMem[GUI_NUMBYTES/4] __attribute__ ((section(".extram"))) = {0}; //This works fine static U32 extMem[GUI_NUMBYTES/4]= {0}; void GUI_X_Config(void) { GUI_ALLOC_AssignMemory(extMem , GUI_NUMBYTES); GUI_ALLOC_SetAvBlockSize(GUI_BLOCKSIZE); }I tried 8/16/32 bit access to the sram, all test passed. The
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.