
清空记录
历史记录
取消
清空记录
历史记录

(点击视频,1分钟解锁RK3506核心板,59元超高性价比方案)
配置LVGL
# Buildroot相关配置...
$ ls buildroot/configs/rockchip/lvgl/v8base.config lvgl_drm.config lvgl_rkadk.config lvgl_sdl.config
LVGL DEMO
$ tree -L 1.#i├── amp_monitor├── cJSON# cJSON源码├── CMakeLists.txt├── common├── flexbus├── gallery├── lv_demo# 基础示例程序,运行官方DEMO├── lvgl8# 默认使用lvgl8├── lvgl9├── motor_demo├── rk_demo# RK显控DEMO,包含智能家居、家电显控、楼宇对讲、系统设置等DEMO├── sys# 时间戳,trace debug等└── tools
static void lvgl_init(void){/* 一切LVGL应用的开始 */ lv_port_init(); ... check_scr();}...int main(int argc, char **argv){ signal(SIGINT, sigterm_handler); struct sched_param param; int max_priority; max_priority = sched_get_priority_max(SCHED_FIFO); param.sched_priority = max_priority; if (sched_setscheduler(0, SCHED_FIFO, ¶m) == -1) { perror("sched_setscheduler failed"); }/* 根据配置选择对应的DEMO初始化,绘制对应UI */#if ROCKIT_EN RK_MPI_SYS_Init();#endif#if WIFIBT_EN run_wifibt_server();#endif lvgl_init(); app_init(); rk_demo_init(); while (!quit) { /* 调用LVGL任务处理函数,LVGL所有的事件、绘制、送显等都在该接口内完成 */ lv_task_handler(); usleep(100); }#if ROCKIT_EN RK_MPI_SYS_Exit();#endif return 0;}源码编译说明
$ rm -rf/buildroot/output/rockchip_rk3506/build/lvgl_demo/ -rf
$ ./build.sh buildroot
DEMO编译说明
触觉智能RK3506资料网盘中有提供的lvgl的demo,以下是编译方法以及demo运行方法。
$ mkdir demo$ unzip lvgl_demo.zip -d demo/$ cd demo/lvgl_demo
$ cat Makefile## Makefile##CC ?= gccCC = /home/rk3506/rk3506_linux-250211/rk3506_linux6.1/buildroot/output/rockchip_rk3506/host/bin/arm-buildroot-linux-gnueabihf-gccLVGL_DIR_NAME ?= lvglLVGL_DIR ?= ${shell pwd}CFLAGS ?= -O3 -g0 -I$(LVGL_DIR)/ -Wall -Wshadow -Wundef -Wmissing-prototypes -Wno-discarded-qualifiers -Wall -Wextra -Wno-unused-function -Wno-error=strict-prototypes -Wpointer-arith -fno-strict-aliasing -Wno-error=cpp -Wuninitialized -Wmaybe-uninitialized -Wno-unused-parameter -Wno-missing-field-initializers -Wtype-limits -Wsizeof-pointer-memaccess -Wno-format-nonliteral -Wno-cast-qual -Wunreachable-code -Wno-switch-default -Wreturn-type -Wmultichar -Wformat-security -Wno-ignored-qualifiers -Wno-error=pedantic -Wno-sign-compare -Wno-error=missing-prototypes -Wdouble-promotion -Wclobbered -Wdeprecated -Wempty-body -Wtype-limits -Wshift-negative-value -Wstack-usage=2048 -Wno-unused-value -Wno-unused-parameter -Wno-missing-field-initializers -Wuninitialized -Wmaybe-uninitialized -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wtype-limits -Wsizeof-pointer-memaccess -Wno-format-nonliteral -Wpointer-arith -Wno-cast-qual -Wmissing-prototypes -Wunreachable-code -Wno-switch-default -Wreturn-type -Wmultichar -Wno-discarded-qualifiers -Wformat-security -Wno-ignored-qualifiers -Wno-sign-compareLDFLAGS ?= -lmBIN = demo#Collect the files to compileMAINSRC = ./main.cinclude $(LVGL_DIR)/lvgl/lvgl.mkinclude $(LVGL_DIR)/lv_drivers/lv_drivers.mk#CSRCS +=$(LVGL_DIR)/mouse_cursor_icon.cOBJEXT ?= .oAOBJS = $(ASRCS:.S=$(OBJEXT))COBJS = $(CSRCS:.c=$(OBJEXT))MAINOBJ = $(MAINSRC:.c=$(OBJEXT))SRCS = $(ASRCS) $(CSRCS) $(MAINSRC)OBJS = $(AOBJS) $(COBJS)## MAINOBJ -> OBJFILESall: default%.o: %.c@$(CC) $(CFLAGS) -c $< -o $@@echo "CC $<"default: $(AOBJS) $(COBJS) $(MAINOBJ)$(CC) -o $(BIN) $(MAINOBJ) $(AOBJS) $(COBJS) $(LDFLAGS)clean:rm -f $(BIN) $(AOBJS) $(COBJS) $(MAINOBJ)
$ make
C:\Users\industio_mhk>adb push Z:\rk\rk3506\rk3506_linux-250211\rk3506_linux6.1\app\test\demo\lvgl_demo\demo /Z:\rk\rk3506\rk3506_linux-250211\rk3506_linux6.1\app\test\...ile pushed, 0 skipped. 24.4 MB/s (1127184 bytes in 0.044s)
root@rk3506-buildroot:/# chmod a+x /demoroot@rk3506-buildroot:/# /demo
