1、安装SDK
之前已经安装过SDK了,这里可以直接跳过,不知道怎么安装SDK的同学可以参考我的前几篇文章。
2、安装STM32CubeIDE
因为后面要使用到STM32CubeIDE,所以需要先安装STM32CubeIDE。
下载Linux版本的STM32CubeIDE,解压后进入到对应的目录中进行安装。
下载地址和安装操作手册ST官网都有相关的详细的资料说明,因为本次重点不是STM32CubeIDE软件的安装,所以不详细描述软件安装过程。
sudo sh ./st-stm32cubeide_1.14.0_19471_20231121_1200_amd64.deb_bundle.sh
安装完成后如图
3、配置STM32CubeIDE
打开STM32CubeIDE,导航到菜单Window ==>Preferences ==>STM32Cube ==>OpenSTLinux SDK Manager,选择OpenSTLinux sdk所在的目录。
4、获取LVGL工程
1)获取LVGL源码
git clone --recursive HYPERLINK "https://github.com/lvgl/lv_port_pc_eclipse.git"
如果clone不下来可以使用https://githubfast.com进行clone,速度会快很多。
clone完成如下:
2)更新子模块
进入文件夹lv_port_pc_eclipse中,更新子模块:
git checkout -b WORKING origin/release/v8.1
git submodule init
git submodule update
3)打上ST的补丁
cd ..
cp -a ./lvgl_stm32mp_patch/* ./lv_port_pc_eclipse/
mv lv_port_pc_eclipse lv_stm32mp_lvgl
5、配置工程
运行STM32CubeIDE,导入cmake工程
file ==> New ==> STM32 CMake project upload your LVGL project.
6、编译工程
编译完成后如图:
编译生成的二进制文件位于config_default文件夹下,名字为main。
7、将main文件传输到开发板
scp ./config_default/main root@192.168.7.1:/usr/local
8、写入SD卡
9、开发板上运行main
root@stm32mp1:~# systemctl stop weston-graphical-session
root@stm32mp1:~# /usr/local/main
10、总结
根据官网wiki的资料,LVGL工程有3中配置可供选择,分别为:
configuration 1
option(STM32MP_LVGL_WAYLAND_SDL2_GPU BOOLEAN ON)
option(STM32MP_LVGL_DRM_KMS_SDL2_GPU BOOLEAN OFF)
option(STM32MP_LVGL_DIRECT_DRM_KMS_NOGPU BOOLEAN OFF)
configuration 2
option(STM32MP_LVGL_WAYLAND_SDL2_GPU BOOLEAN OFF)
option(STM32MP_LVGL_DRM_KMS_SDL2_GPU BOOLEAN ON)
option(STM32MP_LVGL_DIRECT_DRM_KMS_NOGPU BOOLEAN OFF)
configuration 3
option(STM32MP_LVGL_WAYLAND_SDL2_GPU BOOLEAN OFF)
option(STM32MP_LVGL_DRM_KMS_SDL2_GPU BOOLEAN OFF)
option(STM32MP_LVGL_DIRECT_DRM_KMS_NOGPU BOOLEAN ON)
但我实际测试下来,只有第三个配置可以正常使用并且屏幕有显示,配置1屏幕无任何反应,但控制台会打印屏幕分辨率,配置2直接就报错
暂时不清除是什么原因导致的。
|