关注嘉友创科技公众号

LittlevGL 6.0 移植到STM32F429平台_LittlevGL移植

移植准备
  1. STM32F429B开发板:反客开发板+4.3寸RGB屏(性价比最高)
  2. 准备一个完整的F429B工程,可以实现DMA2D刷色块,定时获取触摸的值。
  3. LittlevGL 6.0 库:​​https://github.com/littlevgl/lvgl​​   ------------LittlevGL源码
  4. LittlevGL examples : ​​https://github.com/littlevgl/lv_examples​​   ------------LittlevGL的demo

注:随着LittlevGL的升级,移植过程可能不同,因为存在个别函数名称修改,建议选择最新的LittlevGL。

LittlevGL 6.0 移植到STM32F429平台_头文件_02

LittlevGL 6.0 移植到STM32F429平台_LittlevGL移植_03



增加LittlevGL
  • 增加目录:从github上下载下来

LittlevGL 6.0 移植到STM32F429平台_javascript_04

  • 增加源码到工程中

LittlevGL 6.0 移植到STM32F429平台_头文件_05

LittlevGL 6.0 移植到STM32F429平台_LittlevGL移植_06

LittlevGL 6.0 移植到STM32F429平台_LittlevGL移植_07

  • 给工程添加GUI相关的头文件

LittlevGL 6.0 移植到STM32F429平台_github_08

经过上面步骤后编译的话,会一阵酸爽。

LittlevGL 6.0 移植到STM32F429平台_javascript_09

 



开始代码移植
  • 增加宏和头文件

LittlevGL 6.0 移植到STM32F429平台_F429_10

LittlevGL 6.0 移植到STM32F429平台_javascript_11

LittlevGL 6.0 移植到STM32F429平台_github_12

  • 打开文件lv_conf.h,修改多处。

LittlevGL 6.0 移植到STM32F429平台_头文件_13

LittlevGL 6.0 移植到STM32F429平台_javascript_14

颜色深度可以不改

LittlevGL 6.0 移植到STM32F429平台_LittlevGL移植_15

LittlevGL 6.0 移植到STM32F429平台_LittlevGL移植_16

修改下这个位置

LittlevGL 6.0 移植到STM32F429平台_LittlevGL移植_17

 

此时编译已经没有报错了,只有警告,不管。



显示驱动函数移植

lv_port_disp_template.c和lv_port_disp_template.h两个关键文件

LittlevGL 6.0 移植到STM32F429平台_github_18

LittlevGL 6.0 移植到STM32F429平台_LittlevGL移植_19

LittlevGL 6.0 移植到STM32F429平台_头文件_20

触摸驱动函数移植

lv_port_indev_template.c和lv_port_indev_template.h两个关键文件

LittlevGL 6.0 移植到STM32F429平台_F429_21

心跳

LittlevGL 6.0 移植到STM32F429平台_头文件_22

 

跑个demo

添加

LittlevGL 6.0 移植到STM32F429平台_github_23

修改,加两个宏才能跑这个demo

LittlevGL 6.0 移植到STM32F429平台_github_24

主函数处理

LittlevGL 6.0 移植到STM32F429平台_LittlevGL移植_25

演示

LittlevGL 6.0 移植到STM32F429平台_javascript_26

LittlevGL 6.0 移植到STM32F429平台_javascript_27

LittlevGL 6.0 移植到STM32F429平台_头文件_28