
本贴主要介绍裸机+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 报错 编译STM32MP135(Projects\STM32MP135C-DK\External_Loader)
STM32N6的摄像头下采样是怎么实现的
CubeIDE生成MP257的M33工程出现RCC配置问题(Bug?)
STM32MP135D的TIM2使用ETR作为外部时钟时,无法使用PE15作为输入
STM32IDE如何设定代码到ITCM中运行。
stm32ide怎么正确的导出项目
我在打开应用程序的时候,它报了图片里面的错误,还没进入安装界面
STM32MP157D调试M4内核的问题
STM32MP135移植lvgl build fatal error: drm.h: No such file or directory
STM32MP135无法用NFS开机挂载文件系统启动,报错root '/dev/nfs' doesn't exist
厉害了,大佬