1 Star 0 Fork 1

long/HMI-RA6M3-V1.1.0

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

RA6M3-HMI-Board-lvgl 参考设计说明文档

本设计是在 HMI-Board 开发板上运行的 LVGL 音乐播放器 Demo。基于 RT-Thread 操作系统,支持 RT-Thread Studio/MDK5 软件开发环境。HMI-Board 中控芯片为 RA6M3,支持 2D加速、JPEG 编解码、2M Flash 大容量存储控件,助力用户开发炫酷的图形应用。本参考设计默认运行的是 LVGL 音乐播放器,拥有绚丽的音乐播放界面,并且,通过主界面的播放/暂停、上一首/下一首按钮控件,可以对音乐播放器进行播放控制。用户可以凭借此参考设计评估 RA6M3 芯片的图形性能。

本文档包括技术架构、使用说明、资料及文档三部分内容,通过阅读理解本篇内容,可在此参考设计基础上进行二次开发。

技术架构

HMI-Board-LVGL 开发框架包括系统层、框架层、应用层三个主要层级:

系统层 System Layer

RT-Thread 是开源国产物联网操作系统,它是一个嵌入式实时多线程操作系统。它集成了大量的系统级基础组件,丰富的软件包,以及详尽的开发指导文档,具体包括:

  • 内核层:RT-Thread 内核,是 RT-Thread 的核心部分,包括了内核系统中对象的实现,例如多线程及其调度、信号量、邮箱、消息队列、内存管理、定时器等;libcpu/BSP(芯片移植相关文件 / 板级支持包)与硬件密切相关,由外设驱动和 CPU 移植构成。
  • 组件与服务层:组件是基于 RT-Thread 内核之上的上层软件,例如虚拟文件系统、FinSH 命令行界面、网络框架、设备框架等。采用模块化设计,做到组件内部高内聚,组件之间低耦合。
  • RT-Thread 软件包:运行于 RT-Thread 物联网操作系统平台上,面向不同应用领域的通用软件组件,由描述信息、源代码或库文件组成。

组件层 Component Layer

除了系统层支持外,HMI-Board 还集成了多个出色的系统组件,其中 LVGL 作为多媒体组件加入到了本示例项目中。开发者只需要在 RT-Thread Studio/env 中使能 LVGL 软件包,并将其从服务器上拉取下来,便可以将 LVGL 以组件的形式加入到开发项目中。极大的简化了开发者手动将其加入项目中的步骤,提升效率。

应用层 Application Layer

应用层为用户在 LVGL 上进行 UI 的二次开发所使用的,用户可以已有/开发的 UI 代码写在 APP 层级。

音乐播放器 DEMO:

通过播放/暂停、上一首/下一首按钮控件,在触摸面板上可以对音乐播放器进行控制。通过上拉面板控件可以查看音乐列表。也可也在代码中修改手动播放为自动播放。

使用说明

在 RT-Thread Studio 中可以选择基于示例工程创建 LVGL-Demo。工程创建成功后,进行编译烧录即可。

RT-Thread Studio 的安装使用说明:快速开始

图中为 LVGL 软件包在 RT-Thread 中的集成形式,用户可以通过图形化方式对 LVGL 进行配置:

快速上手

  • 本 SDK 可以从 studio 的 SDK 管理界面直接下载,并基于本 SDK 新建工程。

  • 本 SDK 同时提供 MDK5 工程。下面以 MDK5 开发环境为例,介绍如何将系统运行起来。

编译下载

  • 首先双击 mklinks.bat ,然后打开 env 执行 scons --target=mdk5 生成新的 mdk5 工程

    注意:若电脑没管理员权限点击不了mklinks.bat,则需要手动将 sdk-bsp-ra6m3-hmi-board1目录下的 rt-thread 和 libraries 文件夹拷贝到当前工程目录下

  • 编译:双击 project.uvprojx 文件,打开 MDK5 工程,编译程序。(注意 AC6 版本可选 6.14、6.16、6.19,勿选择 6.15 版本编译)

  • 下载:点击 MDK 的 download/Debug 按钮进行下载调试

查看运行结果

下载程序成功之后,系统会自动运行并打印系统信息。

连接开发板对应串口到 PC , 在终端工具里打开相应的串口(115200-8-1-N),复位设备后,可以看到 RT-Thread 的输出信息。输入 help 命令可查看系统中支持的命令。

 \ | /
- RT -     Thread Operating System
 / | \     5.0.0 build Jan  4 2023 10:14:56
 2006 - 2022 Copyright by RT-Thread team
Hello RT-Thread!
msh >
msh >help
help             - RT-Thread shell help.
ps               - List threads in the system.
free             - Show the memory usage in the system.
clear            - clear the terminal screen
version          - show RT-Thread version information
list             - list objects

msh > 

应用入口函数

应用层的入口函数在 sdk-bsp-ra6m3-hmi-board\projects\hmi-board-lvgl\src\hal_entry.c 中 的 void hal_entry(void) 。用户编写的源文件可直接放在 src 目录下。

void hal_entry(void)
{
    rt_kprintf("\nHello RT-Thread!\n");

    while (1)
    {
        rt_pin_write(LED3_PIN, PIN_HIGH);
        rt_thread_mdelay(500);
        rt_pin_write(LED3_PIN, PIN_LOW);
        rt_thread_mdelay(500);
    }
}

联系人信息

在使用过程中若您有任何的想法和建议,建议您通过以下方式来联系到我们 RT-Thread 社区论坛

SDK 仓库

这是 HMI-Board 的 SDK 仓库地址:sdk-bsp-ra6m3-hmi-board,该仓库包括了外设驱动以及丰富的示例工程,如果像体验官网/社区提供的开源示例请转移到该仓库进行开发。RT-Thread 主仓库只维护最新的驱动相关代码。

贡献代码

如果您对 RA6M3-HMI-Board 感兴趣,并且有一些好玩的项目愿意与大家分享的话欢迎给我们贡献代码,您可以参考 如何向 RT-Thread 代码贡献

资料及文档

用户如果希望自行移植 LVGL,可以在 RT-Thread 文档中心查看移植相关文档和视频教程:

如要进行 LVGL UI 开发可以前往 LVGL 官网以及文档中心获取详细资料:

空文件

简介

支持can模块,wifi模块,Tcp模块 lvgl-ui 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/qinglong0215/hmi-ra6-m3-v1.1.0.git
git@gitee.com:qinglong0215/hmi-ra6-m3-v1.1.0.git
qinglong0215
hmi-ra6-m3-v1.1.0
HMI-RA6M3-V1.1.0
master

搜索帮助