43 lines
2.3 KiB
Markdown
43 lines
2.3 KiB
Markdown
|
# 基于飞腾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);输出支持像素格式:RGB2101010,RGB888,RGB666,RGB555;兼容 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,测试验证通过。
|