LVGL移植到AM335x+Linux系统
1. 概述
本文档详细介绍如何将LVGL 8.3版本移植到基于AM335x处理器的Linux系统中,包括LVGL库的配置、tslib触摸驱动的移植以及示例应用的编译运行。整个项目使用CMake作为构建系统。
1.1 开发环境
- 硬件平台:AM335x处理器
- 操作系统:Linux
- LVGL版本:8.3
- 构建工具:CMake 3.16+
- 交叉编译工具链:arm-arago-linux-gnueabi-gcc 4.5.3
- 项目源码:https://gitcode.com/am335xt3/lvgl
PS: LVGL移植基于lv_port_linux v8.3源码,原项目构建工具是Makefile,本项目使用cmake构建。
2. 交叉编译环境配置
2.1 工具链配置
项目使用arm-arago-linux-gnueabi工具链进行交叉编译。在toolchain.cmake中配置如下:
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR arm)
set(CMAKE_C_COMPILER /opt/am335xt3-cross-devkit/bin/arm-arago-linux-gnueabi-gcc)
set(CMAKE_CXX_COMPILER /opt/am335xt3-cross-devkit/bin/arm-arago-linux-gnueabi-g++)
set(CMAKE_ASM_COMPILER /opt/am335xt3-cross-devkit/bin/arm-arago-linux-gnueabi-as)
2.2 编译选项
在toolchain.cmake中设置了必要的编译标志:
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O0 -g -rdynamic -g0 -Wall -Wshadow -Wundef -Wmissing-prototypes -Wall -Wextra -Wno-unused-function -Wno-error=strict-prototypes -Wpointer-arith -fno-strict-aliasing ...")
3. LVGL配置与编译
3.1 LVGL配置
-
配置lv_conf.h文件:
- 设置显示缓冲区大小
- 配置色彩深度(LV_COLOR_DEPTH)
- 启用需要的功能模块(log,虚拟键盘,文件系统等)
-
配置显示驱动:
- 使用fbdev作为显示驱动
- 配置正确的显示分辨率和颜色格式,比如分辨率是480*272:
// 初始化并注册显示驱动
lv_disp_drv_init(&disp_drv);
disp_drv.draw_buf = &disp_buf;
disp_drv.flush_cb = fbdev_flush;
disp_drv.hor_res = 480;
disp_drv.ver_res = 272;


1105

被折叠的 条评论
为什么被折叠?



