HLK-W801-LVGL8之源码移植

前言

最近入手的一块HLK-W801开发板,加上早年买的一个ALIENTEK开发板中附带一块TFTLCD触摸电阻屏,看到网上的大神们都已经玩得很溜,刚好这样有条件用W801来玩一下基于LVGL的GUI开发,跃跃欲试。
先完成移植工作,看到官网和网上资料也很多,可以帮助自己更快的完成这个工作,主要内容包括三部分:
1. 源码移植
2. LCD驱动移植
3. 触摸驱动移植

本篇文章介绍第一部分:源码移植

移植思路

1) 浏览官网或其他中文网站关于lvgl的说明,先了解移植基础知识;
这里给下参考的链接:http://lvgl.100ask.org/8.1/get-started/index.html
2) 下载源码,访问github或gitee获取仓库,这里选择下载lvgl-8.2.0和lv_drivers的官方驱动,先从已有的例子上入手
3) 开发环境准备好,这里在HLK官网下载w801的代码与安装好CDK集成开发环境;
代码链接:https://h.hlktech.com/Mobile/download/fdetail/170.html
版本:wm_sdk_w80x_20211115(.zip)
CDK版本:2.10.3
4) 通过移植的说明文档,找到关键的移植说明和接口 链接请添加图片描述
关键的移植文件
lv_conf.h: 全局GUI的驱动/应用配置文件
lv_drv_conf.h: 主要的底层驱动接口文件,由不同驱动芯片调用
关键的系统调用接口:
lv_tick_inc(tick_period) 接口:一个系统滴答来了解动画和其他任务所用的时间
lv_task_handler()接口:定时处理 LVGL 的任务

5)驱动接口的移植
搞清楚手上TFTLCD的规格和引脚定义;从原理图或驱动资料中得知这里驱动有两个;一个是显示的驱动芯片ILI9235,另一个是触摸的驱动芯片XPT2046
6)移植文件的文件组织
具体的源码文件需要放置的哪个目录,理清驱动文件和源码的关系
7)结合原理图和W801的引脚定义及驱动要求,考虑硬件接线

文件组织与移植

请添加图片描述

  1. 配置文件
    lv_conf.h
    lv_drv_conf.h
  2. lvgl显示与输入接口
    portin中的lv_port_disp和lv_port_indev文件
  3. 显示驱动接口
    lv_drivers->display->ILI9325.c/h
  4. 输入设备驱动接口
    lv_drivers->indev->XPT2046.c/h
  5. W801平台接口
    lv_env->lv_env_wm80x.c

层次关系说明

请添加图片描述

硬件引脚连接说明

请添加图片描述

编译问题说明

1) 编译源码时,很多处地方提示“error: conflicting types“ 的错误
如下图所示:
请添加图片描述
这里并没有找到原因,临时的解决方案是在lv_conf.h中增加一个头文件 <string.h> 包含来解决;这个还要后续排查一下头文件的包含找找真正的原因
请添加图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值