rt-thread-official/bsp/phytium/doc/use_phytium_dc_with_lvgl.md

43 lines
2.3 KiB
Markdown
Raw Normal View History

# 基于飞腾BSP包开发lvgl应用程序
> 本文主要介绍如何利用飞腾BSP包中DC驱动开发lvgl应用程序
- DC 是一个显示控制器,主要完成将 CPU/GPU/VPU 处理后的图像数据,按照 Display 协议处理后送给 DP PHY 接入显示器。飞腾DC主要具有以下特性
支持两路 Display两路 Display 互相独立,支持的 size 有 640×480、 800×600、 1024×768、 1152×864、 1280×720、 1280×960、 1366×768 、 1440×900、 1600×90、 1920×1080 最 大 帧 率 为5.4Gbps/(size*32bit);输出支持像素格式RGB2101010RGB888RGB666RGB555;兼容 DisplayPort1.4/Embedded DisplayPort1.4 协议等。
- lvgl集成了占用小、多平台使用、移植简单、操作简单、开源免费等一系列特点是当前最流行的免费开源嵌入式图形库可为任何 MCU、MPU 和显示类型创建漂亮的 UI。
## 在bsp/phytium 下拉取lvgl package包
- rt-thread 仓库已包含lvgl在线包在实际开发时使用者可按照需求拉取多种版本的仓库代码下面以lvgl-8.3.2为例,其他版本与此类似。
-1.在rt-thread menuconfig中选中lvgl,在ENV环境或ubuntu中使用pkgs --update 更新 packages
![lvgl_select](../figures/lvgl_select.png)
![lvgl_packages](../figures/lvgl_packages.png)
## 在bsp/phytium 下选择DC驱动
![dc_select](../figures/dc_select.png)
## lvgl与 DC驱动交互
-1.lvgl仓库支持适配rt-thread环境,在static void lvgl_thread_entry(void *parameter)中用户可根据自身需要添加或裁剪lvgl组件其中 lv_init(); lv_port_disp_init()必须初始化后才能使用。
![lvgl_env](../figures/lvgl_rtthread_env.png)
-2.在lvgl例程中找到并使用DC驱动
![lvgl_open](../figures/lvgl_open_dc.png)
在void lv_port_disp_init(void)设备注册函数中利用device接口找到并打开dc驱动请确保此时在rt-thread中DC设备已成功注册否则将无法使用
-3 创建一个lvgl demo线程
![lvgl_demo](../figures/lvgl_demo_thread.png)
利用rt-thread time组件给lvgl 提供心跳并创建一个demo线程在线程中用户可根据自身开发情况选择demo或者利用lvgl提供的接口创建合适的UI界面。
以上步骤已在E2000D demo板上进行测试lvgl版本为lvgl-8.3.2,测试验证通过。