查看: 697|回复: 3

[分享] [LPC55S69] [RT-Thread] LVGL移植适配

[复制链接]
  • TA的每日心情
    开心
    2024-3-26 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3300

    主题

    6547

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    32035
    最后登录
    2024-4-26
    发表于 2023-6-15 15:10:57 | 显示全部楼层 |阅读模式
    [LPC55S69] [RT-Thread] LVGL移植适配

    LVGL(轻巧而多功能的图形库)是一个免费的开放源代码图形库,它提供创建具有易于使用的图形元素,精美的视觉效果和低内存占用的嵌入式GUI所需的一切。

    本文使用LPC55S69_EVK 开发板,ST9976显示驱动,GT911触摸驱动,实现 RT-Thread 下LVGL 的移植适配。

    硬件搭建
    1.  触摸屏使用的是NXP-LCDM-S 模块,搭载ST9976 显示芯片和GT911触摸芯片:
    11.png
    2.  将NXP-LCDM-S模块通过PMOD接口接入到LPC55S69_EVK上,简单操作无难度,直接插上即可:
    12.png
    3.将准备好的USB线连接到LPC55S69的P6(DebugLink)上。
    LPC55S69与NXP-LCDM-S 模块各IO接口与功能之间的对应关系表
    13.png
    触摸屏的基本驱动

    1. 触摸屏使用NXP-LCDM-S 模块,搭载ST9976 显示芯片和GT911 触摸芯片,在开始移植适配 LVGL 驱动之前,需要先将 ST9976 和GT911 分别对接到 RT-Thread 的LCD 和Touch 设备框架. 如果用作个人使用,也可不对接,向 LVGL 提供 LCD画点接口和触摸点读取接口即可;

    2. 首先进行 ST9976 显示芯片的驱动,ST9976 与 LPC55s69 之间通过四线SPI 通讯,需要将NXP-LCDM-S 模块背面的跳线拨为111,如下图所示:
    14.png
    3. LCD驱动对接完成后进行显示测试,如图:
    15.png
    4. 接下来进行 GT911 触摸芯片的驱动对接,需要注意的是 GT911 可以通过操作 RST 和 INT 引脚设置不同的 I2C 从机通讯地址,并且由于触摸屏模块中 ST7796 和 GT911 共用同一个 RST 引脚,操作的时候需要特别注意;

    5. GT911 触摸驱动对接完后进行测试,串口打印触摸点坐标;

    6. ST7796 和 GT911 同时驱动测试,在屏幕上显示触摸的轨迹,从而进一步测试显示和触摸的坐标系是否对应,测试效果如下:
    16.png
    LVGL的移植适配

    显示和触摸驱动对应好后就可以开始 操作LVGL 的移植适配:首先可以复制一个已经对接好的 LVGL 文件作为模板,在此基础上进行修改,例如rt-thread-master\bsp\stm32\stm32l475-atk-pandora\applications\lvgl ,结合板卡情况修改其中的lv_conf.h 、lv_port_disp.c、lv_port_indev.c 三个文件即可, SConscript 自行按需修改。
    1. 对接显示接口:在lv_port_disp.c中对接 LVGL 的显示接口,在disp_flush 函数中填入自己的 LCD 绘制函数。
    2. 对接触摸输入接口:在lv_port_indev.c中对接 LVGL 的输入接口,LVGL 支持多种类型的输入设备,例如触摸,键盘,编码器等。输入接口必须初始化 lv_indev_drv_t 变量,最重要的是实现其 read_cb 回调函数,从而获取触摸信息。

    配置RT-Thread, 编译下载工程


    在实验开始前,需要搭建RT-Thread开发环境,目前RT-Thread 主仓库 LPC55S69 已经适配 LVGL,可以进行使用体验。

    1.进入\rt-thread\bsp\lpc55sxx\lpc55s69_nxp_evk目录,打开RT-Thread scons命令行配置工具, 输入menuconfig 进入配置界面:
    17.png
    2.进入以下目录勾选使能 LVGL 及 Demo 例程:
    18.png
    3.进入以下目录,检查并勾选使能对应外设:
    19.png
    LPC55S69 的LVGL已经配置上了,退回到scons命令行界面,首先输入 pkgs-update命令获取软件包,成功后输入scons –target=mdk5 生成新的MDK工程:
    20.png
    Keil-MDK project has generated successfully! Keil工程生成成功。

    双击打开Project.uvprojx Keil工程文件,编译工程,下载到开发板:

    下载后按一下板子上的复位按键,看到可以看到触摸屏上已经出现了日历 Demo 的界面,可以触摸调整年月份:
    21.png
    现在RT-Thread下LPC55S69的LVGL移植适配就完成啦!

    欢迎大家快去下载体验一把,把LVGL玩起来吧!



    手头有RT1060或者LPC55S69的都可以整起来了







    签到签到
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-11-7 14:09
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    2

    主题

    47

    帖子

    0

    注册会员

    Rank: 2

    积分
    188
    最后登录
    2024-1-3
    发表于 2023-6-15 19:34:17 | 显示全部楼层
    我有LPC55S69 ,但是没有NXP-LCDM-S  怎么办?
    老子今天不上班
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-3-26 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3300

    主题

    6547

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    32035
    最后登录
    2024-4-26
     楼主| 发表于 2023-6-16 14:48:56 | 显示全部楼层
    fly015 发表于 2023-6-15 19:34
    我有LPC55S69 ,但是没有NXP-LCDM-S  怎么办?

    买个别的屏幕,画个转接板
    签到签到
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-10 22:38
  • 签到天数: 1335 天

    [LV.10]以坛为家III

    88

    主题

    4292

    帖子

    12

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    9049
    最后登录
    2024-4-13
    发表于 2023-6-25 09:42:42 | 显示全部楼层
    高主频的优势呀
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-28 00:57 , Processed in 0.151523 second(s), 24 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表