你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

Stm32Mp135裸机移植LVGL(性能测试)

[复制链接]
睡完了就想吃 提问时间:2024-2-6 00:08 / 未解决

本贴主要介绍裸机+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):

image.png

image.png

image.png

这里将0xC1000000,大小为2M的地址空间设置为Write Through模式。在此模式下,数据写入的时候会直接写入到存储器。具体解析可看相关资料。

这里我也有个疑问:直接在line245设置为透写,即设置整块DDR是不行的,还是会花屏。具体原因我不太清楚。

3、LVGL配置与加速

a、Lvgl的绘制函数disp_flush,我使用的是直接用CPU绘点。不知道大家有没有好办法。

b、使用定时器作为lvgl的时钟源。(我在APP代码里没找到滴答时钟的中断入口)

c、编译器需要开最高优化,否则性能差别很大。

image.png

image.png
image.png
image.png
image.png
image.png
收藏 1 评论1 发布时间:2024-2-6 00:08

举报

1个回答
星海灿烂 回答时间:2024-2-6 08:31:00

厉害了,大佬

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版