2012-03-01 05:49 AM
Hello,
i have working code for SMT32F103 without fsmc controller, and now i was able to make code for STM32F4 with fsmc controller but it look like speed is the same. Where fsmc will give my speed improvement ? or i made something wrong ?2012-03-01 06:37 AM
Perhaps you should provide some more detail on your alternate method, so there'd be some basis to compare-and-contrast implementations. And details of what parameters you're testing and how.
The FSMC provides direct memory space access to external devices, improved cycle times, and DMA transfer capabilities.2012-03-01 07:10 AM
2012-03-01 08:26 AM
I don't know a whole lot about the SSD1963 part, but it strikes me that if the driver keeps track a little more about what registers are programmed with what values are currently set, and tries to optimize/cache run lengths you'll get a lot better speed.
For example, writing characters a pixel at a time setting the X, Y, colour every time seems very inefficient. Doesn't it support sending a raster? or multiple rasters? That's then compounded when you try to write a string of characters. If you can paint a bitmap to a specific X Y location, presumably you could DMA that and offload the work from the CPU.2012-03-01 09:02 AM
ok, just tested side to side, and it looks like it's 2x faster than old driver with cortex m3.
Only optimization i use is by knowing what pixels should be changed, and just fraction of data should be done to make the job. here is good example of my last project: without any optimization, just paint code from ram (no fsmc), and you can clearly see flicker. and now full program with lot's of calculation and massive manipulation to obtain best speed and good user experience (tons of optimization, just right pixel are updated, rest is stationary)2012-03-01 09:08 PM
My friend point out that in system_stm32f4xx.c file PLL_M should be changed from 25 to 8 (since i have that crystal on my discovery board) and that boost 4x again,
and same should be done in stm32f4xx.h, but that won't help alot. Maybe where is more clock setup for making this faster ? ( or best would be buy 25MHZ crystal and solder to board, so default setting will be used ? )2012-03-02 04:47 AM
No, you just change the software to reflect the actual hardware you are using. The F4 is capable of running at 168 MHz using a 8 MHz external oscillator. If USB is not important the 16 MHz internal oscillator should suffice.
Make sure HSE_VALUE, and the PLL settings are suitably defined.2012-03-02 06:15 AM
i made video to compare STM32F407 with STM32F103 rendering same code
Note, is that lcd_set_pixel_color function was used , and it's alot slower than lcd_clear function.2013-03-26 10:25 AM
2013-03-26 10:27 AM
Sorry for including my message as part of the original, quoted, message.
Please click on ''Show quoted message'' to see it.