![shequ.stmicroelectronics.cn](./template/st_v1/static/img/logo2.png)
本贴主要介绍裸机+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、编译器需要开最高优化,否则性能差别很大。 |
STM32MP157使用qt5问题
STM32MP157D使用分立电源的问题
STM32MP157D的LCD屏幕问题
git问题
如何用cube ide 对某个或者多个.c文件生成静态库
使用CUBE IDE无法通过IAP跳转APP进行软件升级
stm32g474的开发板很烫
Stem32CubeIDE能像Keil一样指定不同文件下的代码编译到不同的FLASH地址吗?比如部分代码存放到内部FLASH,另一部分存放到外部QSPI的FLASH中
STM32MP157的Linux移植
STM32MP157AAC3 1GB DDR 编译运行报错
厉害了,大佬