|
本贴主要介绍裸机+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、编译器需要开最高优化,否则性能差别很大。
|
STM32F405rgt6 I2S DMA输入会造成卡死,这个芯片有BUG
带FSMC功能的单片机最小封装是多大的?
有没有大佬更新了CubeIDE2.0.0,在软件内更新后体积大了一倍
STEVAL-STWINKT1B应该能跑AI吧
大家目前使用哪个版本的STM32CubeIDE?
STM32MP157DAA1进行异核通信时配置初始化 函数无法进入
STM32MP157D调试M4内核的问题
STM32CubeIDE能将当前的文件加密成a库文件吗?
debug配置不同得模式对在线调试有什么影响?
大家的GUI素材都是在哪里找的
微信公众号
手机版
厉害了,大佬