【海奇HC-RTOS平台E100-问题点】

海奇HC-RTOS平台E100-问题点

■ btn 没有添加到group中 ,怎么实现的事件的 (已解决)

电影, 音乐, 照片, 电子书,一行中的
ui_mainpage

static int create_subobj_in_cont(lv_obj_t* p)
{
    for(int i = 0; i <SCR_MAINICON_NUM;i++){
        lv_obj_t* obj=lv_obj_create(p);
        lv_obj_set_size(obj,LV_PCT(20),LV_PCT(53));
        lv_obj_clear_flag(obj, LV_OBJ_FLAG_SCROLLABLE);      /// Flags
        lv_obj_set_style_radius(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
        lv_obj_set_style_bg_color(obj, lv_color_hex(0x031FFF), LV_PART_MAIN | LV_STATE_DEFAULT);
        lv_obj_set_style_bg_opa(obj, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
        lv_obj_set_style_border_width(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);

        lv_obj_t* img=lv_img_create(obj);
        lv_obj_set_align(img,LV_ALIGN_TOP_MID);

        lv_obj_t* btn=lv_btn_create(obj);
        lv_obj_set_size(btn,LV_PCT(MAINPAGE_BTNPCT_W),LV_PCT(25));
        lv_obj_set_align(btn,LV_ALIGN_BOTTOM_MID);
        lv_obj_clear_flag(btn, LV_OBJ_FLAG_SCROLLABLE);
        lv_obj_set_style_bg_color(btn, lv_color_hex(0x031FFF), LV_PART_MAIN | LV_STATE_DEFAULT);
        lv_obj_set_style_bg_opa(btn, LV_OPA_TRANSP, LV_PART_MAIN | LV_STATE_DEFAULT);
        lv_obj_set_style_shadow_color(btn, lv_color_hex(0x031FFF), LV_PART_MAIN | LV_STATE_DEFAULT);
        lv_obj_set_style_shadow_opa(btn, LV_OPA_TRANSP, LV_PART_MAIN | LV_STATE_DEFAULT);
        lv_obj_set_style_text_color(btn, lv_color_hex(0xFFFFFF), LV_PART_MAIN | LV_STATE_DEFAULT);
        lv_obj_set_style_text_opa(btn, 255, LV_PART_MAIN | LV_STATE_DEFAULT);
        lv_obj_set_style_text_align(btn, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN | LV_STATE_DEFAULT);
        // lv_obj_set_style_text_font(btn, &lv_font_montserrat_40, LV_PART_MAIN | LV_STATE_DEFAULT);
        lv_obj_set_style_bg_color(btn, lv_color_hex(0x031FFF), LV_PART_MAIN | LV_STATE_FOCUS_KEY);
        lv_obj_set_style_bg_opa(btn, 255, LV_PART_MAIN | LV_STATE_FOCUS_KEY);
        lv_obj_set_style_outline_color(btn, lv_color_hex(0xFAD665), LV_PART_MAIN | LV_STATE_FOCUS_KEY);
        lv_obj_set_style_outline_opa(btn, 255, LV_PART_MAIN | LV_STATE_FOCUS_KEY);
        lv_obj_set_style_outline_width(btn, STYLE_OUTLINE_W, LV_PART_MAIN | LV_STATE_FOCUS_KEY);
        lv_obj_set_style_outline_pad(btn, 0, LV_PART_MAIN | LV_STATE_FOCUS_KEY);
        lv_obj_set_style_text_color(btn, lv_color_hex(0xFFFF00), LV_PART_MAIN | LV_STATE_FOCUS_KEY);
        lv_obj_set_style_text_opa(btn, 255, LV_PART_MAIN | LV_STATE_FOCUS_KEY);
        lv_obj_t* label=lv_label_create(btn);
        lv_obj_set_align(label, LV_ALIGN_CENTER);
        lv_obj_add_event_cb(btn,main_page_keyinput_event_cb,LV_EVENT_ALL,0);
        // lv_group_add_obj(lv_group_get_default(), btn);  //shine add
    }

先创建组后,后面创建的会自动添加到组中。

■ 屏幕是1280720, UI是1024600,是否修改UI (已解决)

■ hc15xx-db-e100-v10-hcdemo.dtb 找不到 (已解决)

CONFIG_CUSTOM_DTS_PATH="$(TOPDIR)/board/hc15xx/common/dts/hc15xx-db-e100-v10-hcdemo.dts"
CONFIG_DEFAULT_DEVICE_TREE="hc15xx-db-e100-v10-hcdemo.dtb"

■ 按键驱动

这里函数  KEY_1 怎么对应lvgl中的对应键码。
static uint32_t keypad_key_map2_lvkey(uint32_t act_key)
{
    switch(act_key) {
    case KEY_HOME:
        act_key = LV_KEY_HOME;
        break;
    //5 行
    case KEY_1:
        act_key = LV_KEY_END;
        break;
    case KEY_2:
        act_key = LV_KEY_END;
        break;
    case KEY_3:
        act_key = LV_KEY_END;
        break;
    //6 行
int32_t key_convert_vkey(uint32_t lv_key)
{
	uint32_t vkey = VKEY_NULL;
	if (lv_key & USER_KEY_FLAG){
		lv_key = lv_key & 0xFFFF;
		switch(lv_key){
		case KEY_NUMERIC_0:
			vkey = V_KEY_0;
			break;
		case KEY_NUMERIC_1:
			vkey = V_KEY_1;
			break;
		case KEY_NUMERIC_2:
			vkey = V_KEY_2;
			break;
		case KEY_NUMERIC_3:
			vkey = V_KEY_3;
			break;
		case KEY_NUMERIC_4:
			vkey = V_KEY_4;
			break;
		case KEY_NUMERIC_5:
			vkey = V_KEY_5;
			break;
		case KEY_NUMERIC_6:
			vkey = V_KEY_6;
			break;
		case KEY_NUMERIC_7:
			vkey = V_KEY_7;
			break;
		case KEY_NUMERIC_8:
			vkey = V_KEY_8;
			break;
		case KEY_NUMERIC_9:
			vkey = V_KEY_9;
			break;
		case KEY_POWER:
			vkey = V_KEY_POWER;
			break;
		case KEY_AUDIO:
			vkey = V_KEY_AUDIO;
			break;
		case KEY_MUTE:
			vkey = V_KEY_MUTE;
			break;
		case KEY_ZOOM:
			vkey = V_KEY_ZOOM;
			break;
		case KEY_SUBTITLE:
			vkey = V_KEY_SUB;
			break;
		case KEY_TV:
			vkey = V_KEY_TVRADIO;
			break;
		case KEY_TEXT:
			vkey = V_KEY_TEXT;
			break;
		case KEY_LIST:
			vkey = V_KEY_LIST;
			break;
		case KEY_MENU:
			vkey = V_KEY_MENU;
			break;
		case KEY_EXIT:
			vkey = V_KEY_EXIT;
			break;
		case KEY_EPG:
			vkey = V_KEY_EPG;
			break;
		case KEY_AGAIN:
			vkey = V_KEY_RECALL;
			break;
		case KEY_FAVORITES:
			vkey = V_KEY_FAV;
			break;
		case KEY_LEFTSHIFT:
			vkey = V_KEY_FB;
			break;
		case KEY_RIGHTSHIFT:
			vkey = V_KEY_FF;
			break;
		case KEY_PLAY:
			vkey = V_KEY_PLAY;
			break;
		case KEY_PAUSE:
			vkey = V_KEY_PAUSE;
			break;
		case KEY_STOP:
			vkey = V_KEY_STOP;
			break;
		case KEY_RECORD:
			vkey = V_KEY_RECORD;
			break;
		case KEY_RED:
			vkey = V_KEY_RED;
			break;
		case KEY_GREEN:
			vkey = V_KEY_GREEN;
			break;
		case KEY_YELLOW:
			vkey = V_KEY_YELLOW;
			break;
		case KEY_BLUE:
			vkey = V_KEY_BLUE;
			break;
		case KEY_HOME:
			vkey = V_KEY_HOME;
			break;
		}

	}else{
enum ui_key
{
	V_KEY_0,	// 0
	V_KEY_1,
	V_KEY_2,
	V_KEY_3,
	V_KEY_4,
	V_KEY_5,
	V_KEY_6,
	V_KEY_7,
	V_KEY_8,
	V_KEY_9,
	V_KEY_10,

	V_KEY_LEFT,//11
	V_KEY_RIGHT,
	V_KEY_UP,
	V_KEY_DOWN,

	V_KEY_MENU,
	V_KEY_OK,
	V_KEY_ENTER,
	V_KEY_EXIT,
	V_KEY_EXIT_ALL,	
	V_KEY_CLEAR,

	V_KEY_MUTE,
	V_KEY_STATUS,	
	V_KEY_TVRADIO,
	V_KEY_POWER,
	V_KEY_AUDIO,

	V_KEY_C_UP,	//ch+
	V_KEY_C_DOWN,	//ch-
	V_KEY_V_UP,	//vol+
	V_KEY_V_DOWN,	//vol-
	V_KEY_P_UP,	//page+
	V_KEY_P_DOWN,//page-    

	V_KEY_COLOR0,//V_KEY_RF
	V_KEY_COLOR1,
	V_KEY_COLOR2,
	V_KEY_COLOR3,	//V_KEY_EPG
	V_KEY_COLOR4,	//V_KEY_PAUSE

	V_KEY_PLAY,	//for player
	V_KEY_PAUSE,
	V_KEY_STOP,
	V_KEY_FF,	//fast forward
	V_KEY_FB,   //fast backward
	V_KEY_SF,	//slow forward
	V_KEY_SB,   //slow backward
	V_KEY_PREV,	//play previous
	V_KEY_NEXT,	//play next

	V_KEY_RECORD,
	V_KEY_TIMESHIFT,

	V_KEY_RED,
	V_KEY_GREEN,
	V_KEY_YELLOW,
	V_KEY_BLUE,

	V_KEY_INFO,
	V_KEY_EDIT,
	V_KEY_TEXT,
	V_KEY_SUB,
	V_KEY_FIND,
	V_KEY_FAV,
	V_KEY_RECALL,
	V_KEY_CONTRAST,
	V_KEY_HELP,
	V_KEY_SLEEP,

	V_KEY_RF,		
	V_KEY_EPG,	
	V_KEY_LIST,	
	V_KEY_SWITCH,
	V_KEY_PAL_NTSC,
	V_KEY_PREVIEW,
	V_KEY_RESCAN,
	V_KEY_ZOOM,
	V_KEY_MP,
	V_KEY_LAST,
	V_KEY_ROTATE,
	V_KEY_HOME,

	VKEY_NULL = 0xFFFF,
};

■ __initcall(projector_auto_start)

■ 补丁是打在运行程序,还是代码中。 (已解决)

patch 0017解决电子书打开TXT空文件死机问题,当前补丁包含001-0017,请按照序号进行合成,如果之前有合过,请从之前合过的序号后开始合成。

答:合并源码方式。

■ Label align policy 只有左右对齐,没有上下居中`在这里插入代码片

lv_obj_set_style_text_align(ui_MBSP_fileSerial, LV_TEXT_ALIGN_LEFT, LV_PART_MAIN | LV_STATE_DEFAULT);
LV_TEXT_ALIGN_AUTO, /< Align text auto*/LV_TEXT_ALIGN_LEFT, /< Align text to left*/
LV_TEXT_ALIGN_CENTER, /< Align text to center*/LV_TEXT_ALIGN_RIGHT, /< Align text to right*/

■ lvgl圆角问题,不能只设置一个角为圆角?

在这里插入图片描述

■ LV_SIZE_CONTENT 代码数值多少?

    lv_obj_set_width(ui_fsbarimg, LV_SIZE_CONTENT);
    lv_obj_set_height(ui_fsbarimg, LV_SIZE_CONTENT);

答: 可变的系统自动处理。

■ app.config.h 中的 #ifdef BR2_PACKAGE_HCCAST_DLNA (已解决)

答:在dts中找到了。

■ 找不到函数 void hcplayer_play(void *player); 是不是没有开源?

答:

■ _lv_indev_ll意思

#define LV_LOG_WARN(...) do {}while(0)
LV_LOG_WARN("lv_indev_drv_register: no display registered hence can't attach the indev to "
		"a display");
					
  lv_indev_t * indev = _lv_ll_ins_head(&LV_GC_ROOT(_lv_indev_ll));  _lv_indev_ll意思

■ set_label_text2(icon,STR_MP_NO_DEV,FONT_NORMAL); (已解决)

#define ENG_BIG lv_font_montserrat_36
#define ENG_MID lv_font_montserrat_28
#define ENG_NORMAL lv_font_montserrat_26 
#define ENG_SMALL lv_font_montserrat_18
#define MSGBOX_Y_OFS   -100
#define LISTFONT_3000   SiYuanHeiTi_Light_3000_28_1b
#define CHN_LARGE   font_china_36
#define CHN_MID     LISTFONT_3000
#define CHN_NORMAL  font_china_26
#define CHN_SMALL   font_china_18//CHN_MID //font_china_14


static lv_font_t *osd_font_chn[] = 
{
    &CHN_LARGE,  
    &CHN_MID,    
    &CHN_NORMAL,   
    &CHN_SMALL,
};
components\applications\apps-projector\source\hcprojector_app\public\osd_com.c
components\applications\apps-projector\source\hcprojector_app\ui_rsc\1280x720\font\font_china_26.c


osd_font_get(FONT_NORMAL)

int text_ids[] = {STR_HDMI_TITLE, STR_AV_TITLE, STR_MEDIA_TITLE, STR_SETTING_TITLE};

osd_font_get_by_langid(0,FONT_LARGE)

components\applications\apps-projector\source\hcprojector_app\include\osd_com.h

■ 设置页面想要控制屏幕的 screen 自定义的 lv_slider_create

btn 里面套 slider

enum {
    LV_KEY_UP        = 17,  /*0x11*/
    LV_KEY_DOWN      = 18,  /*0x12*/
    LV_KEY_RIGHT     = 19,  /*0x13*/
    LV_KEY_LEFT      = 20,  /*0x14*/
    LV_KEY_ESC       = 27,  /*0x1B*/
    LV_KEY_DEL       = 127, /*0x7F*/
    LV_KEY_BACKSPACE = 8,   /*0x08*/
    LV_KEY_ENTER     = 10,  /*0x0A, '\n'*/
    LV_KEY_NEXT      = 9,   /*0x09, '\t'*/
    LV_KEY_PREV      = 11,  /*0x0B, '*/
    LV_KEY_HOME      = 2,   /*0x02, STX*/
    LV_KEY_END       = 3,   /*0x03, ETX*/
};
typedef uint8_t lv_key_t;

static void screen_brig_event_cb(lv_event_t *e)
{
    lv_obj_t *target = lv_event_get_target(e);           /* 获取触发源 */
    lv_event_code_t code = lv_event_get_code(e);         /* 获取事件类型 */

    if (code == LV_EVENT_KEY)   //rc
	{
        uint8_t key = lv_indev_get_key(lv_indev_get_act());
		if (key == LV_KEY_LEFT)
		{
            lv_group_focus_prev(sowye_ui_setting_g);
        }
        else if(key == LV_KEY_RIGHT)
        {
            lv_group_focus_next(sowye_ui_setting_g);
        }
        else if(key == LV_KEY_ESC)
        {
            lv_disp_load_scr(sowye_ui_main_page_init());
        }
        else if(key == LV_KEY_ENTER)
	    {

        }
        else if(key == LV_KEY_ENTER)
	    {

        }
    }
}

■ 歌曲和电子书都是变动的汉字怎么显示出来。

是否添加所有常用的汉字进去。

■ GD25Q64E(8MB) ??????????????????????? 中的意思

问题一:GD25Q64E(8MB) 为8M 但是分区 只使用4M;

/*GD25Q64E(8MB)*/

     0x0   0x60000    ==393216      384K
 0x60000   0x20000    ==131072
 0x80000  0x360000    ==3538944
0x3e0000   0x20000    ==131072

0x60000 + 0x20000 + 0x360000 + 0x20000 = 0x400000 == 4194304KB == 4MB

	persistentmem {
		mtdname = "persistentmem";
		size = <32768>;    //4096     ??????????????????????? 32768 == 32K 是啥大小
		status = "okay";
	};

/*
GD25Q64E(8MB)

     0x0   0x60000    ==393216      384K
 0x60000   0x20000    ==131072
 0x80000  0x360000    ==3538944
0x3e0000   0x20000    ==131072

0x60000 + 0x20000 + 0x360000 + 0x20000 = 0x400000 == 4194304KB == 4MB

*/
	sfspi {        
		pinmux-active = <PINPAD_R00 1 PINPAD_R01 1 PINPAD_R02 1 PINPAD_R03 1>;
		sclk = <27000000>;
		dma-mode = <1>;
		status = "okay";

		spi_nor_flash {
			spi-tx-bus-width = <1>;
			spi-rx-bus-width = <1>;
			reg = <0>;
			status = "okay";
			partitions {
				part-num = <4>;
				/* part0 is for entire norflash by default */

				part1-label = "boot";
				part1-reg = <0x0 0x60000>;
				part1-filename = "bootloader.bin";

				part2-label = "eromfs";
				part2-reg = <0x60000 0x20000>;
				part2-filename = "romfs.img";

				part3-label = "firmware";
				part3-reg = <0x80000 0x360000>;      ???????????????????????
				part3-filename = "hcdemo.uImage";

				part4-label = "persistentmem";
				part4-reg = <0x3e0000 0x20000>;
				part4-filename = "persistentmem.bin";   ???????????????????????
			};
		};

■ 播放预览 怎么播放在lv_obj_v 控件上面。

■ 怎么获取lv_obj_v 在屏幕上的坐标。

■ 触摸屏问题,点击按钮会出现两次以上点击事件。

int port_indev_init(void)
{
    static lv_indev_drv_t indev_drv;

    // touchpad_init();   //不需要 在key中初始化了
    api_touch_event_init();

    lv_indev_drv_init(&indev_drv);
    indev_drv.type = LV_INDEV_TYPE_POINTER;
    indev_drv.read_cb = touchpad_read;
    indev_touch = lv_indev_drv_register(&indev_drv);

    // touch_g = lv_group_create();
    // lv_group_set_default(touch_g);
    // lv_indev_set_group(indev_touch, touch_g);
    return 0;
}
//=========================================================//
static void touchpad_read(lv_indev_drv_t *indev_drv, lv_indev_data_t *data)
{
    static lv_coord_t last_x = 0;
    static lv_coord_t last_y = 0;
    uint32_t xy =0;

    if(api_touch_read(&xy))
    {
        last_x = xy >> 16;
        last_y = xy & 0xFFFF;
        data->state = LV_INDEV_STATE_PR;
    } else {
        data->state = LV_INDEV_STATE_REL;
        // return;
    }

    data->point.x = last_x;
    data->point.y = last_y;
}

static void *_key_task(void *arg)
{
	struct pollfd *pfd;
	int cnt;
	KEY_MSG_s key_msg;
	struct input_event *t;
	int input_cnt = 0;
	uint8_t input_name[32];
	int key_fds[INPUT_DEV_MAX] = {0,};
    int i;

	for (i = 0; i < INPUT_DEV_MAX; i++){
		sprintf(input_name, "/dev/input/event%d", i);
		key_fds[i] = open(input_name, O_RDONLY);
		if (key_fds[i] < 0)
			break;

		printf("shine++++ open %s, line:%d. %s\n",__func__,__LINE__,input_name);
		input_cnt++;
	}
	if (0 == input_cnt){
		printf("%s(), line:%d. No Input device!!!\n", __func__, __LINE__);
		return NULL;
	}

	printf("%s(), input device num: %d.\n", __func__, input_cnt);
	pfd = (struct pollfd*)malloc(sizeof(struct pollfd)*input_cnt);
	memset(pfd, 0, sizeof(struct pollfd)*input_cnt);

	for (i = 0; i< input_cnt; i ++){
		pfd[i].fd = key_fds[i];
		pfd[i].events = POLLIN | POLLRDNORM;
	}

	t = &key_msg.key_event;
	#ifdef BLUETOOTH_SUPPORT
	bluetooth_ir_key_init(bt_key_queue_write_ctrl);
	#endif
	while (1) {
		if (poll(pfd, input_cnt, -1) <= 0){
			continue;
		}

		for (i = 0; i < input_cnt; i ++)   // i == 0 是 rc ,i == 1 是触摸屏
		{
			if (pfd[i].revents != 0){
				cnt = read(key_fds[i], t, sizeof(struct input_event));

				if (m_key_off){
					api_sleep_ms(10);
					continue;
				}

				if (cnt != sizeof(struct input_event)){
					printf("cnt = %d, err(%d):%s\n", cnt, errno, strerror(errno));
					api_sleep_ms(10);
				}
#if 0
				printf("shine i=%d,key_type=%ld,t->type=%d,t->code=%d,t->value=%d\n",i,(int)key_msg.key_type,t->type,t->code,t->value);
#else
#if (SOWYE_PLAYER_APP == 1)
			    if(t->type == EV_ABS)
				{
					//对换一下x,y值
				    static uint32_t touch_xy = 0;
					if(t->code == ABS_MT_POSITION_X)
					{
						touch_y = t->value & 0xFFFF;
					}
					else if(t->code == ABS_MT_POSITION_Y)
					{
						touch_x = t->value & 0xFFFF;
						touch_xy = touch_x << 16 | touch_y;
						api_touch_write(touch_xy);
					}
				}
				else if (_key_event_is_valid(t))
				{
					if (0 == i){
						key_msg.key_type = KEY_TYPE_IR;
					}else if (1 == i){
						key_msg.key_type = KEY_TYPE_ADC;
					}else if (2 == i){
						key_msg.key_type = KEY_TYPE_GPIO;
					}

					key_queue_write(&m_key_queue, &key_msg);
				}
#else
				if (_key_event_is_valid(t))
				{
					//here may change the key type, for sometims
					//event0 may be IR, may be GPIO or ADC key.
					if (0 == i)
						key_msg.key_type = KEY_TYPE_IR;
					else if (1 == i)
						key_msg.key_type = KEY_TYPE_ADC;
					else if (2 == i)
						key_msg.key_type = KEY_TYPE_GPIO;

					//printf("shine121212 %s,%d,key_msg.key_type=%d\n",__func__,__LINE__,key_msg.key_type);  // 遥控器key_type== 0 
					key_queue_write(&m_key_queue, &key_msg);
				}
#endif
#endif
			}
		}
		api_sleep_ms(5);
	}
	for (i = 0; i < input_cnt; i ++){
		if (key_fds[i] > 0)
		close(key_fds[i]);
	}
	free(pfd);

	return 0;	
}

■ 报错

■ 问题 auto.conf: No such file or directory v10_hcdemo/include/config/br2_auto.conf’. Stop. 100_v10_hcdemo/build/libssp/.stamp_built’ failed

在这里插入图片描述
解决-重新全局编译就会生成include/config/br2_auto.conf
没有那文件 include/config/br2_auto.conf

第一次全局编译 
make distclean
rm -rf output*  重新建项目需将 output文件删除掉,持行下面编译指令
make O=output_bl/ hichip_hc15xx_db_e100_v10_hcdemo_bl_defconfig
make O=output_bl/ all

make O=output/ hichip_hc15xx_db_e100_v10_hcdemo_defconfig
make O=output/ all

■ 问题 Connecting to sources.buildroot.net (sources.buildroot.net)|104.26.0.37|:80… failed: Connection timed out.

在这里插入图片描述
原因是打开了下面MMC driver,关闭就可以
在这里插入图片描述

■ 问题 Makefile:45: recipe for target ‘projector.out’ failed

在这里插入图片描述
目前重新全局编译后解决

■ 问题 重新编译会出错

在这里插入图片描述
重新拷贝谢总虚拟机。解决了,
后来自己在修改为英文情况下编译也通过了。说明是系统修改为中文导致的。

■ 问题点

■ 01. HCFOTA.bin tf卡升级,要在app选择升级打开。

for-debug HCFOTA.bin 是放在tf卡升级。

■ 02. 编译指定app 还学要配置 menucnfig

make O=output_bl/e100_v10_hcdemo apps-projector-rebuild all

■ 03. apps-projector/source/Makefile 中添加文件夹问题编译

/home/sy/E100/hcrtos/components/applications/apps-projector/source/Makefile

■ 04. 驱动位置

/home/sy/E100/hcrtos/components/kernel

■ 05. LVGL位置问题

/home/sy/E100/hcrtos/components/applications/apps-projector/source/hcprojector_app/projector.c 中
#include “lvgl/lvgl.h” 路径问题

■ 06. rc-hcdemo.c 遥控器文件对应kennal位置替换

“C:\Users\yichu\Documents\WeChat Files\pengyichu541022348\FileStorage\File\2024-07\rc-hcdemo.c”

■ 07. /projector.c:4:10: fatal error: lvgl/lvgl.h: No such file or directory

以上制定生成路径 O=output/e100_v10_hcdemo 方式后出现如下问题
src/hcprojector_app/projector.c:4:10: fatal error: lvgl/lvgl.h: No such file or directory
是因为lvgl 生成在指定的目录下就找不到文件夹了,所以不要制定生成文件夹O=output/e100_v10_hcdemo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

光芒Shine

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值