本贴主要介绍裸机+LVGL性能以及移植需要注意的问题。 先说性能(测试LVGL跑分例程): CPU:stm32Mp135D 显示屏:1024*600 性能1:650M(cpu频率) 185fps(平均帧率) 性能2:900M(cpu频率) 185fps(平均帧率) 避坑(下面操作不一定是正确的,小伙伴有更好的办法可告诉我): 1、直接使用官网例程LTDC_Display_2Layers作为APP进行配置(默认打开cache,如图标记,有两个宏即为打开)。 2、因为打开了cache,使用需要配置一下MMU才可以,否则会花屏。 配置操作如下: 说明:图1是显存地址,定义到.ldtc节。ltdc节的定义在ld链接文件,如图2&3。 这里我有一个疑问:我尝试使用attribute((at(0xC1000000)))定义,但是无效。 上述操作只是为了定义显存地址为0xC1000000,方便MMU保护。 MMU保护代码修改如下(mmu_stm32mp13xx.c): 这里将0xC1000000,大小为2M的地址空间设置为Write Through模式。在此模式下,数据写入的时候会直接写入到存储器。具体解析可看相关资料。 这里我也有个疑问:直接在line245设置为透写,即设置整块DDR是不行的,还是会花屏。具体原因我不太清楚。 3、LVGL配置与加速 a、Lvgl的绘制函数disp_flush,我使用的是直接用CPU绘点。不知道大家有没有好办法。 b、使用定时器作为lvgl的时钟源。(我在APP代码里没找到滴答时钟的中断入口) c、编译器需要开最高优化,否则性能差别很大。 |
stm32cubeide怎么取ImageER_IROM1Limit
cubeIDE在运行时显示Failed to execute MI command是什么问题呢?
LL库变成黑色,不能用,怎么回事
如何使用STM32CubeIde生成BLE Audio工程
用stm32cubeide生成的STM32G030F6P6代码只要一开中断,任何中断程序都会跑飞.
stm32mp135d下载失败
STM32MP157的opengl库
关于stm32cubeide下载问题
cubeide 1.15.0 Build Analyzer 不显示内容 有会解决的吗
stm32cubeide如何修改芯片型号和启动文件
厉害了,大佬