cancel
Showing results for 
Search instead for 
Did you mean: 

CubeMX and Touchgfx with custom board

bindhawa
Associate II

HI,

I am using a custom board with STM32F429IGT, and 480X272 TFT screen which are wired to LTDC Pins . The TFT part number is K430WQA-V4-F.

I built a Project using CubeMxVer 5.1 and Touchgfx Ver 4.1.

Compiled and downloaded the code in the board after removing the simulator files in the code.

In the Touchgfx ,made a application with two screens each having one image ,which toggle every 1 sec.

When , I run the code, the display is blank.The Touchgfx is not updating the screen and toggling the screen.

The hardware is working good . I checked this by manually updating the framebuffer start address in the HW_Init.cpp file to a picture address i used in the touchgfx application.

But if i keep the Framebuffer start address as 0x0000000 in the cubemx and generate the file again , the screen is blank.

Dont know what is missing

9 REPLIES 9
HP
Senior III

your framebuffer start address should be 0xC0000000

Martin KJELDSEN
Chief III

"Hardware is working good" - Could you elaborate on what you mean by that?

Are you receiving interrupts from the LTDC to drive TouchGFX?

/Martin

I tried 0xC0000000. But the screen is blank. Is this address we can choose by our own?

bindhawa
Associate II

I guess hardware is working good because when i Place the pLayerCfg.FBStartAdress = 0x08012b10 in the HW_Init.cpp file ,then i can see the image on my tft screen .see the snapshotbelow.

0690X00000BugVgQAJ.png

But i am expecting that when the osKernelStart(); is executed in the main.cpp , the tft screen should be showing the images from the touchgfx .But it is not.

I used different values of start frame buffer address in cubemx.but nothing helps.0690X00000BugWAQAZ.png

I have done similar setup in DISCOVERY STM32F429 EVAL BRD . It works very good in the DISCOVERY board ,but doesnot works on my custom board.

bindhawa
Associate II

I have attached my work .Can some one review this for what i am missing ?

bindhawa
Associate II

Hi Martin , Finally my screen is live and i am able to run my program on custom board .

I have added a rotary encoder to my hardware and a scroll wheel on touchgfx.The idea is to update the scroll wheel when rotary encoder is moved .I have created a second task on the main.cpp to handle this task and it works great.

However I have came across couple of issues.

1)The scroll wheel work great most of the time ,but some times it freezes and doesnot take any input from the rotary encoder.Do not know why? I have to reset the controller to make is work again.I believe I am getting hard fault .

2)I have used 80% of my internal Flash memory by adding couple of images on the Touchgx. I want to transfer the images to external SPI FLash (S25FL164K) connected to my SPI port of STM32F429IGT using MISO, MOSI, SCLK and NSS pins.

The example given on youtube is great using QSPI

https://www.youtube.com/watch?v=237lPdMsDZs

But I donot have QSPI on my board and wanted to use SPI FLash (S25FL164K). Any help would be great .

I'm not really sure what you mean by "freezes". Does the entire application freeze, or just the scroll wheel? Are you receiving data from the encoder and expect the scroll wheel to move? Can you verify if you're actually getting a HF?

If you do not have a memory mapped flash you'll need to use bitmap caching - We're working on a closer integration with serial flashes.

Check https://touchgfx.zendesk.com/hc/en-us/articles/203564102 and https://touchgfx.zendesk.com/hc/en-us/articles/205953932-Caching-bitmaps-on-systems-with-limited-RAM

bindhawa
Associate II

Hi Martin,

Thank you very much for your reply.

My entire application freezes. I have to recycle power to make it work again.I checked today . I donot get HF when the application freezes.Is this freezes because i am using 80% of my internal flash memory.

Can anyone upload a video for bitmap caching for non memory mapped SPI FLASH. I am getting lots of errror by following the above article.

What kind of errors?

I don't have time to do much in the realm of videos these days, but i'll take your request as input.

/Martin