Skip to main content

LVGL_Demo

一 软件配置

以RD_AD100_EVB_V1.0开发板为例 , 屏幕为FW050, 触摸屏为gt9xx, 使用ad100_evb_v10_lvgl_nor_defconfig配置 , 实际根据硬件需要配置

1.1 LCD相关配置

打开iconfigtool配置页面

1

lcd设备配置

2

1.2 设备电源管理配置

因为lcd和tp电源共用一个io, 需要配置下电源管理

3

1.3 背光配置

4

pwm相关

9

1.4 触摸屏配置

5

i2c配置

6

7

1.5 framebuffer 配置

8

1.6 lvgl配置

10

保存配置

11

二 测试程序

2.1 编写测试程序

lvgl demo位于freertos/example/third_party/lvgl_example.c

#include "third_party/lvgl/lvgl_ingenic.h"

#include <devices/gt9xx_touch.h>
#include <driver/backlight.h>
#include "third_party/lvgl/lvgl/lvgl.h"
#include "third_party/lvgl/lvgl/examples/lv_examples.h"
#include "third_party/lvgl/lvgl/demos/lv_demos.h"

void backlight_use(void)
{
struct backlight *lcd_pwm;

#if defined(CONFIG_PWM_BACKLIGHT0_NAME)
lcd_pwm = backlight_open(CONFIG_PWM_BACKLIGHT0_NAME);
#elif defined(CONFIG_GPIO_BACKLIGHT0_NAME)
lcd_pwm = backlight_open(CONFIG_GPIO_BACKLIGHT0_NAME);
#else
lcd_pwm = backlight_open("lcd_pwm");
#endif

if (lcd_pwm != NULL)
backlight_set_brightness(lcd_pwm, backlight_get_maxbrightness(lcd_pwm));

}

void lvgl_test(void)
{
const char *fb_path = "fb0";
char *device_name = "gt9xx";
/*该demo以gt9xx触摸屏作为lvgl input*/
struct goodix_ts_data gt9xx;
goodix_touch_init(&gt9xx);

backlight_use();

lv_init();

int ret = lvgl_init_fb_display(fb_path);
assert(!ret);

ret = lvgl_init_tp_input(device_name);
assert(!ret);

lv_demo_widgets();

lvgl_start(5*1000);

}

2.2 编译和使用测试程序

修改 vendor/vendor.c ,测试lvgl, 内容如下:

#include <stdio.h>
#include <../example/third_party/lvgl_example.c>
#include <common.h>

void vendor_init(void *arg)
{
lvgl_test();
printf("vendor init...\n");

}

三 编译和烧录

bhu@bhu-PC:~/rtos$ cd freertos                      
bhu@bhu-PC:~/rtos/freertos$ source build/envsetup.sh //第一次编译需要初始化编译环境
bhu@bhu-PC:~/rtos/freertos$ make ad100_evb_v10_lvgl_nor_defconfig
bhu@bhu-PC:~/rtos/freertos$ make
bhu@bhu-PC:~/rtos/freertos$ ls rtos-with-spl.bin 
rtos-with-spl.bin //编译出来的文件

请使用最新版烧录工具

ubuntu版本烧录工具请下载

windows版本烧录工具请下载

烧录配置

12

13

14

点击开始以后,按住BOOT_KEY键不放,再按下RST_KEY以后松手,就可以进入烧录模式,然后再把BOOT_KEY键松开,等待烧录完毕以后即可

四 测试验证

U-Boot SPL 2013.07-00035-gc0c7a2ebd-dirty (Dec 27 2023 - 11:45:03)
ERROR EPC fffff35e
CPA_CPAPCR:0320490d
CPM_CPMPCR:0320490d
CPM_CPEPCR:0190510d
CPM_CPCCR:9a073310
DDR: M14F5121632A type is : DDR2
GD25B512ME 00c8471a 00c8471a
[0.000092] pwm clk rate 1200000000
[0.003623] <<-GTP-INFO->> GTP Driver Version: V2.4.0.1<2016/10/26>
[0.003851] <<-GTP-INFO->> GTP Driver Built@15:47:32, Jan 26 2024
[0.004082] <<-GTP-INFO->> Guitar reset
[0.096477] <<-GTP-INFO->> IC Version: 911_1060
[0.096909] <<-GTP-INFO->> Sensor_ID: 0
[0.097042] <<-GTP-INFO->> Config group0 used,length: 186
[0.097507] <<-GTP-INFO->> X_MAX: 720, Y_MAX: 1280, TRIGGER: 0x01

15