龙芯+FreeRTOS+LVGL实战笔记(新)——02准备工程和驱动文件

2024-09-02 16:36

本文主要是介绍龙芯+FreeRTOS+LVGL实战笔记(新)——02准备工程和驱动文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        本专栏是笔者另一个专栏《龙芯+RT-Thread+LVGL实战笔记》的姊妹篇,主要的区别在于实时操作系统的不同,章节的安排和任务的推进保持一致,并对源码做了完善与优化,各位可以先到本人主页下去浏览另一专栏的博客列表(目前已撰写36篇,图1所示),再决定是否订阅。此外,也可以前往本人在B站的视频合集(图2所示)观看所有演示视频,合集首个视频链接为:

借助RT-Thread和LVGL,在龙芯板上搞定两个RGB灯的小任务_哔哩哔哩_bilibili

图1 《龙芯+RT-Thread+LVGL实战笔记》所有文章
图2 笔者在B站上的龙芯视频合集

        此外,关于专栏的收费,无非就是笔者想增加一些创作的动力。由于上个专栏受到了厂家关注并请求本人下架,但是已收费的资源不可下架,所以只能无奈的上调了价格(涨价了就无法降价)。而本专栏笔者不再顾忌,将维持该定价,希望朋友们理解和支持。 


        本文是这个实战系列的开始,笔者会手把手教大家把 FreeRTOS 和 LVGL 文件移植到工程项目中,形成一个最基础的工程项目。

一、创建最初的项目

        这一步没啥技术含量,按照新建项目的向导,一步步选择最匹配和最需要的即可,这里把向导的每一步进行了截图(图3~图7),大家跟着选就行了。这里只强调一点,工程名和目录名都不要出现中文和空格。

图3 新建项目向导
图4 确定工程目录和名称
图5 选择处理器型号、工具链版本和操作系统类型
图6 选择所需的LVGL组件
图7 保留默认的添加框架源代码

二、触摸屏驱动文件的准备

        由于后续所有任务的交互都是依赖触摸屏来完成,因此移植触摸屏的驱动就成了当务之急。而且,移植不是简单的把驱动文件加进工程,还要与 LVGL 输入和输出设备的相关代码结合起来。这个部分不难,就是步骤和内容比较多。下面,请跟着笔者先把触摸屏的驱动文件准备好。

2.1 关于输出/输入驱动文件

        其实,上面刚创建好的工程已经包含了屏幕的显示输出驱动文件 ls1x_fb.c 和 ls1x_fb.h(所在目录如图8和图9所示),以及触摸输入驱动文件 gt1151.c 和 gt1151.h(所在目录如图10和图11所示)。

图8 ls1x_fb.c文件所在目录
图9 ls1x_fb.h文件所在目录
图10 gt1151.c文件所在目录
图11 gt1151.h文件所在目录

         但是,这里有个很纠结的问题,前者的显示输出驱动文件是针对横版屏幕(800×480)编写的,而后者的触摸输入驱动文件是针对竖版屏幕(480×800)编写的。因此,必须想办法让两者对屏幕采取一致的驱动方式。笔者选择的是横版屏幕,因此需要把后者的竖版输入替换成横版输入。

2.2 替换触摸输入驱动文件

        龙芯官方已经写好了针对横版的触摸输入驱动文件 gt1151q.c 和 gt1151q.h,放在了开发板的配套例程 10_LCD_touch 中(如图12所示),那接下来我们就用这两个文件去替换工程里原有的 gt1151.c 和 gt1151.h

图12 配套例程里的横版触摸输入驱动文件

        替换这一步也很简单,把工程里原有的触摸输入驱动文件删除,拷入新的文件,并将其添加进当前工程(添加 .c 文件即可),如图13~图15所示。

图13 替换为gt1151q.c文件
图14 替换为gt1151q.h文件
图15 把新的驱动文件加入工程

2.3 补充头文件路径

        这一点没什么可解释的,C的工程要求把所有头文件所在的路径都添加进来,按照当前的工程目录,图16所示的几个路径是需要手动添加的,如果你自己还规划了其他目录放头文件,也请一并加进来。

图16 补充的头文件路径

        关于触摸屏驱动文件的准备,到这里先告一段落,下一篇笔者将着手对相关文件中的代码进行修改,完成后续的移植工作。

(本文完)

这篇关于龙芯+FreeRTOS+LVGL实战笔记(新)——02准备工程和驱动文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1130485

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

滚雪球学Java(87):Java事务处理:JDBC的ACID属性与实战技巧!真有两下子!

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE啦,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~ 🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!! 环境说明:Windows 10

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2