【正点原子STM32探索者】体验RT-Thread最新5.x版本

2024-04-23 09:12

本文主要是介绍【正点原子STM32探索者】体验RT-Thread最新5.x版本,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【正点原子STM32探索者】体验RT-Thread最新5.x版本

    • 一、准备RT-Thread Env工具
    • 二、创建RT-Thread项目
      • 2.1 下载RT-Thread源码
      • 2.2 生成RT-Thread项目
    • 三、编译和运行RT-Thread项目
      • 3.1 编译RT-Thread项目
      • 3.2 下载程序到开发板
      • 3.3 运行RT-Thread项目
    • 四、体验RT-Thread的交互式shell
    • 五、参考链接

本位将介绍如何在正点原子STM32探索者V3开发板上运行RT-Thread 5.0.0版本,并体验交互式shell命令行操作。本文介绍的方法,同样适用于体验rt-thread最新开发版本,即github主线(master)分支版本。对于想要体验RT-Thread最新版本,或者想要参与RT-Thread开源贡献的朋友,本文值得你的阅读。

一、准备RT-Thread Env工具

RT-Thread Env工具可以用于创建RT-Thread项目,并且支持生成Keil项目文件(也支持生成RT-Thread Studio项目)。本篇将继续使用Keil作为集成开发环境,继续使用JLink作为硬件调试器。

RT-Thread Env工具下载链接:https://www.rt-thread.org/download.html#download-rt-thread-studio

下载下来是一个压缩包,加压后,运行里面的 env.bat,会打开env命令行窗口。

RT-Thread官方提供了《Env 用户手册》:https://www.rt-thread.org/document/site/#/development-tools/env/env

详细使用细节可以查阅官方手册,本文后续仅介绍这次实验用到的功能。

二、创建RT-Thread项目

2.1 下载RT-Thread源码

首先,使用git命令下载rt-thread最新版本(国内推荐从gitee下载,速度更快):

image-20230513204818234

下载完成后,可以使用git tag --list查看所有TAG:

image-20230513210255532

使用git checkout v5.0.0,切换到5.0.0发布的tag点:

image-20230513210413402

到这里,我们已经成功下载最新代码,并将代码版本切换为RT-Thread 5.0.0发布版本了。

2.2 生成RT-Thread项目

在Env命令行窗口中,首先跳转到刚刚的rt-thread源码目录,在跳转到bsp/stm32/stm32f407-atk-explorer子目录:

image-20230513210809667

然后,使用命令如下即可创建基于Keil的RT-Thread项目:

scons --dist --target=mdk --project-name=rtt_sh --project-path=PATH_YOU_WANT

PS:这里的PATH_YOU_WANT可以替换成你需要的路径;

例如,我这里创建RT-Thread项目的路径是D:\Hardware\ST\ExplorerV3_STM32F407\Elecfans_02\rtt_sh

image-20230513202916865

这里创建出来的项目是根据rt-thread bsp目录下的项目模板生成的。

生成的目录内,顶层文件目录如下:

image-20230513211839285

其中,rtt_sh.uvprojx文件即为Keil项目文件。

三、编译和运行RT-Thread项目

直接双击打开rtt_sh.uvprojx文件,默认将会启动Keil,并打开该Keil项目,如下图所示:

image-20230513212028668

3.1 编译RT-Thread项目

由于我安装的是Keil 5.37,需要先切换默认便器才可以正常编译通过。

切换默认编译器,具体操作为:

  1. 鼠标右击Project视图中的rt-thread目录,选择“Options for Target - rt-thread”,弹出菜单,如下图所示:

    image-20230513212304758

  2. 在弹出的Options for Target - rt-thread界面中,下拉ARM Compiler,选择Use default compiler version 6,即使用默认的版本6编译器;

  3. 点击底部的OK,确认。

修改完默认编译器后,点击编译图标(或者按快捷键F7进行编译),将会开始编译:

image-20230513212505313

编译完成后,Build Output将会看到Program Size信息:

image-20230513212555451

3.2 下载程序到开发板

开始下载之前,我们需要检查开发板和PC之间的连接:

  • JTAG调试器,一端插在PC的USB口上,另一端插在开发板JTAG口上,用于下载程序和断点调试;
  • USB数据线,一端插在PC的USB口上,另一端插在开发板的USB-UART口上,用于串口输入输出;

由于我使用的是JLink调试器,因此还需要修改项目的调试器设置(Keil项目默认的调试器设置是ULINK)。

修改Keil项目的调试设置,具体操作如下(这里以JLink为例):

  1. 鼠标右击Project视图中的rt-thread目录,选择“Options for Target - rt-thread”,弹出菜单,如下图所示:

    image-20230513212906957

  2. 在弹出的Options for Target - rt-thread界面中,切换到Debug标签页面,如下图所示:

    image-20230513212855244

  3. Use右边的下拉,选择J-LINK/J-TRACE Cortex,然后点击右侧的Settings,弹出Cortex JLink/JTrace Target Driver Setup界面,如下图所示:

    image-20230513213022905

    这里,我修改了Port为SW,代表使用SWD接口(JTAG也可以),Max表示最大时钟信号频率,修改为50M下载速度更快。

    看到成功识别了 ARM CoreSight JTAG-DP,说明JLINK调试器已经成功识别到主控芯片了。

  4. 切换到Flash Download标签页,勾选Reset and Run,便于调试,如下图所示:

    image-20230507231213195

  5. 最后点击确定,回到Options for Target - Blinky界面,点击OK,保存设置;

完成上述修改后,就可以进行下载了。

点击Keil中的下载按钮,或者F8快捷键,将会开始下载,如下图:

image-20230513213418585

下载完成后,Build Output窗口中可以看到下载耗时信息:

image-20230513213502762

3.3 运行RT-Thread项目

由于我们为调试器设置了 Reset and run 选项,下载完成后会自动复位开发板 运行程序。

所以如果一切正常的话,下载完成后,将可以看到开发板上的红色LED灯闪烁。

因为默认的main.c程序代码为:

image-20230513213942215

main.c代码中,

  • 首先,使用rt_pin_mode设置PF9引脚为输出;
  • 然后,循环使用rt_pin_write改变PF9引脚高低电平,再并延时500毫秒;

四、体验RT-Thread的交互式shell

RT-Thread系统提供了交互式shell,实际开发过程中,非常方便进行多种功能的调试和测试(PS:可以将每个功能的测试实现为一个命令,这样就可以通过命令测试不同功能了)。

开始体验RT-Thread的交互式shell之前,需要再次先检查USB数据线是否连接正确:

  • 一端插在PC的USB口上,另一端插在开发板的USB-UART口上

然后,在设备管理器中找到串口设备编号:

image-20230513215309170

接着,使用串口助手 sscom 或者 MobaXterm 连接到COM12设备,波特率设置为115200:

image-20230513215530552

直接敲击回车,可以看到有提示符msh>输出:

image-20230513215818800

输入version命令并回车,可以看到输出的版号为5.0.0

image-20230513215900034

输入help命令并回车,可以看到支持哪些命令:

image-20230513220027203

输入ps命令并回车,可以看到当前正在运行的任务有哪些:

image-20230513220153485

另外,可以看到5.0版本的list命令用法和4.x版本不一样了:

image-20230513220245296

4.x版本是list_threadlist_timer之类的命令,5.0都改成了list的子命令。

list thread命令和ps等同:

image-20230513220438109

五、参考链接

  1. RT-Thread Env工具下载: https://www.rt-thread.org/download.html#download-rt-thread-studio
  2. RT-Thread Env 用户手册: https://www.rt-thread.org/document/site/#/development-tools/env/env
  3. RT-Thread 5.0.0 发布声明: https://mp.weixin.qq.com/s/x9Sb3hc_GxV5VYfagGKhcA

这篇关于【正点原子STM32探索者】体验RT-Thread最新5.x版本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

你的华为手机升级了吗? 鸿蒙NEXT多连推5.0.123版本变化颇多

《你的华为手机升级了吗?鸿蒙NEXT多连推5.0.123版本变化颇多》现在的手机系统更新可不仅仅是修修补补那么简单了,华为手机的鸿蒙系统最近可是动作频频,给用户们带来了不少惊喜... 为了让用户的使用体验变得很好,华为手机不仅发布了一系列给力的新机,还在操作系统方面进行了疯狂的发力。尤其是近期,不仅鸿蒙O

什么是 Ubuntu LTS?Ubuntu LTS和普通版本区别对比

《什么是UbuntuLTS?UbuntuLTS和普通版本区别对比》UbuntuLTS是Ubuntu操作系统的一个特殊版本,旨在提供更长时间的支持和稳定性,与常规的Ubuntu版本相比,LTS版... 如果你正打算安装 Ubuntu 系统,可能会被「LTS 版本」和「普通版本」给搞得一头雾水吧?尤其是对于刚入

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

Spring Boot 中整合 MyBatis-Plus详细步骤(最新推荐)

《SpringBoot中整合MyBatis-Plus详细步骤(最新推荐)》本文详细介绍了如何在SpringBoot项目中整合MyBatis-Plus,包括整合步骤、基本CRUD操作、分页查询、批... 目录一、整合步骤1. 创建 Spring Boot 项目2. 配置项目依赖3. 配置数据源4. 创建实体类

windows端python版本管理工具pyenv-win安装使用

《windows端python版本管理工具pyenv-win安装使用》:本文主要介绍如何通过git方式下载和配置pyenv-win,包括下载、克隆仓库、配置环境变量等步骤,同时还详细介绍了如何使用... 目录pyenv-win 下载配置环境变量使用 pyenv-win 管理 python 版本一、安装 和

Java子线程无法获取Attributes的解决方法(最新推荐)

《Java子线程无法获取Attributes的解决方法(最新推荐)》在Java多线程编程中,子线程无法直接获取主线程设置的Attributes是一个常见问题,本文探讨了这一问题的原因,并提供了两种解决... 目录一、问题原因二、解决方案1. 直接传递数据2. 使用ThreadLocal(适用于线程独立数据)

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

秋招最新大模型算法面试,熬夜都要肝完它

💥大家在面试大模型LLM这个板块的时候,不知道面试完会不会复盘、总结,做笔记的习惯,这份大模型算法岗面试八股笔记也帮助不少人拿到过offer ✨对于面试大模型算法工程师会有一定的帮助,都附有完整答案,熬夜也要看完,祝大家一臂之力 这份《大模型算法工程师面试题》已经上传CSDN,还有完整版的大模型 AI 学习资料,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

AI Toolkit + H100 GPU,一小时内微调最新热门文生图模型 FLUX

上个月,FLUX 席卷了互联网,这并非没有原因。他们声称优于 DALLE 3、Ideogram 和 Stable Diffusion 3 等模型,而这一点已被证明是有依据的。随着越来越多的流行图像生成工具(如 Stable Diffusion Web UI Forge 和 ComyUI)开始支持这些模型,FLUX 在 Stable Diffusion 领域的扩展将会持续下去。 自 FLU