|
好不容易把STM32H7B0的显示调通了,移植LVGL8.3后 , 用官方的Benchmark测试,发现FPS只有96,感觉有点低了。
板子情况如下:
1,FMC + DMA +ST7789+ 320x240分辨率LCD
2, LVGL刷新缓冲区开的是双缓冲,是放在内部的AXI SRAM(0x24000000开始的那个)
3,由于7B0内部flash只有128K,所以除了LVGL的core代码放在内部flash,其他部分包括Becnhmark的测试Demo都放在外部QSPI flash
4,LVGL中所涉及到的所有的缓冲区和变量都放在AXI SRAM
4,外部QSPI flash用的是W25Q128,并开启了内存映射模式 + 读写Cache. QSPI flash的时钟是140M超频使用。
5,MDK的优化已开到最大--O3 + Optmize for Time优化。
因为AXI SRAM的频率已经是280M了,和CPU同频,所以没有开启AXI SRAM的Cache, 不知道需不需要开启?
总体感觉,FPS不应该只有96,以前用国产M4核MCU, 虽然国产MCU的flash和RAM比较大,LVGL的所有代码都是放在内部Flash和RAM,FPS随随便便300以上,某些测试达到500多也是很常见的。
但这是STM32H7B0是M7 核,再怎么也不能这么拉胯吧?
我看网上别人也是用STM32H7B0 + FMC, LVGL代码也是放在外部QSPI Flash,FPS居然能做到200以上,不知道是怎么优化的。
STM32H7B0 驱动480*320 8080 运行LVGL
|
|