这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 【瑞萨RA8D1LVGL/LWIP评测】界面移植

共1条 1/1 1 跳转至

【瑞萨RA8D1LVGL/LWIP评测】界面移植

高工
2026-01-20 13:46:50   被打赏 50 分(兑奖)     打赏

【目标】

瑞萨RA8D1 LVGL移植,设计基础界面

【开发环境】

win11

【硬件】

1、CPKCOR-RA8D1B核心板

2、拓展板(CPKEXP-EKRA8X1)

3、ST7796 SPI屏

【开发工具】

1、keil+fsp

【工程准备】

准备一个基于ra8d1的lvgl空白工程。

【界面制作】

使用开源的guiguider制作自定义界面

image.png

【代码移植】

1、生成代码后,复制coustom与generated两个文件到工程中。

image.png

2、把上面的两个文件夹添加进工程中。

3、在编译时这个版本会提示找不到v_imgbtn 和 lv_keyboard。这时需要到官网的源代码中找到这两个文件,将他复制进\AppData\Local\Arm\Packs\LVGL\lvgl\8.3.10\src\widgets目录里。然后手工添加进工程中。添加好后的目录如下:

image.png

【注】在编译中,还会提示一些头文件的引用路径不对,需要自己重新定义头文件的路径。

3、在hal_enty.c中添加对应头文件的引用,并添加初始化代码:

#include "hal_data.h"
#include "st7796.h"
#include "lvgl.h"
#include "events_init.h"
#include "gui_guider.h"

lv_ui guider_ui;

/*******************************************************************************************************************//**
 * main() is generated by the RA Configuration editor and is used to generate threads if an RTOS is used.  This function
 * is called by main() when no RTOS is used.
 **********************************************************************************************************************/
void hal_entry(void)
{


    /* LED type structure */
		st7796_init();
	  st7796_fill_screen(BLUE);
	  lv_init();
	
	  lv_port_disp_init(); 
	
		setup_ui(&guider_ui);
	  events_init(&guider_ui);


    while (1)
    {
			  lv_timer_handler(); 
            R_BSP_SoftwareDelay(100u, BSP_DELAY_UNITS_MICROSECONDS);
    }
}

【移植效果】

下载后成果如下图所示:

image.png

【总结】

结合guiguider的开源图形化的界面设计,可以高效的实现lvgl的实现。





关键词: RA8D1LVGL     瑞萨    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]