RTT lvgl在STM32H7上移植的步骤

电子说

1.2w人已加入

描述

LVGL适配

环境

STM32 H7

大体步骤

1.lvgl软件包添加

STM32H7

把对应的文件,复制到app里面

STM32H7

编译会报错,原因是需要添加几个文件,需要把头文件指向这里

STM32H7

再编译,就没问题了

2.cubemx配置ltdc,rcc,clock,mpu

这块比较简单,按照keil里面的配置来设置。最后吧生成的代码和keil的代码对比一下。

MPU_Config():

STM32H7

SCB_EnableICache(); SCB_EnableDCache():

STM32H7

使用以下来替换

STM32H7

SystemClock_Config
对比发现,keil里面多了LTDC的初始化,这个难不倒我们,ltdc通过cubemx配置后,就有对应的初始化操作。按常规流程,把初始化内容放到borad.c中即可。

STM32H7
STM32H7

至此,保证,rcc,clock,mpu,ltdc的初始化能在rtt初始化内完成,即可。

3.移植内容

lv_port_disp.c
lv_conf.h

配置好。这块网上比较多,对着操作就行。

最后需要注意,背光要打开。

app里面的main,lv的demo最好放到线程里面

STM32H7

完成屏幕显示方面的移植,后续进行触摸方向移植。

触摸比较简单,这块屏幕是iic接口

lv_port_indev.h中的if 0打开
lv_port_indev.c中的除了touchpad开放,其他关闭
touchpad_init,touchpad_read,touchpad_is_pressed,touchpad_get_xy适配

最终效果

STM32H7

总结

花了一段时间把 stm32 h7 + cubemx + lvgl + 触摸搞定
主要有keil代码加持,移植起来比较方便,梳理通流程后,移植起来有思路,知道查资料方向

完成内容

内部flash有一个简单boot,跳转到外部flash上
时钟,mpu,dma2d这块通过cubemx配置
ltdc这块通过cubemx配置
触摸,gpio模拟iic,cubemx把gpio占住,统一到cubemx能看到

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分