861|5

194

帖子

4

TA的资源

纯净的硅(初级)

楼主
 

兆易GD32H759I-EVAL LVGL 移植 [复制链接]

  本帖最后由 御坂10032号 于 2024-6-12 14:04 编辑

大家好,今天的教程是想给大家分享一下如何移植LVGL到GD32H759I-EVAL的开发板上。 通过这篇教程你将会学到如何移植LVGL

 

1 - 下载

链接已隐藏,如需查看请登录或者注册

我们可以在GITHUB上下载LVGL的发行版,你可以选择自己的想要使用的版本。 关于LVGL的中文使用手册,可以参考百问网

 

 

 

2- 解压准备需要的文件

在解压LVGL后你可以得到如下图所需的文件

 

 

 

3- 开始移植

 

我们只需要保留三个文件夹即可。 Demos, examples 和 src。 demos包括了官方提供了的Demo示例, example内包含了官方LVGL的example组件的示例。Src则是包括了LVGL的源码文件。

 

  对于LVGL的移植,其实我们只需要example下的porting文件夹。我这边直接拷贝没有删除其他不需要的。 下图为准备好的文件。

 

  

重命名lv_conf_template.h 为lv_conf.h

 

 

如下图所示:

 

 

新建文件夹,按照下列树目录将上述文件夹进行方式

 

   

 

复制当前的目录到你的项目中,并且在Keil中新增目录分组用来更好的显示和编辑文件。

 

 

新增文件编译的查找路径

 

 

 

此时准备工作已经完成了,但是为了使用LVGL你还需要屏幕的驱动方法。也就是屏幕的打点函数,这个函数的作用就是在屏幕的X,y 画上一个点。我们把这个函数集成到LVGL内LVGL便可以帮我们画出漂亮的界面了。

 

关于屏幕的函数也不需要你自己实现。如果你使用的是GD32H759I-EVAL开发板的话,官方已经为你准备好了。驱动函数在固件库下的Utilities文件夹内

 

 

如下图所示:

 

 

 

此时你需要的是把这两个文件拷贝到你的项目里,并且包含到编译路径中,注意这个驱动函数还包括了LCD_font 和 sdram的,可以一起包含进来。

 

 

此时你的准备工作已经做好了。

 

接下来我们打开下图所示,在移植的文件的源文件中引入 lcd的驱动文件

 

 

在LVGL的初始化方法里调用初始化LCD,并且LVGL的缓冲区配置,三个任选一个即可

 

 

在下方的160行左右,把屏幕刷新函数中调用LCD的打点函数

 

 

最后也别忘了修改你屏幕的大小

 

 

此时配置部分已经完成了。

 

接下来我们来运行一下官方提供的demo,我们可以新建一个文件夹,把之前创建文件夹内的demo文件包含进来,如下图所示

 

 

 

配置它的编译路径

 

 

 

在主程序中引入LVGL初始化文件和demo文件的库

 

 

不要觉得这样就完了,你还需要给LVGL提供心跳来用于动画的显示,所以在主程序中还需要配置一个定时器,定时给LVGL提供心跳

 

 

 

主程序函数,在主程序中初始化定时器,初始化LVGL并且每间隔5ms调用一次lv_timer_handler函数。

 

 

 

在LVGL.conf 文件中打开你引入并且要demo的 project示例

 

 

编译并且烧录到开发板中。 如果你觉得下载器速度太慢,可以尝试做以下调整

 

 

 

效果如下:

 

 

 

 

代码:

07-LVGL.zip (14.36 MB, 下载次数: 15)

 

最新回复

国产开发工具有很多,这里就不点名了,但都是流氓行为,要注册个人信息,电话地址之类的,还有只能在线操作等,等捆绑好你了接下来就开始收割了,我宁愿用一次付费的软件也不敢用国产软件,技术和技术员生存是不能拿爱国来衡量的,这是不争的事实.   详情 回复 发表于 2024-7-7 16:37
点赞 关注
 
 

回复
举报

7063

帖子

11

TA的资源

版主

沙发
 
感谢大佬的分享呀,特别是分享源码,难得难得呀。不过我看了描点的部分,可否有优化的空间呢?

点评

我个人觉得这个应该是固定的写法。你有什么好的建议吗?  详情 回复 发表于 2024-6-12 22:15
 
 
 

回复

194

帖子

4

TA的资源

纯净的硅(初级)

板凳
 
lugl4313820 发表于 2024-6-12 15:54 感谢大佬的分享呀,特别是分享源码,难得难得呀。不过我看了描点的部分,可否有优化的空间呢?

我个人觉得这个应该是固定的写法。你有什么好的建议吗?

点评

如果要提高刷新率,这样可有点慢,最好是采用DMA来传输。  详情 回复 发表于 2024-6-13 07:19
 
 
 

回复

7063

帖子

11

TA的资源

版主

4
 
御坂10032号 发表于 2024-6-12 22:15 我个人觉得这个应该是固定的写法。你有什么好的建议吗?

如果要提高刷新率,这样可有点慢,最好是采用DMA来传输。

 
 
 

回复

6107

帖子

4

TA的资源

版主

5
 

国产芯片要能有自己的开发环境就好了。不能老是依赖keil和iar之类的。

点评

国产开发工具有很多,这里就不点名了,但都是流氓行为,要注册个人信息,电话地址之类的,还有只能在线操作等,等捆绑好你了接下来就开始收割了,我宁愿用一次付费的软件也不敢用国产软件,技术和技术员生存是不能拿爱国来衡  详情 回复 发表于 2024-7-7 16:37
 
 
 

回复

39

帖子

14

TA的资源

一粒金砂(中级)

6
 
damiaa 发表于 2024-6-13 08:58 国产芯片要能有自己的开发环境就好了。不能老是依赖keil和iar之类的。

国产开发工具有很多,这里就不点名了,但都是流氓行为,要注册个人信息,电话地址之类的,还有只能在线操作等,等捆绑好你了接下来就开始收割了,我宁愿用一次付费的软件也不敢用国产软件,技术和技术员生存是不能拿爱国来衡量的,这是不争的事实.

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表