当前位置: 首页 > news >正文

STM32Cubemx配置RTTHread工程

文章目录

  • 一、STM32Cubemx配置RTTHread工程
  • 二、使用STM32Cubemx创建RTTHread任务


一、STM32Cubemx配置RTTHread工程

​要在 STM32CubeMX 中配置 RT-Thread 工程,可以按照以下步骤进行:

  1. 下载并安装 STM32CubeMX:

    • 访问 ST 官方网站,下载并安装最新版本的 STM32CubeMX。
  2. 在 STM32CubeMX 中安装 RT-Thread 软件包:

    • 打开 STM32CubeMX,进入 软件包管理器(Software Packs)
    • 搜索并安装 RT-Thread 软件包。
    • 安装完成后,重新启动 STM32CubeMX。

在help中找到包管理:
在这里插入图片描述
输入RT-Thread的下载地址:

链接地址:https://www.rt-thread.org/download/cube/RealThread.RT-Thread.pdsc

将链接复制到RT-Thread中即可:
在这里插入图片描述
下载完成后就可以看见RTThread的选项配置了:

在这里插入图片描述

  1. 创建新的 STM32 工程并添加 RT-Thread:

    • 在 STM32CubeMX 中,创建一个新的 STM32 工程,选择适合的 MCU 型号。
    • 软件包(Software Packs) 选项卡中,选择并启用 RT-Thread
    • 根据需要配置 RT-Thread 的组件和参数。
  2. 生成代码并在开发环境中编译:

    • 配置完成后,生成代码。
    • 在的开发环境中打开生成的工程,编译并下载到目标板上。

此外也可以使用 RT-Thread Studio,这是一款集成开发环境,支持与 STM32CubeMX 联合使用,简化 RT-Thread 项目的创建和配置。
请注意,具体操作步骤可能因软件版本和硬件平台的不同而有所差异。建议参考相关的官方文档和教程,以获取更详细的指导。

二、使用STM32Cubemx创建RTTHread任务

启用 RT-Thread
在左侧 Middleware and Software Packs 选项卡中,找到 RT-Thread,点击启用。
进入 RT-Thread 配置 页面,可以修改线程堆栈大小、任务调度方式等。

将动态创建任务的配置打开:

在这里插入图片描述

打开 main.c,在 main() 里创建 RT-Thread 任务:

#include <rtthread.h>

// 线程控制块
static rt_thread_t test_thread = RT_NULL;

// 线程入口函数
void test_entry(void *parameter)
{
    while (1)
    {
        rt_kprintf("RT-Thread Task Running...\n");
        rt_thread_mdelay(1000);  // 1s 延时
    }
}

int main(void)
{
    // 硬件初始化
    HAL_Init();
    SystemClock_Config();

    // 创建 RT-Thread 线程
    test_thread = rt_thread_create("test_task", test_entry, RT_NULL,
                                   1024, 10, 10);
    
    if (test_thread != RT_NULL)
        rt_thread_startup(test_thread);

    rt_kprintf("RT-Thread System Running...\n");

    while (1)
    {
        rt_thread_mdelay(1000);
    }
}

解释代码
rt_thread_create():创建 RT-Thread 任务:

“test_task”:任务名称
test_entry:任务入口函数
RT_NULL:无传入参数
1024:任务堆栈大小(单位:字节)
10:任务优先级(数值越小优先级越高)
10:时间片大小
rt_thread_startup():启动任务。

rt_kprintf():RT-Thread 提供的 printf() 替代函数(默认输出到串口)。

rt_thread_mdelay(1000):任务休眠 1 秒。

相关文章:

  • [SWPUCTF 2022 新生赛]1z_unserialize
  • DeepSeek R1:揭示适度思考在信息处理中的关键作用
  • 4070Super安装GPU版本pytorch记录
  • Windows本地Docker+Open-WebUI部署DeepSeek
  • 11.24 SpringMVC(1)@RequestMapping、@RestController、@RequestParam
  • 回文子串 与 回文子序列?数量?最长的情况?
  • 深度解析基于Transformer的LLaMA2模型结构:从分词到推理的完整流程
  • xss漏洞
  • HashMap如何实现线程安全
  • leetcode 76. 最小覆盖子串
  • Materials Studio MS2020在linux系统上的安装包下载地址 支持centos Ubuntu rocky等系统
  • 爬虫系列之【数据解析之正则】《二》
  • 神经网络之CNN文本识别
  • LeetCode 热题100 3. 无重复字符的最长子串
  • LabVIEW DataSocket 通信库详解
  • 基于DeepSeek 的图生文最新算法 VLM-R1
  • Go开发框架Sponge+AI助手协同配合重塑企业级开发范式
  • 论文阅读:CAN GENERATIVE LARGE LANGUAGE MODELS PERFORM ASR ERROR CORRECTION?
  • 【C语言显示Linux系统参数】
  • c++面试常见问题:虚表指针存在于内存哪个分区
  • 新造古镇丨江浙沪重点打造的“水乡客厅”,古镇也能串着玩?
  • 金融监管总局将研究出台专门的城市更新项目贷款管理办法:引导大力支持城中村的改造等
  • 8000余万元黄金投入研发后“不知去向”,咋回事?
  • 被央视曝光“废旧厂区沦为垃圾山”,江西萍乡成立调查组查处
  • 海南保亭警方通报“两飞车党紧追女童”:两名初中生认错道歉
  • 61岁云浮市律师协会副会长谭炳光因突发疾病逝世