LVGL系列2--linux + lvglv8 + vscode 移植

LVGL系列

一、LVGL移植

LVGL系列1--AT32移植LVGL_V8具体步骤
LVGL系列2--linux + lvglv8 + vscode 移植

二、输入设备

LVGL系列3--纯物理(外部)按键,数字键盘控制控件

文章目录

一、新建文件夹并克隆源码

cpp 复制代码
mkdir lvgl_proj
cd lvgl_proj
git clone -b v8.X.0 --depth=1 https://github.com/lvgl/lvgl.git
git clone -b v8.X.0 --depth=1 https://github.com/lvgl/lv_drivers.git
//不用Demo可以不clone
git clone -b v8.X.0 --depth=1 https://github.com/lvgl/lv_demos.git 

上面的不好

直接用下面的方法,拉取子分支即可

二、lv_sim_vscode_sdl 获取

lv_sim_vscode_sdl:VSCode with SDL driver: Linux 和 Mac

官方仓库 7.11.0

git clone -b 7.11.0 --recursive https://github.com/lvgl/lv_sim_vscode_sdl.git

官方仓库 最新版

git clone --recursive https://github.com/lvgl/lv_sim_vscode_sdl

如果上面clone失败或者太慢,使用下面的链接

同步到gitee上的,包括子模块,会快很多

git clone --recursive https://gitee.com/JavonPeng/lvgl_vscode_sdl.git

改成自己的链接

子模块拉取失败时执行

git submodule update --init --recursive

二、新建下列文件

1.obj 文件夹,用于存放编译生成的中间文件,并在obj中添加实际的顶层Makefile

Makefile内容为:

cpp 复制代码
CC = arm-linux-gcc // buildroot 自带的gcc,与板子编译跟文件的gcc保持一致
LVGL_DIR ?= /home/wd/linuxdev/LVGL_V8_Lichee/LVGL_V8 //根目录 这里一定要根据自己目录改
LVGL_DIR_NAME ?= lvgl
CFLAGS ?= -O3 -g0 -I$(LVGL_DIR)/
LDFLAGS ?= -lm
BIN = lvgl_demo
MAINSRC = ../main.c
include $(LVGL_DIR)/lvgl/lvgl.mk
include $(LVGL_DIR)/lv_drivers/lv_drivers.mk
include $(LVGL_DIR)/MY_UI/MY_UI.mk  //这里是自己添加的mk文件


OBJEXT ?= .o
AOBJS = $(ASRCS:.S=$(OBJEXT))
COBJS = $(CSRCS:.c=$(OBJEXT))
MAINOBJ = $(MAINSRC:.c=$(OBJEXT))
SRCS = $(ASRCS) $(CSRCS) $(MAINSRC)
OBJS = $(AOBJS) $(COBJS)

all: default

%.o: %.c
	@$(CC)  $(CFLAGS) -c $(INCLUDES) $< -o $@
	@echo "CC $<"

default: $(AOBJS) $(COBJS) $(MAINOBJ)
	$(CC) -o $(BIN) $(MAINOBJ) $(AOBJS) $(COBJS) $(LDFLAGS) 
	cp $(BIN) ../

clean:
	rm -f $(BIN) $(AOBJS) $(COBJS) $(MAINOBJ)

2.为了可以直接在根目录编译,所以在根目录创建一个Makefile加入如下脚本这样就可以直接在根目录进行make了

内容为:

cpp 复制代码
all:
	make -C obj
clean:
	make clean -C obj

3.自己新建文件夹下内容

MY_UI.mk

cpp 复制代码
CSRCS += $(shell find -L $(LVGL_DIR)/MY_UI -name "*.c")
相关推荐
蜀道山老天师5 小时前
Shell Bash变量与运算符(含条件测试与流程控制)
linux·运维·bash
孙小l懒_keep_update6 小时前
【VSCODE中的Codex 打不开(页面空白,一直 Loading)】
vscode
Mr.朱鹏6 小时前
Linux 服务器 LVM 根分区在线动态扩容
linux·服务器·数据库
草邦设计开发团队_媒体资源平台6 小时前
GEO 信源整合一键发布软文:从内容生产到流量获客的自动化实践
运维·人工智能·自动化
zhou lily6 小时前
非标自动化管理系统ERP如何选?2026年10大ERP软件对比分析
运维·自动化
mengge.cloud6 小时前
存储技术基础小白教程
linux·运维·服务器·wpf·存储
云贝贝贝6 小时前
腾讯云 TDSQL(MySQL 版)运维高频 6 坑:代理路由、读写分离、分片键、监控、PITR
运维·mysql·腾讯云
小五传输7 小时前
FTP替代怎么做?医院文件安全传输选型与迁移指南
大数据·运维·安全
金智维科技官方7 小时前
财务核算如何提效?这三条核心链路正在加速自动化
运维·人工智能·ai·自动化·财务·智能体
tang777897 小时前
反爬虫场景下代理IP池的动态扩容与失效IP自动清理方案实现
linux·服务器·网络·爬虫代理·住宅代理ip