[RISCV][教程]将LVGL8.2移植到CH32V407

目录

  1. 下载MounRiver
  2. 开发板介绍
  3. 环境创建
  4. LVGL移植
    1. 文件准备
    2. LVGL配置文件
    3. LVGL port文件
    4. lv_example测试
    5. 插曲
  5. 编译运行
  6. Link.ld配置

1. 下载MounRiver


官网下载,然后直接无脑下一步就好了 MounRiver Studio

别看篇幅长 ,移植教程一点都不难,就是图多,为了方便大家跟着走

2. 开发板介绍


本次使用的开发板是用了「赤菟CH32V307开发板」详细介绍链接

基于 CH32V307VCT6 ,RISC-V 内核

image-20220422142555334

3. 环境创建


避免篇幅过长,直接参考这个链接

看完上面的链接然后再看下面的

由于默认模板和「赤菟CH32V307开发板」的 MEMORY 字段不匹配,特别注意这个,这个不急,看一眼就行,下面会提到:
image-20220422142736301

image-20220422143013863

4. LVGL移植


1. 文件准备

移植LVGL肯定要下载LVGL啦,在 MRS 项目的根目录下,使用 Terminal 执行

git clone https://github.com/lvgl/lvgl.git -b release/v8.2

然后下载官方提供的 LCD库函数,来到Gitee仓库

下载这两个文件,led.c led.h

image-20220422150502037

下载之后,放到自己的 User 目录下

image-20220422150558827

2. 配置文件

lv_conf_example.h 改为 lv_conf.h

image-20220422144213314

将其使能

image-20220422144302192

3. LVGL_port文件

lv_port_disp_template.c 改成 lv_port_disp.c

lv_port_disp_template.h 改成 lv_port_disp.h

image-20220422144550296

进入lv_port_disp.h,添加

#include "lcd.h"

#define MY_DISP_HOR_RES LCD_H
#define MY_DISP_VER_RES LCD_W

进入lv_port_disp.c,修改

image-20220422145214705

在此文件,修改,三种形式,这里选择第一种移植,剩下的两种注释掉

image-20220422145247527

在此文件的 disp_flush函数,添加描点函数,此函数位于led.c

 lcd_draw_point_color(x, y, color_p->full);

image-20220422145722440

4. 使用 lv_example 测试

返回 main.c

删除所有,然后修改如下

#include "debug.h"
#include "lvgl.h"
#include "lcd.h"
#include "lv_port_disp.h"
#include "lv_examples.h"

int main(void)
{
    
    
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
    Delay_Init();
    USART_Printf_Init(115200);
    printf("SystemClk:%d\r\n",SystemCoreClock);

    lcd_init();
    LCD_SetBrightness(40);
    lv_init();
    lv_port_disp_init();
    
    lv_example_meter_1();

    while(1)
    {
    
    
        lv_tick_inc(1);
        lv_task_handler();
        Delay_Ms(1);
    }
}

! 插曲!!!

都移植到这里了— 没想出来差点啥?

是的!我们要指定文件路径呀!!!

右键你的工程,点击属性,添加选住的地方,(没办法,复制不来)

image-20220422151030171

5. 编译运行


差了一步?No No No, 你编译之后知道了,如果没报错,恭喜你!报错了?别慌

看看报的啥错误,头文件错误直接去对应文件改就行

要是报.BSS段错误,来看第六个

img

6. 修改link.ld


image-20220422143013863

编译运行,下载就好了。

本文完----

参考:

Little VGL(LVGL)图形库移植到CH32V307单片机(二)

猜你喜欢

转载自blog.csdn.net/qq_38844263/article/details/124348064