0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于RT-Thread Studio学习

CHANBAEK 来源:嵌入式记录 作者:独处东汉 2023-05-15 11:00 次阅读

1. 新建工程

1.1 创建基于芯片的工程

1.1.1 选择创建的rtt版本

前期准备:从官网下载 RT-Thread Studio,弄个账号登陆,开启rt-thread学习之旅。

rt-thread有标准版和nano版两种版本,标准版支持丰富的软件包和各种组件,而nano版本仅支持msh shell功能,这次就创建标准版本的rtt工程,以便后面更方便的使用软件包,选择rtt版本如图所示:

图片

也可以使用图标来新建,如图所示:

图片

1.1.2. 配置工程基本属性

在上一步点击“RT-Thread项目”后,就进入了工程基本属性的配置界面,如图所示:

图片

图中各项的作用描述如下表:

序号 名称 描述
工程名 指定新建工程的名称。如果不想让此工程保存在默认的工作空间内,可以将此栏下面的使用缺省位置去勾选然后指定工程的保存路径
工程模板 RT-Thread Studio支持两种模板,一种是基于芯片,另一种是基于开发板基于芯片目前只有ST公司处理器支持的很好;基于开发板则有很多厂家提供他们的rtt bsp sdk
RT-Thread内核版本 更新了RT-Thread Studio之后,选择最新版本即可
厂商 RT-Thread Studio支持的芯片厂商,目前ST处理器支持的最好
芯片系列 ST处理器有F1/F3/F4/F7/H7系列的MCU,根据实际情况选择
芯片子系列 当选择号了芯片系列之后,芯片子系列就会列出该系列芯片的子系列,比如STM32F103系列
芯片型号 根据芯片系列芯片子系列就圈定了芯片型号的范围,我们在此范围内找到我们要开发的目标芯片,比如STM32F103ZE
控制台串口 就是msh shell功能使用的串口,这里指向我们板卡上用于输出调试信息的或者其它信息的串口,百问网的调试串口使用的是USART1,引脚是PA9和PA10
调试器 调试芯片的工具,通常由j-link/st-link/daplink等,根据自己手里面的工具来选择
调试接口 有JTAG接口和SWD接口,根据板卡的实际设计来选择

根据这些信息和我们板卡的实际情况,我的配置如下图所示:

图片

然后点击完成,等待工程初创成功:

图片

1.1.3. 初创工程目录结构

工程初创成功后,得到如下图的工程,其目录结构如图所示:

图片

每项对应的功能描述如下表:

序号 名称 描述
1 RT-Thread Settings RTT Studio内置配置工具,可以配置内核、组件、软件包,并将配置保存生成到工程中
2 CubeMX Settings RTT Stduio内置STM32CubeMX工具,用以配置ST处理器的外设
3 Includes 其中展示了此工程包含使用的所有头文件
4 applications 其中包含了用户开发的应用层的源文件,默认包含了main.c,里面实现了main函数
5 drivers 里面包含了基于该芯片的外设驱动源文件和头文件,不一定所有的外设都支持,还有待持续维护开发。对于不支持的外设还是要用户自己去实现驱动函数
6 libraries 基于该芯片的库文件,一般是由厂商提供,RTT Studio将其整理打包放到了工程目录结构中。在ST芯片的工程中有CMSIS和STM32XXX_HAL_Driver,前者是存放CMSIS标准的头文件和库文件,后者是放STM32处理器的HAL库文件
7 linkscripts 存放该芯片编译时的链接文件
8 rt-thread rtt的内核文件和组件、软件包源文件,使用RT-Thread Settings配置的内核、组件和软件包对应的源代码会在这一级中生效
9 rtconfig.h rtt的配置文件,用以表明会用到哪些内核机制、组件和软件包,使用RT-Thread Settings配置后会覆盖之前的改动,所以不建议在rtt studio中手动修改此文件

1.1.4. 修改时钟配置

在前面初创工程的时候有提示说:默认的时钟使用的是HSI来配置系统时钟,如果要使用别的时钟源来配置系统时钟就要去修改drv_clk.c,我们的开发板有使用精度更高的HSE,所以我们先去修改时钟配置。
重点要关注的是这几行代码:

// 原本的代码使用的HSI
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI_DIV2;
...
...
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL16;

// 修改成HSI
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
...
...
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9;

如果不会自己配置系统时钟,可以使用STM32CubeMX生成一个自己熟悉的工程,复制时钟相关的代码过来。 好多硬件相关的配置,使用工具STM32CubeMX都帮我们做好了,直接用就行,没必要重新造轮子。

对着某些情况的资源,我们可以选择排除构建。

图片

将某项排除构建后,该项就会从当前的工程目录被移除,但是还是存在工程文件夹中的,没有被删除掉。 如果想要恢复,可以去菜单栏打开“导航”,选择“打开资源”,如图所示:

图片

然后点击左下角的“显示位置”,选择“C/C++项目”:

图片

这样,在“项目资源管理器”的边上就有一个“C/C++项目”,如图所示:

图片

可以看到外面之前选择排除构建的cubemx就出现了,图标上有个/,表示该项不会被构建,要恢复就鼠标右键此项,将此项选择加入构建,如图所示:

图片

恢复之后,/号就消失,重新构建工程,查看是否有配置错误。 构建成功,那么一个工程就新建好了,可以开始后面对具体外设、内核、组件和软件包的配置了。

1.1.5. 配置调试下载器

在调试或者下载程序之前,需要先去配置调试下载器,如图所示:

图片

点击图中红圈中的下拉图标进行配置,根据自己实际情况选择即可。

1.2 创建基于开发板的工程

基于开发板的和基于芯片的思路是一样的,只是基于开发板的会有更多厂商的芯片可以选择,不过他们对于驱动的支持可能没有ST那样好,很多驱动需要自己去完成。

2. 配置内核

双击RT-Thread Settings进入配置界面:

图片

点击红圈中的左拉箭头,进入细节配置:

图片

在这里可以配置内核的参数,比如Tick频率、堆栈、线程通信、内存管理等等,按需配置,和FreeRTOS中修改FreeRTOSConfig.h类似的功能。

3. 下载验证

经过上面一顿操作后,接下来就是构建工程,让现象呈现出来。 编译工程

图片

打开调试串口,观察现象

图片

图片

可以看到rt-thread成功跑起来,可以在终端中使用各种命令,比如:help,ps等命令,方便开发者使用。

总之:rh-thread的官方工具还是挺好用,点点鼠标就能把相关的底层配置好,让用户专注自己的业务,可以加快让产品落地,不过想要做优化等工作,就需要研究rt-thread的源码了,只有对其源码理解透,做出来的产品才能牛x,更耐用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    446

    文章

    47688

    浏览量

    408824
  • mcu
    mcu
    +关注

    关注

    145

    文章

    15986

    浏览量

    343317
  • Studio
    +关注

    关注

    1

    文章

    171

    浏览量

    28416
  • M处理器
    +关注

    关注

    0

    文章

    2

    浏览量

    5777
收藏 人收藏

    评论

    相关推荐

    RT-Thread记录(一、版本开发环境及配合CubeMX)

    RT-Thread 学习记录的第一篇文章,RT-Thread记录(一、RT-Thread 版本、RT-Thread
    的头像 发表于 06-20 00:28 4459次阅读
    <b class='flag-5'>RT-Thread</b>记录(一、版本开发环境及配合CubeMX)

    RT-Thread记录(二、RT-Thread内核启动流程)

    在前面我们RT-Thread Studio工程基础之上讲一讲RT-Thread内核启动流程.
    的头像 发表于 06-20 00:30 4383次阅读
    <b class='flag-5'>RT-Thread</b>记录(二、<b class='flag-5'>RT-Thread</b>内核启动流程)

    怎么在 RT-Thread Studio 上使用 RT-Thread Nano

    请教一下如何在 RT-Thread Studio 上使用 RT-Thread Nano?
    发表于 04-02 07:27

    RT-Thread Studio 安装教程

    下载 RT-Thread Studio 安装包访问官网 RT-Thread Studio 下载地址,在官网下载最新的 RT-Thread
    发表于 08-10 14:12

    如何使用RT-Thread Studio来新建项目

    RT-Thread Studio学习之使用外部时钟系统简介新建RT-Thread项目使用外部时钟简介本文将基于STM32F407VET芯片介绍如何使用
    发表于 01-20 07:51

    RT-Thread开发,如何有效学习RT-Thread的五个步骤

    RT-Thread推出RT-Thread Inside战略开放RT-Thread开发平台授权合作,与硬件十万个为什么合作首次推出第一款RT-Inside的开发板——iBox物联网开发套
    的头像 发表于 09-25 09:55 3.4w次阅读
    <b class='flag-5'>RT-Thread</b>开发,如何有效<b class='flag-5'>学习</b><b class='flag-5'>RT-Thread</b>的五个步骤

    RT-Thread Studio 主要亮点功能

    RT-Thread Studio V1.1.0 快速上手体验 RT-Thread Studio 主要包括工程创建和管理,代码编辑,SDK管理器,RT
    的头像 发表于 06-19 11:45 5346次阅读

    RT-Thread Nano入门学习笔记

    RT-Thread Nano入门学习笔记
    发表于 11-26 12:36 20次下载
    <b class='flag-5'>RT-Thread</b> Nano入门<b class='flag-5'>学习</b>笔记

    RT-Thread Studio学习 驱动攀藤PMS5003ST PM2.5传感器

    传感器参数及使用方法参照:https://blog.csdn.net/lu_embedded/article/details/107317387?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162924996816780265418413%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=16292499681678
    发表于 12-27 19:01 7次下载
    <b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b><b class='flag-5'>学习</b> 驱动攀藤PMS5003ST PM2.5传感器

    RT-Thread Studio驱动SD卡

    RT-Thread Studio驱动SD卡前言一、创建基本工程1、创建Bootloader2、创建项目工程二、配置RT-Thread Settings三、代码分析1.引入库2.读入数据四、效果验证
    发表于 12-27 19:13 20次下载
    <b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b>驱动SD卡

    RT-Thread学习笔记 RT-Thread的架构概述

    RT-Thread 简介 作为一名 RTOS 的初学者,也许你对 RT-Thread 还比较陌生。然而,随着你的深入接触,你会逐渐发现 RT-Thread 的魅力和它相较于其他同类型 RTOS
    的头像 发表于 07-09 11:27 3980次阅读
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>学习</b>笔记 <b class='flag-5'>RT-Thread</b>的架构概述

    STM32L4 RT-Thread Studio解决lptimer不工作的问题

    使用RT-Thread Studio 生成的基于STM32L4 的工程,发现开启PM框架后,lptimer不能工作。
    的头像 发表于 06-07 14:29 659次阅读
    STM32L4 <b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b>解决lptimer不工作的问题

    使用RT-Thread Studio进行智能家居终端的设计

    本次方案基于星火一号开发板开发,使用RT-Thread Studio进行工程创建,代码编辑,RT-Thread配置,调试配置,程序下载等功能。
    的头像 发表于 07-28 16:41 1350次阅读
    使用<b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b>进行智能家居终端的设计

    试用RT-Thread Studio(VSCode)

    想尝试RT-Thread studio (VSCode),先下载安装VSCode,再搜索RT-Thread
    的头像 发表于 10-12 10:58 536次阅读
    试用<b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b>(VSCode)

    踩坑记录—RT-Thread Studio烧录ch32v307

    RT-Thread Studio向ch32v307vct6烧录程序,有个前置条件要完成。
    的头像 发表于 10-13 15:28 1955次阅读
    踩坑记录—<b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b>烧录ch32v307