在LVGL的编译与开发过程中,实用工具和明确步骤至关重要。为此,我们特地准备了相关工具和示例代码。随后,我将逐一详细介绍整个开发步骤。
工具链文件下载
为确保LVGL编译过程顺畅,我们准备了详尽的工具链资料。您只需点击链接,即可轻松获取。这些资料能显著提升开发效率,简化诸多繁琐步骤,助您节省大量宝贵时间和精力。借助这些资料,LVGL的编译开发将更加稳定和可靠。
sudo apt install open-vm-tools-desktop
sudo apt-get install -y sed make binutils build-essential gcc g++ bash patch gzip bzip2 perl tar cpio unzip rsync file bc wget python cvs git mercurial rsync subversion android-tools-mkbootimg vim libssl-dev android-tools-fastboot
sudo apt-get install -y libncurses5-dev u-boot-tools
工具链文件,宛如解锁LVGL编译开发的神秘之钥。凭借它,我们的工作得到了坚实的助力。下载完毕后,我们便迈出了至关重要的步伐。
示例程序助了解流程
root@TinaLinux:/# lv_examples 0
wh=1024x600, vwh=1024x1200, bpp=32, rotated=0
Turn on double buffering.
我们准备了工具链文件,还精心打造了LVGL的基础示例。这个示例就像一位热心的引路人,能让客户对LVGL的开发过程有清晰的把握。里面包含了许多实用的案例,能帮助用户迅速掌握开发过程中的关键环节。
lv_examples 0, is lv_demo_widgets
lv_examples 1, is lv_demo_music
lv_examples 2, is lv_demo_benchmark
lv_examples 3, is lv_demo_keypad_encoder
lv_examples 4, is lv_demo_stress
这个程序示例非常适合初学者入门。它相当于一本开发指南,能帮助你在学习LVGL时减少许多错误。借助它,你可以更精确地把握开发过程中的逻辑和步骤。
解压源码查看说明
下载完毕后,打开源码压缩文件,你会看到.md文件及其对应的源码文件。这个.md文件非常关键,它包含了镜像的MD5校验码和版本数据。凭借这些信息,客户能够验证文件的完整性,同时确认镜像的版本和功能。
ubuntu@ubuntu1804ubuntu@ubuntu1804:~$ mkdir lvgl-work
ubuntu@ubuntu1804:~$ cd lvgl-work
每份文件都像被赋予了一张身份证明,通过它,你能明确了解其来源和功能。这确实是确保开发流程顺畅进行的重要环节,其内容务必认真审查。
ubuntu@ubuntu1804:~/lvgl-works$ ls
allwinner-tinasdk_lvgl8_demo_V1.0.tar.gz
开发环境准备工作
ubuntu@ubuntu1804ubuntu@ubuntu1804:~$ mkdir toolchain
ubuntu@ubuntu1804:~$ cd toolchain
若您已依照《应用开发环境》至《开发环境配置》的步骤顺利完成虚拟机配置,那么您便可直接进入《配置系统开发环境》环节。本章节的开发任务对特定镜像和环境有要求,因此您需对开发板上的系统镜像进行升级。具体烧录系统的方法,请参考《烧录开发板系统》的相关资料。您要找的镜像文件可以在《获取专用镜像》文档里找到,它叫做-.-.0.img。
ubuntu@ubuntu1804:~/lvgl_work/toolchain$ ls
100ask_t113-pro_arm-openwrt-linux-eabi-glibc_sysroot_v1.0.tar.gz
gcc-6.4-2017.11-x86_64_arm-openwrt-linux-eabi-musl.tar.gz
为了打造一个优质的开发氛围,这好比给种子培育肥沃的土壤。环境一旦完善,开发过程方能顺利展开,从而保证编译及运行环节不会遭遇阻碍。
tar -xzvf gcc-6.4-2017.11-x86_64_arm-openwrt-linux-eabi-musl.tar.gz
编译LVGL源码操作
tar -xzvf 100ask_t113-pro_arm-openwrt-linux-eabi-glibc_sysroot_v1.0.tar.gz
启动串口终端应用,以下将用普遍软件来演示。需挑选开发板的串口标识,这信息可在设备管理界面查到。假定工具链和源码的tar.gz压缩文件已下载完成,且存放在虚拟机中的某个文件夹里。随后来到该文件夹,新建一个叫作lvgl的文件夹,专门用于存放这三个压缩文件。
ubuntu@ubuntu1804:~/lvgl_work/toolchain$ cd ../
ubuntu@ubuntu1804:~/lvgl_work$
接下来是修改源码的重要环节,目的是让lvgl源码借助下载的编译工具链完成编译。在此环节中,必须将文件里的编译器路径(CC)替换成已验证的交叉编译工具链的实际路径。值得注意的是,路径的设定可能因具体情况而异,如果使用了虚拟机,还需进行相应的调整。若采用我们的第二种方法,只需将内容复制粘贴到.04终端,随后执行即可。
tar -xzvf allwinner-tinasdk_lvgl8_demo_V1.0.tar.gz
应用程序传输运行
ubuntu@ubuntu1804:~/lvgl_work$ tree -L 2
.
├── allwinner-tinasdk_lvgl8_demo_V1.0.tar.gz
├── lv_port_linux_frame_buffer
│ ├── CMakeLists.txt
│ ├── LICENSE
│ ├── lv_conf.h
│ ├── lv_drivers
│ ├── lv_drv_conf.h
│ ├── lvgl
│ ├── main.c
│ ├── Makefile
│ ├── mouse_cursor_icon.c
│ └── README.md
└── toolchain
├── 100ask_t113-pro_arm-openwrt-linux-eabi-glibc_sysroot_v1.0.tar.gz
├── arm-openwrt-linux-eabi-musl
├── gcc-6.4-2017.11-x86_64_arm-openwrt-linux-eabi-musl.tar.gz
├── sysroot
└── toolchain
7 directories, 11 files
编译结束后,你会在当前目录里找到一个叫demo的程序。通常,系统已经设置好了必要的环境,另外我们还准备了带有adb环境的虚拟机镜像。你可以按照文章3介绍的方法,用adb实现文件传输,把开发板和系统连接起来,然后就能上传文件了。
开启系统中的ADB功能,再将制作完成的演示程序上传至开发板进行执行。同时,连接ADB设备到虚拟机。接着,把LVGL的示例代码发送到开发板的根目录。传输完毕后,打开开发板的串口终端应用程序。在终端界面输入指定命令,屏幕上便可见运行的定制演示程序。同时,LVGL演示的内置功能也会一一呈现。
ubuntu@ubuntu1804:~/lvgl_work/toolchain/arm-openwrt-linux-eabi-musl/bin$ ls arm-openwrt-linux-muslgnueabi-gcc
arm-openwrt-linux-muslgnueabi-gcc
ubuntu@ubuntu1804:~/lvgl_work/toolchain/arm-openwrt-linux-eabi-musl/bin$ pwd
/home/ubuntu/lvgl_work/toolchain/arm-openwrt-linux-eabi-musl/bin
遇到了难题吗?在使用LVGL进行编程和构建项目时,您有没有遇到什么困难?这篇文章有没有给您带来一些灵感?如果觉得有用,不妨点个赞,分享一下!
/home/ubuntu/lvgl_work/toolchain/arm-openwrt-linux-eabi-musl/bin/arm-openwrt-linux-muslgnueabi-gcc