【先楫HPM6750系列】RT-Thread开发环境搭建和Hello World
【先楫HPM6750系列】RT-Thread开发环境搭建和Hello World
本篇介绍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命令并回车,查看当前有哪些线程正在运行,如下图。
【先楫HPM6750系列】RT-Thread开发环境搭建和Hello World相关推荐
- 【先楫HPM6750测评】RT-Thread开发环境搭建和Hello World
本文由RT-Thread论坛用户@xusiwei1236原创发布:https://club.rt-thread.org/ask/article/1bf679d8a2709824.html 本篇介绍HP ...
- [Android系列—] 1. Android 开发环境搭建与Hello World
前言 开始之前先熟悉几个名词: SDK -- Software Development Kit, 软件开发工具包.这个词并不陌生, JDK,就是Jave Development Kit,同样对于And ...
- 涂鸦智能模组SDK开发系列课程——SoC开发环境搭建(一)
SoC开发环境搭建 本章节主要介绍如何搭建涂鸦 Wi-Fi 和 Wi-Fi&Bluetooth LE 系列模组二次开发的编译环境.在 Windows 上使用 VirtualBox 虚拟机软件安 ...
- 【JAVA零基础入门系列】Day1 开发环境搭建
一.安装JDK java的sdk简称JDK ,去其官方网站下载最近的JDK即可. http://www.oracle.com/technetwork/java/javase/downloads/jdk ...
- 手牵手系列之TypeScript开发环境搭建
新建项目 初始化 npm init 安装全局依赖 npm install typescript tslint -g 执行命令初始化,项目根目录生成tsconfig.json文件 tsc --init ...
- Android深入浅出系列之Android开发环境搭建—SDK(三)
安装SDK 1:下载SDK 只有下载了Android的,SDK(Software Development Kit)软件开发工具包,我们才能从事安卓的开发,SDK可以从Android的官方网站上下载,下 ...
- win10下pyqt5低功耗蓝牙系列一:开发环境搭建
1.序言 之前在网上搜索关于python实现低功耗蓝牙(BLE)的案例,基本都是让安装pybluez等之类的工具,实测发现基本行不通,具体原因也不记得了,折腾了将近一个星期时间.这两天看Qt的QtBl ...
- 【先楫HPM6750系列】移植轻量级AI推理框架——TinyMaix
[先楫HPM6750系列]移植轻量级AI推理框架--TinyMaix 文章目录 [先楫HPM6750系列]移植轻量级AI推理框架--TinyMaix 一.TinyMaix是什么? 二.TinyMaix ...
- 【先楫HPM6750系列】CoreMark跑分测试
[先楫HPM6750系列]CoreMark跑分测试 上篇帖子中,我们完成了Embedded Studio开发环境搭建,对Hello World示例进行了编译和调试. 本篇将会使用SEGGER Embe ...
最新文章
- 深度干货!如何将深度学习训练性能提升数倍?
- 详谈ARM架构与ARM内核发展史
- 像git一样管理数据,高效的数据管理平台TensorBay来了!
- Spring源码分析之BeanPostProcessor接口和BeanFactoryPostProcessor接口方法不执行原因分析
- 带你走进EJB--MDB
- WordPress搬家教程:换空间与换域名
- python中def func是什么意思_python中的函数def和函数的参数
- factory.BeanDefinitionStoreException: Failed to process import candidates for configuration class ..
- 在家怎么做冰皮月饼 冰皮月饼的做法
- 这程序还厉害的。。。
- 红罐王老吉品牌定位战略
- Linux用户和组权限管理
- 周鸿祎:写区块链最好的一篇文章
- 用了三年teambition的我,为什么改用飞项了?
- php记录上次观看记录,PHP 记录用户访问记录
- Eclipse怎样改变字体大小
- 线上展厅打造视觉亮点
- 北美票房排行榜 实时_诸城客房管理软件排行榜
- 一篇文章,讲透“复盘”
- 企业领袖必读的10本管理学书籍