cancel
Showing results for 
Search instead for 
Did you mean: 

Hi, I want to use STM32F207VG to drive a TFT ( paralel not with SPI) .First I dont know is it possible to use FSMC without external memory. I intend to use Emwin library but CubeMX doesnt have option when select NUCLEO-F207ZG or STM32F207 cpu

AKINI
Associate III
 
11 REPLIES 11

The display would typically need it's own frame buffer if you access the controller via the FSMC.

You might have to create your own drivers and port the supporting code.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Hi

"The STemWin Library is a professional graphical stack library enabling the building up of

graphical user interfaces (GUIs) with any STM32, LCD/TFT display and LCD/TFT controller,

taking advantage of STM32 hardware acceleration whenever possible."

From ST app. note.It says any STM32. How it can be used parallel TFT without LTDC like STM32F207VG

S.Ma
Principal

FMC should be able to run the 6800/8080 parallel LCD interface.

If your screen is small and frame buffer can well fit in the SRAM, you might be ok.

T J
Lead

You need to have spare RAM for the frame buffer,

what size is your screen ?

eg 400x240 at 24bit is 400x240x3 = 288KBytes spare...

otherwise in 8bit mode is only 96Kbytes

AKINI
Associate III
Hi Our TFT is 320*480 I think FSMC cant be used with internal memory Also the big problem is to implement Emwin without ltdc and fsmc 25 Ara 2019 Çar 09:57 tarihinde ST Community şunu yazdı:
T J
Lead

Yes, you can use internal memory.

132kBytes limits you to 8 bit Colour

Yes it should work,

do you use the cube for initialization ?

I am off to Christmas dinner now, catch you on the other side.

Merry Christmas

berendi
Principal

It's possible only if the TFT panel has its own framebuffer memory (often called GRAM in the panel controller datasheet), and an MCU interface. Displays with only RGB interface require LTDC. So the answer is in the datasheet of your display.

Contrary to some answers above, the amount of MCU SRAM is irrelevant (though Emwin needs a few kilobytes work area). Emwin supports drawing directly to panel GRAM. You have to write the driver, CubeMX won't help you.

I'd suggest that you write a standalone display driver first. You have to initialize the communication mode (might involve setting some hardware bridges), set the display parameters, then figure out how to write pixel data to an arbitrary GRAM address.

If the display interface is working, and you can draw simple objects (single pixels, horizontal and vertical lines), then you can add the emwin library and headers to the project, and integrate the initialization and drawing function into the GUIDRV_FlexColor driver.

Hi berendi , thank you very much for your answer

TFT driver is ILI9488 and yes it has GRAM .

I have to write my own driver because there is no external RAM to use with FSMC. Thats right?

I know its not easy to write driver.

berendi
Principal

A TFT panel with an MCU interface does not require external RAM. The presence of an external RAM would only complicate things, because the FSMC in the 100-pin STM32F207VG supports only a single peripheral, either RAM or LCD, but not both at once. Then you'd have to access the display without the help of FSMC, not impossible, but unnecessarily complicated. External RAM were only useful with an RGB interface driven through LTDC.

Looks like emWin has some support for ILI9488, see the FlexColor driver GUIDRV_FLEXCOLOR_F66709, but only up to 16 bits/pixel (RGB565, 65536 colours). In order to have 18 bits/pixel (RGB666 mode), some more work is needed. 24 bits/pixel were only available with LTDC, because the internal GRAM is not big enough for 24 bpp.

In order to use the FlexColor driver, you'd still have to

  1. Set up I/O pins and the FMC controller. Test with reading the status registers, sending simple commands and verifying by read power mode (0x0A)
  2. Initialize the display. Some pseudocode is usually provided by the display vendor. You should see a stable picture, be able to draw pixels/lines.
  3. Provide read/write command/data functions for emWin.