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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2019-12-24 1:53 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2019-12-24 3:13 PM
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.
Up vote any posts that you find helpful, it shows what's working..
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2019-12-24 10:22 PM
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2019-12-24 10:50 PM
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2019-12-24 10:56 PM
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2019-12-24 11:27 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2019-12-24 11:38 PM
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2019-12-25 1:27 AM
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2019-12-25 2:44 AM
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2019-12-26 3:34 AM
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
- 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)
- Initialize the display. Some pseudocode is usually provided by the display vendor. You should see a stable picture, be able to draw pixels/lines.
- Provide read/write command/data functions for emWin.
