Melis4.0[D1s]:5.测试笔记 - 修改显示测试源码

本文是下一篇文章Melis4.0[D1s]:6.mango-MQ-R基于Melis移植lvgl 的基础知识。

1.将显示命令参数固化

从上一篇文章《Melis4.0[D1s]:4.测试笔记 - 内嵌的显示命令》知道,只要2个命令就可以显示:

#	1.对显示内存全部填充红色
disp_mem -mem_id 0 -size 800 480  -file  r
#	2.配置显示图层
disp_layer_cfg  -in_fb 0 800 480 0 0 800 480 4

我们可以把这2个命令参数写成固定,自动调用这2个命令就可以完成显示初始化。
于是我们可以把 disp_layer_cfg 传入参数先用固定值初始化好:
函数原型(所在文件 D1s-Melis/drivers/hal/test/disp2/disp_layer_cfg.c ):

int disp_layer_cfg(struct test_layer_cfg *test_cfg)	

仿制一个初始值为固定值的函数:

int disp_layer_cfg_def(void)
{
    
    
	struct test_layer_cfg cfg;
	
	//g_screen_index = 0;
	cfg.mem_id = 0;
	cfg.screen_id = 0;
	cfg.layer_cfg.channel = 0;
	cfg.layer_id = 0;
	cfg.layer_cfg.layer_id = 0;

	cfg.layer_cfg.info.fb.format = 0;
	cfg.layer_cfg.info.fb.size[0].width = 800;
	cfg.layer_cfg.info.fb.size[0].height = 480;
	cfg.layer_cfg.info.fb.crop.x = 0;
	cfg.layer_cfg.info.fb.crop.y = 0;
	cfg.layer_cfg.info.fb.crop.width = 800;
	cfg.layer_cfg.info.fb.crop.height = 480;
	cfg.layer_cfg.info.fb.align[0] = 4;
	cfg.layer_cfg.info.mode = 0;
	cfg.layer_cfg.info.alpha_mode = 1;
	cfg.layer_cfg.info.alpha_value = 255;
	cfg.layer_cfg.info.zorder = 0;
	cfg.layer_cfg.info.screen_win.x = 0;
	cfg.layer_cfg.info.screen_win.y = 0;

	disp_mem(0, 800, 480, 0, "r");		//	显示红色
	disp_layer_cfg(&cfg);

	msleep(200);
	disp_mem(0, 800, 480, 0, "g");		//	显示绿色
	msleep(200);
	disp_mem(0, 800, 480, 0, "b");		//	显示蓝色
	msleep(200);
}

上面的函数除了初始化,还依次显示红屏,绿屏,蓝屏。

2.disp_mem源码阅读

int disp_mem(u32 mem_id, u32 width, u32 height, u32 clear_flag, char *filename)
{
    
    
	unsigned long arg[6];
	int phy_adr, i, n, fb_width, fb_height;
	int ret = -1;
	FILE *fh = NULL;
	void *mem = NULL;
	unsigned long count = width*height;
	char *tmp;
	if(clear_flag) {
    
    
		/* release memory && clear layer */
		disp_mem_release(mem_id);
		return 0;
	}

	//for_test  we use r g b to set color buffer
	if(filename[0] != 'r' && filename[0] != 'g' && filename[0] != 'b') {
    
    
		if(filename != NULL)
			fh = fopen(filename, "r");
		if(!fh) {
    
    
			printf("open file %s fail. \n", filename);
			goto OUT;
		}
	}

	fb_width = width;
	fb_height = height;

	ret = disp_mem_request(mem_id, fb_width*fb_height*4);
	if(ret) {
    
    
		printf("DISP_MEM_REQUEST 0\n");
		goto FILE_CLOSE;
	}

	phy_adr = g_disp_mm[mem_id].mem_start;
	mem = g_disp_mm[mem_id].info_base;
	tmp = mem;
	g_p_mem_base = mem;
	if(fh != NULL) {
    
    
		memset((void*)mem, 0x0, fb_width*fb_height*4);
		fread((void *)mem, fb_width * fb_height * 4, 1, fh);
	} else {
    
    
		while(count--) {
    
    
				*(tmp + 3) = 0xff;//A
				*(tmp + 2) = filename[0]=='r'?0xff:0;//R
				*(tmp + 1) = filename[0]=='g'?0xff:0;//G
				*(tmp + 0) = filename[0]=='b'?0xff:0;//B
				tmp+=4;
		}
	}
FILE_CLOSE:
	if(!fh)
		fclose(fh);
OUT:
	return ret;
}

这个函数关键部分就是往显存地址 mem = g_disp_mm[mem_id].info_base里面填写像素数据。这里的mem_id = 0.

3.Melis子目录Makefile编写

我要大改 disp_mem.c ,不想影响原来的代码,于是我把 disp_mem.c 复制一份,改名为 disp_mem_hwd.c ,因为很多函数重名,所以 disp_mem.c 不能参与编译。就这样修改:
在这里插入图片描述
只要把c文件名的 .c 后缀改为 .o 后缀,增加到 obj-y即可。
如果有子目录,则增加整个目录,如下一章我们编译lvgl,需要建立一个子目录 《lv_port_pc_eclipse》,把子目录也加到 obj-y里面:

subdir-ccflags-y +=	-I$(srctree)/ekernel/drivers/include \
			-I$(srctree)/ekernel/core/rt-thread/include \
			-I$(srctree)/ekernel/drivers/drv/source/disp2/soc
obj-y +=  disp_layer_cfg.o 
obj-y +=  disp_mem_hwd.o
obj-y += disp_layer_alpha_test.o
obj-y += disp_layer_scal_test.o
obj-y += disp_layer_format_test.o
obj-y += disp_lbc_test.o
obj-y += lv_port_pc_eclipse/

然后在目录 《lv_port_pc_eclipse》 新建 Makefile 文件,把需要编译的c文件名加入 obj-y即可。内容如下:

obj-y += lv_main.o

obj-y += \
    lvgl/demos/benchmark/assets/img_benchmark_cogwheel_alpha16.o \
    lvgl/demos/benchmark/assets/img_benchmark_cogwheel_argb.o \
    lvgl/demos/benchmark/assets/img_benchmark_cogwheel_chroma_keyed.o \
    lvgl/demos/benchmark/assets/img_benchmark_cogwheel_indexed16.o \
    lvgl/demos/benchmark/assets/img_benchmark_cogwheel_rgb.o \
    lvgl/demos/benchmark/assets/img_benchmark_cogwheel_rgb565a8.o \
    lvgl/demos/benchmark/assets/lv_font_bechmark_montserrat_12_compr_az.c.o \
    lvgl/demos/benchmark/assets/lv_font_bechmark_montserrat_16_compr_az.c.o \
    lvgl/demos/benchmark/assets/lv_font_bechmark_montserrat_28_compr_az.c.o \
    lvgl/demos/benchmark/lv_demo_benchmark.o \
    lvgl/demos/keypad_encoder/lv_demo_keypad_encoder.o \
    lvgl/demos/music/assets/img_lv_demo_music_btn_corner_large.o \
    lvgl/demos/music/assets/img_lv_demo_music_btn_list_pause.o \
    lvgl/demos/music/assets/img_lv_demo_music_btn_list_pause_large.o \
    lvgl/demos/music/assets/img_lv_demo_music_btn_list_play.o \
    lvgl/demos/music/assets/img_lv_demo_music_btn_list_play_large.o \
    lvgl/demos/music/assets/img_lv_demo_music_btn_loop.o \
    lvgl/demos/music/assets/img_lv_demo_music_btn_loop_large.o \
    lvgl/demos/music/assets/img_lv_demo_music_btn_next.o \
    lvgl/demos/music/assets/img_lv_demo_music_btn_next_large.o \
    lvgl/demos/music/assets/img_lv_demo_music_btn_pause.o \
    lvgl/demos/music/assets/img_lv_demo_music_btn_pause_large.o \
    lvgl/demos/music/assets/img_lv_demo_music_btn_play.o \
    lvgl/demos/music/assets/img_lv_demo_music_btn_play_large.o \
    lvgl/demos/music/assets/img_lv_demo_music_btn_prev.o \
    lvgl/demos/music/assets/img_lv_demo_music_btn_prev_large.o \
    lvgl/demos/music/assets/img_lv_demo_music_btn_rnd.o \
    lvgl/demos/music/assets/img_lv_demo_music_btn_rnd_large.o \
    lvgl/demos/music/assets/img_lv_demo_music_corner_left.o \
    lvgl/demos/music/assets/img_lv_demo_music_corner_left_large.o \
    lvgl/demos/music/assets/img_lv_demo_music_corner_right.o \
    lvgl/demos/music/assets/img_lv_demo_music_corner_right_large.o \
    lvgl/demos/music/assets/img_lv_demo_music_cover_1.o \
    lvgl/demos/music/assets/img_lv_demo_music_cover_1_large.o \
    lvgl/demos/music/assets/img_lv_demo_music_cover_2.o \
    lvgl/demos/music/assets/img_lv_demo_music_cover_2_large.o \
    lvgl/demos/music/assets/img_lv_demo_music_cover_3.o \
    lvgl/demos/music/assets/img_lv_demo_music_cover_3_large.o \
    lvgl/demos/music/assets/img_lv_demo_music_icon_1.o \
    lvgl/demos/music/assets/img_lv_demo_music_icon_1_large.o \
    lvgl/demos/music/assets/img_lv_demo_music_icon_2.o \
    lvgl/demos/music/assets/img_lv_demo_music_icon_2_large.o \
    lvgl/demos/music/assets/img_lv_demo_music_icon_3.o \
    lvgl/demos/music/assets/img_lv_demo_music_icon_3_large.o \
    lvgl/demos/music/assets/img_lv_demo_music_icon_4.o \
    lvgl/demos/music/assets/img_lv_demo_music_icon_4_large.o \
    lvgl/demos/music/assets/img_lv_demo_music_list_border.o \
    lvgl/demos/music/assets/img_lv_demo_music_list_border_large.o \
    lvgl/demos/music/assets/img_lv_demo_music_logo.o \
    lvgl/demos/music/assets/img_lv_demo_music_slider_knob.o \
    lvgl/demos/music/assets/img_lv_demo_music_slider_knob_large.o \
    lvgl/demos/music/assets/img_lv_demo_music_wave_bottom.o \
    lvgl/demos/music/assets/img_lv_demo_music_wave_bottom_large.o \
    lvgl/demos/music/assets/img_lv_demo_music_wave_top.o \
    lvgl/demos/music/assets/img_lv_demo_music_wave_top_large.o \
    lvgl/demos/music/lv_demo_music.o \
    lvgl/demos/music/lv_demo_music_list.o \
    lvgl/demos/music/lv_demo_music_main.o \
    lvgl/demos/stress/lv_demo_stress.o \
    lvgl/demos/widgets/assets/img_clothes.o \
    lvgl/demos/widgets/assets/img_demo_widgets_avatar.o \
    lvgl/demos/widgets/assets/img_lvgl_logo.o \
    lvgl/demos/widgets/lv_demo_widgets.o \
    lvgl/examples/anim/lv_example_anim_1.o \
    lvgl/examples/anim/lv_example_anim_2.o \
    lvgl/examples/anim/lv_example_anim_3.o \
    lvgl/examples/anim/lv_example_anim_timeline_1.o \
    lvgl/examples/assets/animimg001.o \
    lvgl/examples/assets/animimg002.o \
    lvgl/examples/assets/animimg003.o \
    lvgl/examples/assets/emoji/img_emoji_F617.o \
    lvgl/examples/assets/img_caret_down.o \
    lvgl/examples/assets/img_cogwheel_alpha16.o \
    lvgl/examples/assets/img_cogwheel_argb.o \
    lvgl/examples/assets/img_cogwheel_chroma_keyed.o \
    lvgl/examples/assets/img_cogwheel_indexed16.o \
    lvgl/examples/assets/img_cogwheel_rgb.o \
    lvgl/examples/assets/img_hand.o \
    lvgl/examples/assets/img_skew_strip.o \
    lvgl/examples/assets/img_star.o \
    lvgl/examples/assets/imgbtn_left.o \
    lvgl/examples/assets/imgbtn_mid.o \
    lvgl/examples/assets/imgbtn_right.o \
    lvgl/examples/event/lv_example_event_1.o \
    lvgl/examples/event/lv_example_event_2.o \
    lvgl/examples/event/lv_example_event_3.o \
    lvgl/examples/event/lv_example_event_4.o \
    lvgl/examples/get_started/lv_example_get_started_1.o \
    lvgl/examples/get_started/lv_example_get_started_2.o \
    lvgl/examples/get_started/lv_example_get_started_3.o \
    lvgl/examples/layouts/flex/lv_example_flex_1.o \
    lvgl/examples/layouts/flex/lv_example_flex_2.o \
    lvgl/examples/layouts/flex/lv_example_flex_3.o \
    lvgl/examples/layouts/flex/lv_example_flex_4.o \
    lvgl/examples/layouts/flex/lv_example_flex_5.o \
    lvgl/examples/layouts/flex/lv_example_flex_6.o \
    lvgl/examples/layouts/grid/lv_example_grid_1.o \
    lvgl/examples/layouts/grid/lv_example_grid_2.o \
    lvgl/examples/layouts/grid/lv_example_grid_3.o \
    lvgl/examples/layouts/grid/lv_example_grid_4.o \
    lvgl/examples/layouts/grid/lv_example_grid_5.o \
    lvgl/examples/layouts/grid/lv_example_grid_6.o \
    lvgl/examples/libs/bmp/lv_example_bmp_1.o \
    lvgl/examples/libs/ffmpeg/lv_example_ffmpeg_1.o \
    lvgl/examples/libs/ffmpeg/lv_example_ffmpeg_2.o \
    lvgl/examples/libs/freetype/lv_example_freetype_1.o \
    lvgl/examples/libs/gif/img_bulb_gif.o \
    lvgl/examples/libs/gif/lv_example_gif_1.o \
    lvgl/examples/libs/png/img_wink_png.o \
    lvgl/examples/libs/png/lv_example_png_1.o \
    lvgl/examples/libs/qrcode/lv_example_qrcode_1.o \
    lvgl/examples/libs/rlottie/lv_example_rlottie_1.o \
    lvgl/examples/libs/rlottie/lv_example_rlottie_2.o \
    lvgl/examples/libs/rlottie/lv_example_rlottie_approve.o \
    lvgl/examples/libs/sjpg/lv_example_sjpg_1.o \
    lvgl/examples/others/fragment/lv_example_fragment_1.o \
    lvgl/examples/others/fragment/lv_example_fragment_2.o \
    lvgl/examples/others/gridnav/lv_example_gridnav_1.o \
    lvgl/examples/others/gridnav/lv_example_gridnav_2.o \
    lvgl/examples/others/gridnav/lv_example_gridnav_3.o \
    lvgl/examples/others/gridnav/lv_example_gridnav_4.o \
    lvgl/examples/others/ime/lv_example_ime_pinyin_1.o \
    lvgl/examples/others/ime/lv_example_ime_pinyin_2.o \
    lvgl/examples/others/imgfont/lv_example_imgfont_1.o \
    lvgl/examples/others/monkey/lv_example_monkey_1.o \
    lvgl/examples/others/monkey/lv_example_monkey_2.o \
    lvgl/examples/others/monkey/lv_example_monkey_3.o \
    lvgl/examples/others/msg/lv_example_msg_1.o \
    lvgl/examples/others/msg/lv_example_msg_2.o \
    lvgl/examples/others/msg/lv_example_msg_3.o \
    lvgl/examples/others/snapshot/lv_example_snapshot_1.o \
    lvgl/examples/porting/lv_port_disp_template.o \
    lvgl/examples/porting/lv_port_fs_template.o \
    lvgl/examples/porting/lv_port_indev_template.o \
    lvgl/examples/scroll/lv_example_scroll_1.o \
    lvgl/examples/scroll/lv_example_scroll_2.o \
    lvgl/examples/scroll/lv_example_scroll_3.o \
    lvgl/examples/scroll/lv_example_scroll_4.o \
    lvgl/examples/scroll/lv_example_scroll_5.o \
    lvgl/examples/scroll/lv_example_scroll_6.o \
    lvgl/examples/styles/lv_example_style_1.o \
    lvgl/examples/styles/lv_example_style_10.o \
    lvgl/examples/styles/lv_example_style_11.o \
    lvgl/examples/styles/lv_example_style_12.o \
    lvgl/examples/styles/lv_example_style_13.o \
    lvgl/examples/styles/lv_example_style_14.o \
    lvgl/examples/styles/lv_example_style_15.o \
    lvgl/examples/styles/lv_example_style_2.o \
    lvgl/examples/styles/lv_example_style_3.o \
    lvgl/examples/styles/lv_example_style_4.o \
    lvgl/examples/styles/lv_example_style_5.o \
    lvgl/examples/styles/lv_example_style_6.o \
    lvgl/examples/styles/lv_example_style_7.o \
    lvgl/examples/styles/lv_example_style_8.o \
    lvgl/examples/styles/lv_example_style_9.o \
    lvgl/examples/widgets/animimg/lv_example_animimg_1.o \
    lvgl/examples/widgets/arc/lv_example_arc_1.o \
    lvgl/examples/widgets/arc/lv_example_arc_2.o \
    lvgl/examples/widgets/bar/lv_example_bar_1.o \
    lvgl/examples/widgets/bar/lv_example_bar_2.o \
    lvgl/examples/widgets/bar/lv_example_bar_3.o \
    lvgl/examples/widgets/bar/lv_example_bar_4.o \
    lvgl/examples/widgets/bar/lv_example_bar_5.o \
    lvgl/examples/widgets/bar/lv_example_bar_6.o \
    lvgl/examples/widgets/btn/lv_example_btn_1.o \
    lvgl/examples/widgets/btn/lv_example_btn_2.o \
    lvgl/examples/widgets/btn/lv_example_btn_3.o \
    lvgl/examples/widgets/btnmatrix/lv_example_btnmatrix_1.o \
    lvgl/examples/widgets/btnmatrix/lv_example_btnmatrix_2.o \
    lvgl/examples/widgets/btnmatrix/lv_example_btnmatrix_3.o \
    lvgl/examples/widgets/calendar/lv_example_calendar_1.o \
    lvgl/examples/widgets/canvas/lv_example_canvas_1.o \
    lvgl/examples/widgets/canvas/lv_example_canvas_2.o \
    lvgl/examples/widgets/chart/lv_example_chart_1.o \
    lvgl/examples/widgets/chart/lv_example_chart_2.o \
    lvgl/examples/widgets/chart/lv_example_chart_3.o \
    lvgl/examples/widgets/chart/lv_example_chart_4.o \
    lvgl/examples/widgets/chart/lv_example_chart_5.o \
    lvgl/examples/widgets/chart/lv_example_chart_6.o \
    lvgl/examples/widgets/chart/lv_example_chart_7.o \
    lvgl/examples/widgets/chart/lv_example_chart_8.o \
    lvgl/examples/widgets/chart/lv_example_chart_9.o \
    lvgl/examples/widgets/checkbox/lv_example_checkbox_1.o \
    lvgl/examples/widgets/checkbox/lv_example_checkbox_2.o \
    lvgl/examples/widgets/colorwheel/lv_example_colorwheel_1.o \
    lvgl/examples/widgets/dropdown/lv_example_dropdown_1.o \
    lvgl/examples/widgets/dropdown/lv_example_dropdown_2.o \
    lvgl/examples/widgets/dropdown/lv_example_dropdown_3.o \
    lvgl/examples/widgets/img/lv_example_img_1.o \
    lvgl/examples/widgets/img/lv_example_img_2.o \
    lvgl/examples/widgets/img/lv_example_img_3.o \
    lvgl/examples/widgets/img/lv_example_img_4.o \
    lvgl/examples/widgets/imgbtn/lv_example_imgbtn_1.o \
    lvgl/examples/widgets/keyboard/lv_example_keyboard_1.o \
    lvgl/examples/widgets/label/lv_example_label_1.o \
    lvgl/examples/widgets/label/lv_example_label_2.o \
    lvgl/examples/widgets/label/lv_example_label_3.o \
    lvgl/examples/widgets/label/lv_example_label_4.o \
    lvgl/examples/widgets/label/lv_example_label_5.o \
    lvgl/examples/widgets/led/lv_example_led_1.o \
    lvgl/examples/widgets/line/lv_example_line_1.o \
    lvgl/examples/widgets/list/lv_example_list_1.o \
    lvgl/examples/widgets/list/lv_example_list_2.o \
    lvgl/examples/widgets/menu/lv_example_menu_1.o \
    lvgl/examples/widgets/menu/lv_example_menu_2.o \
    lvgl/examples/widgets/menu/lv_example_menu_3.o \
    lvgl/examples/widgets/menu/lv_example_menu_4.o \
    lvgl/examples/widgets/menu/lv_example_menu_5.o \
    lvgl/examples/widgets/meter/lv_example_meter_1.o \
    lvgl/examples/widgets/meter/lv_example_meter_2.o \
    lvgl/examples/widgets/meter/lv_example_meter_3.o \
    lvgl/examples/widgets/meter/lv_example_meter_4.o \
    lvgl/examples/widgets/msgbox/lv_example_msgbox_1.o \
    lvgl/examples/widgets/obj/lv_example_obj_1.o \
    lvgl/examples/widgets/obj/lv_example_obj_2.o \
    lvgl/examples/widgets/roller/lv_example_roller_1.o \
    lvgl/examples/widgets/roller/lv_example_roller_2.o \
    lvgl/examples/widgets/roller/lv_example_roller_3.o \
    lvgl/examples/widgets/slider/lv_example_slider_1.o \
    lvgl/examples/widgets/slider/lv_example_slider_2.o \
    lvgl/examples/widgets/slider/lv_example_slider_3.o \
    lvgl/examples/widgets/span/lv_example_span_1.o \
    lvgl/examples/widgets/spinbox/lv_example_spinbox_1.o \
    lvgl/examples/widgets/spinner/lv_example_spinner_1.o \
    lvgl/examples/widgets/switch/lv_example_switch_1.o \
    lvgl/examples/widgets/table/lv_example_table_1.o \
    lvgl/examples/widgets/table/lv_example_table_2.o \
    lvgl/examples/widgets/tabview/lv_example_tabview_1.o \
    lvgl/examples/widgets/tabview/lv_example_tabview_2.o \
    lvgl/examples/widgets/textarea/lv_example_textarea_1.o \
    lvgl/examples/widgets/textarea/lv_example_textarea_2.o \
    lvgl/examples/widgets/textarea/lv_example_textarea_3.o \
    lvgl/examples/widgets/tileview/lv_example_tileview_1.o \
    lvgl/examples/widgets/win/lv_example_win_1.o \
    lvgl/src/core/lv_disp.o \
    lvgl/src/core/lv_event.o \
    lvgl/src/core/lv_group.o \
    lvgl/src/core/lv_indev.o \
    lvgl/src/core/lv_indev_scroll.o \
    lvgl/src/core/lv_obj.o \
    lvgl/src/core/lv_obj_class.o \
    lvgl/src/core/lv_obj_draw.o \
    lvgl/src/core/lv_obj_pos.o \
    lvgl/src/core/lv_obj_scroll.o \
    lvgl/src/core/lv_obj_style.o \
    lvgl/src/core/lv_obj_style_gen.o \
    lvgl/src/core/lv_obj_tree.o \
    lvgl/src/core/lv_refr.o \
    lvgl/src/core/lv_theme.o \
    lvgl/src/draw/arm2d/lv_gpu_arm2d.o \
    lvgl/src/draw/lv_draw.o \
    lvgl/src/draw/lv_draw_arc.o \
    lvgl/src/draw/lv_draw_img.o \
    lvgl/src/draw/lv_draw_label.o \
    lvgl/src/draw/lv_draw_layer.o \
    lvgl/src/draw/lv_draw_line.o \
    lvgl/src/draw/lv_draw_mask.o \
    lvgl/src/draw/lv_draw_rect.o \
    lvgl/src/draw/lv_draw_transform.o \
    lvgl/src/draw/lv_draw_triangle.o \
    lvgl/src/draw/lv_img_buf.o \
    lvgl/src/draw/lv_img_cache.o \
    lvgl/src/draw/lv_img_decoder.o \
    lvgl/src/draw/nxp/lv_gpu_nxp.o \
    lvgl/src/draw/nxp/pxp/lv_draw_pxp_blend.o \
    lvgl/src/draw/nxp/pxp/lv_gpu_nxp_pxp.o \
    lvgl/src/draw/nxp/pxp/lv_gpu_nxp_pxp_osa.o \
    lvgl/src/draw/nxp/vglite/lv_draw_vglite_arc.o \
    lvgl/src/draw/nxp/vglite/lv_draw_vglite_blend.o \
    lvgl/src/draw/nxp/vglite/lv_draw_vglite_rect.o \
    lvgl/src/draw/nxp/vglite/lv_gpu_nxp_vglite.o \
    lvgl/src/draw/sdl/lv_draw_sdl.o \
    lvgl/src/draw/sdl/lv_draw_sdl_arc.o \
    lvgl/src/draw/sdl/lv_draw_sdl_bg.o \
    lvgl/src/draw/sdl/lv_draw_sdl_composite.o \
    lvgl/src/draw/sdl/lv_draw_sdl_img.o \
    lvgl/src/draw/sdl/lv_draw_sdl_label.o \
    lvgl/src/draw/sdl/lv_draw_sdl_layer.o \
    lvgl/src/draw/sdl/lv_draw_sdl_line.o \
    lvgl/src/draw/sdl/lv_draw_sdl_mask.o \
    lvgl/src/draw/sdl/lv_draw_sdl_polygon.o \
    lvgl/src/draw/sdl/lv_draw_sdl_rect.o \
    lvgl/src/draw/sdl/lv_draw_sdl_stack_blur.o \
    lvgl/src/draw/sdl/lv_draw_sdl_texture_cache.o \
    lvgl/src/draw/sdl/lv_draw_sdl_utils.o \
    lvgl/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.o \
    lvgl/src/draw/sw/lv_draw_sw.o \
    lvgl/src/draw/sw/lv_draw_sw_arc.o \
    lvgl/src/draw/sw/lv_draw_sw_blend.o \
    lvgl/src/draw/sw/lv_draw_sw_dither.o \
    lvgl/src/draw/sw/lv_draw_sw_gradient.o \
    lvgl/src/draw/sw/lv_draw_sw_img.o \
    lvgl/src/draw/sw/lv_draw_sw_layer.o \
    lvgl/src/draw/sw/lv_draw_sw_letter.o \
    lvgl/src/draw/sw/lv_draw_sw_line.o \
    lvgl/src/draw/sw/lv_draw_sw_polygon.o \
    lvgl/src/draw/sw/lv_draw_sw_rect.o \
    lvgl/src/draw/sw/lv_draw_sw_transform.o \
    lvgl/src/draw/swm341_dma2d/lv_gpu_swm341_dma2d.o \
    lvgl/src/extra/layouts/flex/lv_flex.o \
    lvgl/src/extra/layouts/grid/lv_grid.o \
    lvgl/src/extra/libs/bmp/lv_bmp.o \
    lvgl/src/extra/libs/ffmpeg/lv_ffmpeg.o \
    lvgl/src/extra/libs/freetype/lv_freetype.o \
    lvgl/src/extra/libs/fsdrv/lv_fs_fatfs.o \
    lvgl/src/extra/libs/fsdrv/lv_fs_posix.o \
    lvgl/src/extra/libs/fsdrv/lv_fs_stdio.o \
    lvgl/src/extra/libs/fsdrv/lv_fs_win32.o \
    lvgl/src/extra/libs/gif/gifdec.o \
    lvgl/src/extra/libs/gif/lv_gif.o \
    lvgl/src/extra/libs/png/lodepng.o \
    lvgl/src/extra/libs/png/lv_png.o \
    lvgl/src/extra/libs/qrcode/lv_qrcode.o \
    lvgl/src/extra/libs/qrcode/qrcodegen.o \
    lvgl/src/extra/libs/rlottie/lv_rlottie.o \
    lvgl/src/extra/libs/sjpg/lv_sjpg.o \
    lvgl/src/extra/libs/sjpg/tjpgd.o \
    lvgl/src/extra/lv_extra.o \
    lvgl/src/extra/others/fragment/lv_fragment.o \
    lvgl/src/extra/others/fragment/lv_fragment_manager.o \
    lvgl/src/extra/others/gridnav/lv_gridnav.o \
    lvgl/src/extra/others/ime/lv_ime_pinyin.o \
    lvgl/src/extra/others/imgfont/lv_imgfont.o \
    lvgl/src/extra/others/monkey/lv_monkey.o \
    lvgl/src/extra/others/msg/lv_msg.o \
    lvgl/src/extra/others/snapshot/lv_snapshot.o \
    lvgl/src/extra/themes/basic/lv_theme_basic.o \
    lvgl/src/extra/themes/default/lv_theme_default.o \
    lvgl/src/extra/themes/mono/lv_theme_mono.o \
    lvgl/src/extra/widgets/animimg/lv_animimg.o \
    lvgl/src/extra/widgets/calendar/lv_calendar.o \
    lvgl/src/extra/widgets/calendar/lv_calendar_header_arrow.o \
    lvgl/src/extra/widgets/calendar/lv_calendar_header_dropdown.o \
    lvgl/src/extra/widgets/chart/lv_chart.o \
    lvgl/src/extra/widgets/colorwheel/lv_colorwheel.o \
    lvgl/src/extra/widgets/imgbtn/lv_imgbtn.o \
    lvgl/src/extra/widgets/keyboard/lv_keyboard.o \
    lvgl/src/extra/widgets/led/lv_led.o \
    lvgl/src/extra/widgets/list/lv_list.o \
    lvgl/src/extra/widgets/menu/lv_menu.o \
    lvgl/src/extra/widgets/meter/lv_meter.o \
    lvgl/src/extra/widgets/msgbox/lv_msgbox.o \
    lvgl/src/extra/widgets/span/lv_span.o \
    lvgl/src/extra/widgets/spinbox/lv_spinbox.o \
    lvgl/src/extra/widgets/spinner/lv_spinner.o \
    lvgl/src/extra/widgets/tabview/lv_tabview.o \
    lvgl/src/extra/widgets/tileview/lv_tileview.o \
    lvgl/src/extra/widgets/win/lv_win.o \
    lvgl/src/font/lv_font.o \
    lvgl/src/font/lv_font_dejavu_16_persian_hebrew.o \
    lvgl/src/font/lv_font_fmt_txt.o \
    lvgl/src/font/lv_font_loader.o \
    lvgl/src/font/lv_font_montserrat_10.o \
    lvgl/src/font/lv_font_montserrat_12.o \
    lvgl/src/font/lv_font_montserrat_12_subpx.o \
    lvgl/src/font/lv_font_montserrat_14.o \
    lvgl/src/font/lv_font_montserrat_16.o \
    lvgl/src/font/lv_font_montserrat_18.o \
    lvgl/src/font/lv_font_montserrat_20.o \
    lvgl/src/font/lv_font_montserrat_22.o \
    lvgl/src/font/lv_font_montserrat_24.o \
    lvgl/src/font/lv_font_montserrat_26.o \
    lvgl/src/font/lv_font_montserrat_28.o \
    lvgl/src/font/lv_font_montserrat_28_compressed.o \
    lvgl/src/font/lv_font_montserrat_30.o \
    lvgl/src/font/lv_font_montserrat_32.o \
    lvgl/src/font/lv_font_montserrat_34.o \
    lvgl/src/font/lv_font_montserrat_36.o \
    lvgl/src/font/lv_font_montserrat_38.o \
    lvgl/src/font/lv_font_montserrat_40.o \
    lvgl/src/font/lv_font_montserrat_42.o \
    lvgl/src/font/lv_font_montserrat_44.o \
    lvgl/src/font/lv_font_montserrat_46.o \
    lvgl/src/font/lv_font_montserrat_48.o \
    lvgl/src/font/lv_font_montserrat_8.o \
    lvgl/src/font/lv_font_simsun_16_cjk.o \
    lvgl/src/font/lv_font_unscii_16.o \
    lvgl/src/font/lv_font_unscii_8.o \
    lvgl/src/hal/lv_hal_disp.o \
    lvgl/src/hal/lv_hal_indev.o \
    lvgl/src/hal/lv_hal_tick.o \
    lvgl/src/misc/lv_anim.o \
    lvgl/src/misc/lv_anim_timeline.o \
    lvgl/src/misc/lv_area.o \
    lvgl/src/misc/lv_async.o \
    lvgl/src/misc/lv_bidi.o \
    lvgl/src/misc/lv_color.o \
    lvgl/src/misc/lv_fs.o \
    lvgl/src/misc/lv_gc.o \
    lvgl/src/misc/lv_ll.o \
    lvgl/src/misc/lv_log.o \
    lvgl/src/misc/lv_lru.o \
    lvgl/src/misc/lv_math.o \
    lvgl/src/misc/lv_mem.o \
    lvgl/src/misc/lv_printf.o \
    lvgl/src/misc/lv_style.o \
    lvgl/src/misc/lv_style_gen.o \
    lvgl/src/misc/lv_templ.o \
    lvgl/src/misc/lv_timer.o \
    lvgl/src/misc/lv_tlsf.o \
    lvgl/src/misc/lv_txt.o \
    lvgl/src/misc/lv_txt_ap.o \
    lvgl/src/misc/lv_utils.o \
    lvgl/src/widgets/lv_arc.o \
    lvgl/src/widgets/lv_bar.o \
    lvgl/src/widgets/lv_btn.o \
    lvgl/src/widgets/lv_btnmatrix.o \
    lvgl/src/widgets/lv_canvas.o \
    lvgl/src/widgets/lv_checkbox.o \
    lvgl/src/widgets/lv_dropdown.o \
    lvgl/src/widgets/lv_img.o \
    lvgl/src/widgets/lv_label.o \
    lvgl/src/widgets/lv_line.o \
    lvgl/src/widgets/lv_objx_templ.o \
    lvgl/src/widgets/lv_roller.o \
    lvgl/src/widgets/lv_slider.o \
    lvgl/src/widgets/lv_switch.o \
    lvgl/src/widgets/lv_table.o \
    lvgl/src/widgets/lv_textarea.o 

猜你喜欢

转载自blog.csdn.net/hwd00001/article/details/130016875
今日推荐