当前位置:网站首页>【先楫HPM6750测评】RT-Thread开发环境搭建和Hello World
【先楫HPM6750测评】RT-Thread开发环境搭建和Hello World
2022-06-10 10:17:00 【RT-Thread物联网操作系统】
本文由RT-Thread论坛用户@xusiwei1236原创发布:https://club.rt-thread.org/ask/article/1bf679d8a2709824.html
本篇介绍HPM6750开发板的RT-Thread Studio开发环境搭建,以及在RT-Thread Studio环境下如何创建项目、编译项目、调试项目、烧录二进制文件、使用串口终端等功能。
RT-Thread和RT-Thread Studio简介
RT-Thread是一款流行的国产实时操作系统(RTOS)。RT-Thread系统包含了RTOS内核、TCP/IP协议栈、FATFS文件系统等功能的实现,同时提供了包管理器——可以非常方便的下载已经适配好RT-Thread系统的三方软件包。因此,基于RT-Thread系统我们可以非常方便的实现支持多任务、文件系统、网络协议的复杂业务项目开发。
RT-Thread Studio是RT-Thread官方团队开发的集成开发环境(IDE)。使用RT-Thread Studio我们可以很方便的创建基于RT-Thread系统的项目、编译基于RT-Thread系统的项目,以及进行项目的调试、将项目生成的二进制文件烧录到开发板上、使用串口终端和RT-Thread的finsh进行交互式控制台调试。
下载和安装RT-Thread Studio
RT-Thread Studio安装程序下载页面:https://www.rt-thread.org/page/studio.html
RT-Thread Studio安装程序下载完成后,运行安装程序,一路下一步即可完成RT-Thread Studio的安装。
添加HPM6750开发板支持包和工具链
使用RT-Thread Studio进行支持HPM6750开发板的RT-Thread项目开发前,需要先下载HPM6750所需的几个软件包,具体方法如下。
通过下图中的SDK Manager图标打开RT-Thread SDK管理器:

在RT-Thread SDK管理器中,找到并勾选HPM6750-HPMicro-EVKMINI、RISC-V-GCC、OpenOCD-HPMicro三个选项框:

点击“安装3资源包”,进行安装。这三个资源包分别是:
- HPM6750-HPMicro-EVKMINI,是HPM6750EVKMINI开发板支持包,包含了HPM SDK和HPM6750EVKMINI开发板的驱动文件;
- RISC-V-GCC,是RISC-V指令集架构的交叉编译工具链,用于将C/C++源代码编译为RISC-V指令集架构的二进制文件;
- OpenOCD-HPMicro,是HPM修改过的OpenOCD,用于连接开发板进行调试和二进制文件下载;
完成以上步骤,我们的HPM6750开发板的RT-Thread Studio开发环境已经搭建完毕了。
使用RT-Thread Studio
接下来,我们将演示如何使用RT-Thread Studio创建RT-Thread项目,如何对项目进行编译、调试,如何将生成的二进制文件下载到开发板上,以及如何使用“串口终端”功能。
创建项目
依次点击“文件→新建→RT-Thread项目”菜单,在弹出的“新建项目”窗口中,填入项目名称,选择“基于开发板”,在开发板下拉菜单中选择HPM6750EVKMINI:

点击“完成”即可创建名为“hpm-hello_world”的项目。
编辑代码
打开项目的applications/main.c文件,向main函数中添加一行:
rt_kprintf("Hello, World!!!\\n");
如下图所示:

编译项目
点解界面左上角的锤子形状的“编译”图标,或使用Ctrl+B快捷键,则会开始编译项目。编译过程中可以看到“控制台”中有编译日志输出。编译完成后,可以看到“控制台”中输出了Flash和RAM的占用量:

调试和烧录
调试前需要注意的是——HPM6750EVKMINI开发板的BOOT拨码必须在00的状态。
点击界面上的虫子形状的“调试”图标,或使用Ctrl+F5快捷键,将会开始调试,如下图所示。

可以看到,RT-Thread Studio里可以进行单步调试、断点调试,也可以查看变量、寄存器、调用栈等信息。
通过调试功能,我们可以跟踪rt_kprintf是如何调用到BSP中的UART驱动代码的:

直接烧录
如果你想直接将编译生成的二进制文件烧录到开发板,不需要进行调试的话,可以点击界面上的“下载程序”图标,或使用Ctrl+Alt+D快捷键:

串口终端
和其他嵌入式开发IDE类似,RT-Thread Studio也带有“终端”功能,通过“终端”功能我们可以接收并查看串口输出、向串口发送数据。下面介绍如何在RT-Thread Studio中通过“终端”查看串口输出。
依次点击菜单“窗口→显示视图→终端”打开终端子窗口,此时控制台子窗口将会变为“终端”视图,切右上角将会多出一个新的终端图标:

点击右上角的配置新终端图标,弹出串口参数配置界面:

串口端口选择HPM6750开发板实际的串口端口号,其他参数不用修改(因为和RT-Thread代码中的默认配置一致)。点击“确定”,将会启动一个新的终端,并按照配置参数连接HPM6750开发板对应的串口端口:

此时,按下开发板的复位按键,将会看到终端输出了RT-Thread的版本信息和Hello World:

在串口终端中使用finsh命令行
由于RT-Thread默认启用了finsh交互式命令行,并且HPM6750 BSP中已将UART0初始化为控制台(console)输入输出。因此,我们可以在串口终端中输入finsh命令,进行交互式命令行操作,非常便于一般功能性测试和调试。
例如,我们可以在控制台中输入help命令并回车,查看当前支持哪些命令。

输入ps命令并回车,查看当前有哪些线程正在运行,如下图。

边栏推荐
- MySQL实战45讲_8_从一个问题来加深对 mysql 可重复读的理解
- 多线程实现的方式
- How long has elapsed to show the time
- 七、策略模式
- Selenium distributed testing
- 12892. sub integer (OJ, getting started)
- 【730. 统计不同回文子序列】
- 62. 不同路径-动态规划
- MAC下安装MySQL+Django详细步骤
- Test question bank and simulation test for operation certificate of ordinary scaffolder (special type of construction work) in 2022
猜你喜欢
![[cloud native weapon cilium] what is cilium](/img/e5/6faeb76d6c111afb974155a7e16400.png)
[cloud native weapon cilium] what is cilium

Concurrent asyncio asynchronous programming

"Great freehand flower and bird painting master Mr. likuchan" blockbuster digital collection launched in the whole network

dried food! Training method of machinetranslation model based on mask label smoothing

2021 ciscn-pwn 初赛

axure添加下拉菜单联动

Qchart note 1: simple linear diagram lineseries

Uncaught TypeError: Cannot read properties of undefined (reading ‘colspan‘)

It is very convenient to make a data analysis crosstab with one line of code

A unique resume generator, open source!
随机推荐
The winning list of "talking tom cat family - time light chaser" 3D digital collection was announced
For details of imitated Taobao products, pull down to switch to picture details, and pull up to switch to graphic introduction
PV操作每日一题-黑白棋子问题
混音器:视频会议录制不可或缺的组件
PhpStorm配置数据库连接
[interesting reading] deepinf: social influence prediction with deep learning
phpstrom 將項目上傳碼雲
2021 ciscn-pwn 初赛
Today, 19:30 | graphics special session - Gao Lin, teacher team of Institute of computing technology, Chinese Academy of Sciences
[golang] input and condition control through BMI index learning console
Xcode8.3.2 自动打包脚本
MySQL基础
【高并发】关于乐观锁和悲观锁,蚂蚁金服面试官问了我这几个问题!!
怎样简洁明了地说清楚产品需求?
Selenium distributed testing
SAP 云平台多目标应用 Multi-Target Application 的开发技术介绍
Qchart note 1: simple linear diagram lineseries
12892. sub integer (OJ, getting started)
创建swift颜色类
PV操作每日一题-售票问题