Discuss STM32 and TouchGFX implementations, including configuration, debugging, and optimization.
Most recent activity
Posted on April 03, 2017 at 20:54Hello anyone,Is it possible to take SXGA (1280 x 1024) resolution pictures with this camera?I have found examples of VGA header file, but I cant find anything about SXGA. Thanks.#sxga #camera #sdram #dcmi #ov9655
Posted on March 30, 2017 at 10:14Hi,I want know how ST manage the memory in order to run STemWin library.In my case, I am using F429IDiscovery Board.Firstly, I have seen that in stm32f429i_discovery_sdram.h it is defined the address 0xD000000000 from which it is reserved a size of 8MB. After that, in GuiConf.c, it is defined a block of memory starting at 0x200003C4 but I only can reserve memory to address 0x2002FFFF, so it is a small block of memory and I have had to change the initalization address. As I saw that in LCDConf.c the addresses defined for Layer buffers are 0xD0200000 and 0xD0400000, I have put the memory block for STemWin starting at 0xD0600000.Here are my doubts, Why I need to reserve 8MB from 0xD0000000 if after that, STemWin starts by default from 0x200003C4? If layer buffers are defined at the mentioned addresses, what is happening with the memory from 0xD0000000 to 0xD0200000? Am I doing well configuring the start address in GUIConf.c at 0xD0600000 or should I put i
Posted on March 28, 2017 at 10:20Hi,I am using 32F429I-Discovery Board with STemWin v5.32 and I am not able to show a JPEG image when I load it into a Memory Device.The code I am using is attached to the question.There firstly I draw the image at position (0,0) without problems, then I try to load it into a Memory Device and draw the it with some lines.I can see the lines but not the image, what can I do to draw the image?It is not a lack of memory because I have included some variables to know the free memory and the used memory after draw the image, after create the memdev and after delete de memdev and I can see that there is enough memory.Another question is about memory use, because when I get the free and the used memory after each use there is not the same amount of memory:The variables a,c and d are refered to the free bytes and the others to the used bytes, so what I see is that if I do a+b, c+d and e+f, it should be the same value, but it is not.a+b=0x001DAB84c+d=0x001DAB64e
Posted on March 23, 2017 at 17:49Hello,I use DSI with external 25MHz osc. In some design I wanted to useHSI (is seems supported wrt. ref.manual) but the DSI PLL doesn'tlock at all.I use IDF=3 to have INFIN=16/3>4MHz and NDIV=125, thus Fvco=666MHz.ODF=2 (/4) hence DSI clk is 166MHz. All is in correct range.With HSE, the only difference is IDF=4...Maybe, HSI is not stable enough ?M.#f7 #hsi #dsi
Posted on January 24, 2017 at 13:17Hi.I'm using STM32CubeF4 1.14.0 with STemWin 5.32.I need to draw JPEGs from file using the DrawEx functions where the user has to provide a getData function which reads chunks of data from a file.However the ...DrawEx functions do not provide any possibilty to cancel an ongoing drawing. As decoding of JPEG files need a lot of time it is necessary to have a possibility to cancel an ongoing drawing. At the moment you always have to wait until the image is fully loaded which may take a long time depending on the size of the image.The Segger manual states that the drawing function will return immediately if the getData function doesn't return the requested number of bytes whereas the STemWin manual says that the function always has to return at least 1 Byte.I tried to return 0 in the getData function but this will not cancel an ongoing loading of data from the image file. Instead the function will never return even when it gets no data at all.In my opini
Posted on March 15, 2017 at 02:13I'm using a Nucleo-F413ZH board and an SSD1289 driver based LCD. I'm using the KEIL IDE.I just wanted to confirm that I have setup my LCD and FSMC correctly. I have performed the following steps: Setup FSMC in STM32CubeMX (Chip Select: NE1, Memory Type: LCD Interface, LCD Register Select: A0, Data: 16 bits).Wired the LCD to the pins as indicated by STM32CubeMX: D0-D15 to FSMC D0-D15,LCD RS to FSMC_A0,LCD WR to FSMC_NWE,LCD RD to FSMC_NOE,LCD CS to FSMC_NE1LCD RST to a GPIO pin setup as GPIO Output (Pin State: Low, Mode: Output Push Pull, Pullup/Pulldown: None, Speed: Low)My main function calls the following (in order): HAL_Init()SystemClock_Config()MX_GPIO_Init()MX_FSMC_Init()Left the timings to the default values which are sufficiently high such that they shouldn't cause any problems - I'll tweak these once its working.I have setup my read/write data and write index functions, using the values: REG: 0x60000000RAM: 0x60020000But I get just a white scre
Posted on March 09, 2017 at 13:34Hi to all,I am developing a graphic driver that handle 2 LCD over the SPI1 port and different CS lines. I setup a frame renderer tat renders 128 scanlines made of 160 pixels. A frame rendering can be launched by the TIM3 IRQ set to a frequency of 25Hz.Every scanline is rendered and then passed to the DMA that drives the SPI. In this way the engine sends the scanline to the LCD while rendering the next line. Of course I have set a double buffering system to prevent a conflict while accessing to buffers.Now, when there is graphics on one LCD only no problems. but when both LCD need to show graphics the DMA should transfer one scanline to one LCD and after that select the second and transfer the other scanline.In order to do that I thought to take advantage of the Transfer complete interrupt, and switch the CS lines of the LCD. Now problems come. The TC interrupt occurs only after the frame renderer interrupt. Let's say that one frame is called
Posted on February 21, 2017 at 06:32 I need to interface AT070TN92 7' LCD display (Driver element: a-Si TFT active matrix, Resolution: 800 × 3(RGB) × 480) with STM32F103VCT6 controller. The display have a back-light driver board. Is it possible to interface the display directly to the controller with out any LCD controller ICs. Here attaching the datasheet of display AT070TN Thank you #stm32cubemx-lcd #stm32 #stm32f103vct6 #stm32-tft-lcd-controller #tft-lcd #stmcubemx Note: this post was migrated and contained many threaded conversations, some content may be missing.
Posted on March 08, 2017 at 06:34Application Scenario: We have used DMA, FSMC, and DCMI module of the STM32. DMA is configuredto read the data from the DCMI out output register DR, and write it it to external SRAM. Likely DCMI is configured as an Peripheral and SRAM is configured as a memory port of the DMA. Data transfer width is configured as an word in case of peripheral port and half-word in case of memory port. SRAM is configured on address 0x64000000. Problem: The whole system works fine as long as we configure DCMI to take JPEG image up to 262KByte, but when we configured it to take picture of the higher quality, DMA is not able to store the data in SRAM, above the address 3ffff, so we get only 262143 bytes maximum. after that we receive only 0xFF. What we have verified so far: 1) FSMC part is configured fine 2) SRAM is written and read back by using internal memory, it works fine. 3) I believe there is
Posted on December 08, 2016 at 00:28Hi all.I'm controlling a parallel device which is using 12 bits parallel interface plus clock signal. I've created a class which is containing LTDC to pass the parallel data to the device with 30 MHz clock. Device has got 1 x 720 data blocks then it needs to latch the data to it's internal memory so I need to check one frame has been sent. I didn't find any interrupt about that. I am not using DMA2D because (I think) I don't need any blending for now. Anyway, I can check the signals with scope and there is no problem. Is there any interrupt about LTDC one frame has been sent? I've tried to set Line Interrupt to line zero but interrupt isn't occurring.LTDC_HandleTypeDef ltdc;void LTDC_Init(void){ /* LTDC Initializaition ----------------------------------------------------*/ if (ltdc.State == HAL_LTDC_STATE_RESET) { /* Polarity configuration */ /* Initialize the horizontal synchronization polarity as acti
Posted on February 24, 2017 at 12:04I want to use STM32 to drive a LCM with a KS0108 controller. Sadly, it has a 6800 interface. Fortunately, ST gives a document to guide me: http://www.st.com/content/ccc/resource/technical/document/application_note/85/ad/ef/0f/a3/a6/49/9a/CD00201397.pdf/files/CD00201397.pdf/jcr:content/translations/en.CD00201397.pdf . In p. 12 it gives two methods:But the http://www.techtoys.com.hk/Displays/JHD12864J/ks0108.pdf, states when write to LCD, the data is latched at the falling edge of ''E'': Then, assuming we use the method 1 above, the pseudo-code should like:lcd_addr = lcd_data;gpio_E = LOW;After the first clause, the /CS should goes to high, what's the state of the data bus, will it hold the data last output??? Or it will go to high impedance after /CS high? How can we make sure the LCM to latch the correct data?For method 2, the situation should be similar.Anyone ever tried ST's method?#stm32 #6800 #lcd
Posted on February 24, 2017 at 08:19I am transferring 240x320 image in RGB565 format to USART.But unable to get full image because USART speed is not matching with DCMIPixel Clock for DCMI_DMA:12MHzUSART speed:921600I am using DCM_DMA in snapshot,circular mode & USART_DMA in normal modein main,HAL_DCMI_Start_DMA(&hdcmi,(uint32_t)DCMI_MODE_SNAPSHOT ,(uint32_t)image,9600);In IRQ, (void DMA2_Stream1_IRQHandler(void))HAL_UART_Transmit_DMA(&huart2,ptr,38400);I am attaching my output image,How should I solve this problem??#usart #dcmi #camera #stm32
Posted on December 11, 2014 at 17:08Hi:I am using the STM3221G-EVAL board and trying to use a a different TFT display than the original that came with the board. The original display is an Ampire display that uses a Ilitek controller ILI9320.The new display I want to use is a Newhaven display that uses Solomon SSD1963.I have downloaded the STemWinLibrary522 from ST website and tried on the EVAL board. This library is supposedly to be configurable to work with different controllers. However, when I ran the STemWimDemo with the Ampire display works fine, but when I switch over the New Haven display I got vertical colored lines. I have changed the LCDConf_stm322xg_eval.c file so the firmware will switch over the SSD1963 controller.Hardware wise, I made a breakout board to re-route the data lines and control lines and everything there seems to be fine.I found out later that the vertical colored lines could be an initialization problem. When I looked at the code it looks like th
Posted on February 20, 2017 at 00:30I am trying to implement FSMC in order to drive an ili9341 LCD in 8080 mode. However to distinguish between command and data I need to toggle the RS(register select pin) which according to reference manual AN2790 should be connected to pin Ax. It appears that the Ax pin is just always LOW, and I don't know how to toggle it. I am using HAL_SRAM_Write8b(&hsram1, (uint32_t *)0x60000000, buff, sizeof(buff)); and it appears to work as I can toggle the LCD display on and off, which leads me to beleave that it recognises commands I just need to toggle Ax HIGH so that I can send paramaters.I am using an stm32f407vgt6.#stm32f4-discovery #lcd #fsmc #tft #sram
Posted on February 17, 2017 at 11:28Hi,I am using STM32f429i. One of our requirement, I want to change the background color of my screen depends on the reading value(reads from other devices).For eg : Reading value > 5 - use color A ,Reading value >3 - use color B ...etc .I cleared the screen and fill with the color A or B depend on the reading value and then display the other details over on it. Since frequently I changing the background color and redraw the details over there, it creates a flickering effect on my screen. Which one is the best method to change the background color without affecting the other details (images, text display) on the screen?Thanks,Param.#stm32f4 ##emwin #segger-emwin-lcd-driver
Posted on February 13, 2017 at 16:57HelloIt is mentioned in the dcmi section of the stm32f4 electrical specification that the max pixel clock is 54MHz with 14 data lines which yields to 94.5MBps throughput, but the max throughput is said to be 54MBps in the dcmi section of both datasheet and reference manual.#54 #94.5 #throughput #stm32f4-dcmi #confusion
Posted on February 16, 2017 at 14:09I am in need of interface AT070TN92 V.X with stm32f103vct6. I found that SSD1963 is good to interface AT070TN92 V.X with stm32 controller. But i need to know that is it compactable with stm32f103vct6.
Posted on February 12, 2017 at 11:59I am using STM32F4 Discovery board,extension board & STM32F DIS Camera 1.3MP OV9655.I am having two questions on this,1] If I need to transfer image with 1280 x 1024 resolution then can I send from DCMI peripheral to USART directly or I need to store an image in external SRAM first then to USART??2] If I need to store image with 1280 x 1024 resolution in SD card then what are the steps I need to follow??Most of the examples on the internet are camera with LCD. In those examples image is stored from camera to LCD SRAM & from LCD SRAM to SD card. (Correct me if I am wrong)I am not using LCD.#usart #stm32f4-discovery #dcmi-dma-camera
Posted on January 14, 2017 at 22:08In CubeMX, when I select STM767ZITx, and enable DCMI, then LTDC turns red and is said to be in conflict with DCMI. That's very surprising � is there really no way to capture camera output and display it on a LCD? I saw such projects on the internet, they were for STMF4, though. However I doubt that F7 would have more restricted configuration than F4. Is LCD really blocked?Best regards,Sebastian#f767zl #ltdc #dcmi #f7
Posted on February 03, 2017 at 13:04Hi,I'm currently planning to use the STM32F769NI micro controller hence, started to work with 'STM32F769I-EVAL evaluation board' as a starting step.Since, I need a GUI to show graphical update to LCD, we are planning to use TouchGFX for the same with STMCubeMX and STM32CubeF7 package. I have seen the TouchGFX is also present on the desktop of STM32 and curious to know how it is actually integrating.Is there any code or reference available for integrating TouchGFX into the STMCubeMX+STM32F7 package? In a nutshell, I will make the GUI separately with expecting the values and those values will be calculated and send it from STMCubeMX+STM32F7 package. We are planning to use FreeRTOS for both.Any help would be appreciated.Thank you in advance,Ajith P V#stm32f769i-eval #stm32
Posted on January 26, 2017 at 17:24Hi,First of all: I'm working with a STM32F429I DISCO-1 with the IDE SW4STM32.I was trying to find out how to use the graphic library STemWin some days ago, but couldn't understand some things in order to do it. Even asked under another person's question, but I still don't know how to use it. Because this question would be a little off topic, a created this new one.My question is regarding all the process involving the 'includes' I have to do and where and how excactaly I have to put the files of the STemWIn library. I a hundred per cent don't know how to do it, even because I haven't worked much on Eclipse.Also, one thing that made me really confused was the use of the function 'MainTask()' on the Hello World example. It seems that there's no link between the main.c file and the BASIC_HelloWorld.c file. So, where is actually this link?Thank youV�tor Pereira#sw4stm32 #stm32f429i #stemwin
Posted on January 22, 2017 at 14:24The demo graphics on the F746G-Discovery and the F469NI Disccovery look good. But so far, implementing graphics is a lot more complicated than I think it should be. I read enough source code in the repository installed on my system by CubeMX to see that either BSP or STemWin look like what should be used. I have not been able to convince CubeMX to create BSP or STemWin sections, as it seems to do for FreeRTOS, for example. So I tried to build projects directly in the repository. However, when I try to build one of those projects, I get very basic errors like missing files, or compile errors. 1) Has anyone built their own project with graphics above either BSP or STemWin? 2) What development system are you using?3) What were the critical steps to get to a working 'hello world', and drawing a coloured line from x1y1 to x2y2?I am using Raisonance, which has been generally easy to use in developing software layered on HAL w
Posted on January 03, 2016 at 09:50Hi All I am a newby here and with STemwin. I am using the System Workbench for STM32. The hardware is the STM32F429I-DISCO board. I am attempting (as a first) to build a basic window with frame and two buttons using the GUIbuilder provided with STemwin. I have a problem that compiler or linker does not find reference to WM_GetDesktopWindow'. Although if I use the IDE to open the definition I can get to it so it does exist in WM.h I tried all things that my little knowledge allows but I cannot seem to track this error down. Any assistance will be much appreciated. #!stm32 #stemwin
Posted on December 29, 2016 at 13:18There are some nice feature updates in STemWin v1.2.0 compared to v1.1.2. However, seems that the new version is quite much slower. We are using Linear driver. What has changed in the configuration in between?#stemwin
Posted on May 14, 2014 at 10:03hi,I'm learning how to use STemwin,so my 1st routine''hello world'' doesn't work well.GUI_DispStringAt(''Hello World!'', 0, 0); shows all words in reverse at top-right,but all letters are correct. I set Config.Orientation = GUI_MIRROR_X; (LCD_X_Config in LCDConf_FlexColor_template.c), if I set Config.Orientation = 0; all words show still at top-right and each letter is also in reverse. I am really confused what happened, it seems the coordination (0,0) is set at top-right. The display controllor is ILI9481,MCU is stm32F407, can somebody help me out? Thanks in advance. #stemwin
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.