基于嵌入式系统的linux图形界面设计与应用

本文介绍了如何在资源受限的嵌入式系统中使用LVGL开发图形界面,包括在Windows上预览和测试、移植到Linux虚拟机、跨平台编译及最终在嵌入式主板上部署的过程。作者计划分享后续的LVGL基础教程和项目实现细节。
摘要由CSDN通过智能技术生成

引子

自动售货机现在已经成为了我们日常生活中的一部分,当我们通过自动售货机购物时,是否注意过售货机上的显示屏,上面罗列着商品信息,提供支付的二维码,还会放一些广告。类似自动售货机显示屏这种独立显示的图形界面,是由嵌入式系统图形界面开发的技术来支持的,自动售货机的显示屏后连接着一块嵌入式主板,预先设计好的图形界面代码存储在这块嵌入式主板中,电源供电后显示屏上便呈现出相应的图形界面。这种嵌入式开发板一般都是linux系统的,比如国内知名的SigmaStar(启明星)开发板(SSD系列),所以我们在设计图形界面代码时是要基于linux系统来做的。这也就引出了笔者在本系列博客中介绍的项目——基于嵌入式系统的linux图形界面设计与应用,这是笔者正在做的项目,因为觉得收获颇多,并且过程中很多问题在网上并没有直接解决方案,故开启本系列博客专以记录,也希望能借此帮助到更多人。

项目简介

嵌入式主板一个非常大的缺点便是资源有限,因此开发出的图形界面的程序就不能过大,相反越小越好,这就对设计图形界面的工程代码有着很大的要求。我们选用的是LVGL(Light and Versatile Graphics Library)这款嵌入式图形库用于创建嵌入式 GUI,它具有易于使用的图形元素、精美的视觉效果和低内存占用。LVGL于2014年由匈牙利人Gabor Kiss-Vamosi创立,最初,它是为Gábor的个人项目而开发的,但随着时间的推移,LVGL逐渐成长为一项强大的开源工具。现在,LVGL社区得到了全球范围内嵌入式系统开发者的广泛支持和贡献。

项目整体上的开发思想是:

①先在Windows主机上使用codeblocks模拟器编写基于LVGL设计的图形界面工程代码,测试结果可以直接在模拟器上看到。这里说的模拟器是指codeblocks、vscode这类的IDE,之所以称之为模拟器是因为它不是真正的将图形界面显示在windows主机的整个显示屏上,而是开辟出一块小窗口,来显示程序运行的结果画面。类似于这样:

可以看到右上角显示着“LVGL Simulator for Windows Desktop”

②将Windows主机上设计好、测试无误的工程代码移植到Linux虚拟机上(笔者使用的是ubuntu-22.04.2-desktop-amd64),修改驱动和其他配置,调试代码直到能成功运行。具体的移植过程后续文章会专门讲解,此处不做赘述。

③将Linux虚拟机上测试成功的工程代码换做arm-linux-gnueabihf-gcc交叉编译,再把编译完成得到的可执行文件移植到嵌入式开发板上,也就是引子中提到的嵌入式主板,在主板上再进行环境的配置,驱动使能等准备工作,准备工作完成后运行移植的可执行文件,便可在与开发板连接的显示屏上观察到设计好的图形界面。这样其实就完成了一个嵌入式GUI(Graphical User Interface)的开发,也就是笔者的项目“基于嵌入式系统的linux图形界面设计与应用”最终要实现的事情。

下节预告

好了,本节的项目综述就到这里了。如果您对嵌入式GUI开发或者LVGL的学习感兴趣,又或者想跟随笔者复现笔者的开发项目,还请收藏/关注以便能收到接下来同系列博客的更新通知。

下一节,笔者将沿着自己的学习轨迹介绍一下在Windows中下载并使用LVGL官方代码,还会分析官方代码的组成以及一些LVGL的基本语法和API,敬请期待。

  • 22
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值