RT-Thread Studio学习(一)新建工程

开发环境

  • MCU:STM32F407VET6
  • RT-Thread Studio: V2.1.5
  • RT-Thread内核:V4.0.3
  • STM32 CubeMX: V6.3.0
  • KEIL: V5.35.0.0
  • STM32 CubeMX firmware: STM32Cube FW_F4 V1.26.2

简介

本文将介绍如何使用RT-Thread Studio来新建项目,并结合STM32CubeMX完成使用外部时钟系统的配置。

新建RT-Thread项目

打开RT-ThreadStudio软件后,选择 文件–>新建–>RT-Thread项目,然后根据自己的实际项目情况进行相应的设置。在Project name后输入项目名称,比如rtt_demo。选择基于芯片,RT-Thread版本为4.0.3,厂商为STMicroelectronics,系列为STM32F4,子系列为STM32F407,芯片为STM32F407VE,控制台串口为UART1,发送脚为PA9,接收脚PA10,调试器选择DAP-LINK,接口为SWD。配置完成后点击完成按钮创建一个新的RT-Thread项目。如下图:
在这里插入图片描述

CubeMX配置

点击工程内CubeMX Settings或者cubemx.ioc,进入STM32CubeMX配置。

  • 配置使用外部时钟:
    在这里插入图片描述

  • 配置下载方式:
    在这里插入图片描述

  • 配置串口:
    在这里插入图片描述

  • 配置时钟树:
    选择Pinout&Configuration–>左侧System Core–>RCC–>HSELSE–>选择Crystal/Ceramic Resonator。STM32CubeMX的Clock Configuration设置如下图:在这里插入图片描述
    注意APB1和APB2的Prescaler相同,也可以不相同。如果不相同,在使用timer时要留意不同timer挂在不同APB之下,会出现相同的代码不同的时钟频率。

  • 配置工程
    Project Manager页面的Project设置如下图:
    在这里插入图片描述
    注意:勾选Do not generate the main(),避免与RTT的main冲突。

Project Manager页面的Code Generator设置如下图:
在这里插入图片描述

最后点击GENERATE CODE生成KEIL工程及其代码。

设置RT-Thread Studio工程

编译工程,会出现很多错误,这是因为在STM32CubeMX中GENERATE CODE后生成了很多无用的源码文件。写一个scon脚本文件进行额外的设置就可以解决了。
选择cubemx文件夹,新建名称为SConscript的文件,如下图:
在这里插入图片描述
添加如下内容:

import os
from building import *

cwd = GetCurrentDir()
src  = Glob('*.c')
# add cubemx drivers
src = Split('''
Src/stm32f4xx_hal_msp.c
Src/main.c
''')

path = [cwd]
path += [cwd + '/Inc']

group = DefineGroup('cubemx', src, depend = [''], CPPPATH = path)

Return('group')

右键选择更新软件包,添加Scon到系统环境:
在这里插入图片描述
点击CubeMX生成的main函数,在main.c文件的main函数前面添加__weak,如下图:
在这里插入图片描述
main.c

/*
 * Copyright (c) 2006-2022, RT-Thread Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Change Logs:
 * Date           Author       Notes
 * 2022-09-06     RT-Thread    first version
 */

#include <rtthread.h>
#include "stm32f4xx.h"
#include <rtdevice.h>

#define DBG_TAG "main"
#define DBG_LVL DBG_LOG
#include <rtdbg.h>

int main(void)
{
    int count = 1;
    LOG_D("Project: f4v_daq 2024.7.2");
    LOG_D("System CLock information");
    LOG_D("SYSCLK_Frequency = %d", HAL_RCC_GetSysClockFreq());
    LOG_D("HCLK_Frequency   = %d", HAL_RCC_GetHCLKFreq());
    LOG_D("PCLK1_Frequency  = %d", HAL_RCC_GetPCLK1Freq());
    LOG_D("PCLK2_Frequency  = %d", HAL_RCC_GetPCLK2Freq());
    LOG_D("SysTick->LOAD    = %d", SysTick->LOAD);
    LOG_D("Current tick     = %d", rt_tick_get());

    while (count++)
    {
        LOG_D("Hello RT-Thread!");
        rt_thread_mdelay(1000);
    }
    return RT_EOK;
}

编译工程并下载:
在这里插入图片描述

实验现象

在这里插入图片描述

  • 14
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RT-Thread Studio是一款基于Eclipse的RT-Thread开发环境,它提供了一整套的开发工具,包括代码编辑器、编译器、调试器等,用于开发实时操作系统(RTOS)上的嵌入式软件。使用RT-Thread Studio,开发者可以更高效地进行实时系统的开发和调试。以下是关于RT-Thread Studio使用的一些主要特点和介绍: 1. 集成开发环境(IDE):RT-Thread Studio提供了直观的图形界面,使开发者能够轻松地创建、编辑、编译和调试RT-Thread应用程序。 2. 代码编辑器:RT-Thread Studio的代码编辑器支持多种语言,包括C/C++,开发者可以在其中编写和编辑代码。 3. 编译器:RT-Thread Studio集成了RT-Thread的编译器,可以将编写好的代码编译成可在嵌入式设备上运行的二进制文件。 4. 调试器:RT-Thread Studio提供了强大的调试工具,允许开发者在嵌入式设备上实时观察和修改代码的运行状态,以便进行调试和优化。 5. 集成工具链:RT-Thread Studio集成了RT-Thread的开发工具链,包括交叉编译工具、下载工具、性能分析工具等,方便开发者进行整个开发流程。 6. 代码版本管理:RT-Thread Studio支持代码版本管理,如Git,方便团队进行协作开发和版本控制。 7. 实时更新和文档:RT-Thread Studio提供了实时更新的RT-Thread版本和相关文档,方便开发者获取最新的功能和信息。 8. 集成仿真器:RT-Thread Studio支持多种仿真器,如QEMU、STM32CubeMX等,方便开发者在开发过程中进行模拟和调试。 使用RT-Thread Studio进行实时系统开发的一般步骤如下: 1. 安装和配置RT-Thread Studio:根据官方文档或教程,安装并配置RT-Thread Studio环境。 2. 创建新项目:使用RT-Thread Studio创建新的实时系统项目。 3. 编写代码:在代码编辑器中编写C/C++代码,实现所需的功能。 4. 编译代码:使用RT-Thread编译器将代码编译成可在嵌入式设备上运行的二进制文件。 5. 下载和部署:使用RT-Thread Studio提供的下载工具将二进制文件部署到嵌入式设备上。 6. 调试和优化:使用RT-Thread Studio的调试工具进行实时调试和性能优化。 7. 测试和发布:对部署到嵌入式设备上的软件进行测试,确保功能正常,然后进行发布。 总的来说,使用RT-Thread Studio进行实时系统开发可以提高开发效率,简化开发流程,并有助于提高软件的质量和性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值