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

rtthread studio快速创建工程

1,官网下载最新的rtthread studio,一路安装即可
2,ENV(可选)

env是RTT 开发辅助工具,提供编译构建环境,图形化配置以及软件包管理,内置的menuconfig提供了配置裁剪工具,可以对内核,组件和软件包裁剪

先去下载env工具,安装,双击打开env,然后上方点击鼠标右键,设置,找到integration,注册,保存即可。然后就可以右键随意目录下打开了
1,生成keil工程
scons --target=mdk5,然后可以去IDE编译
2,默认gcc自动编译
scons即可,默认是gcc
3.menuconfig
输入以上指令即可进入配置页面,可以自动处理依赖关系。
上下左右箭头切换菜单,回车就是OK
空格就是打开或者关闭选择
?查看帮助
/搜索
4.软件包管理pkgs
使用之前先执行pkgs --upgrade
先找到软件包,然后选中,接着输入指令pkgs --update即可下载

1.新建工程
文件->新建->rtthread项目
选择基于芯片,版本号用4.1.1版本(其他版本有的不行),选择芯片型号,log口,下载口等配置
2.双击rt-thread settings配置
1.搜索eth,组件里面使能网络社保驱动程序
2.搜索lwip,版本2.1.2
3.搜索mebdtls,版本latest
4.搜索旧版本,使能旧版本兼容性支持
5.编译
6.点击图标->打开调试配置->点击Download->更改复位模式为system reset->确定退出
3.双击cubemx配置
配置时钟,下载方式,log串口,以及其他使用的外设。
在这里插入图片描述
打开RT-Thread studio,出现如下弹框,点击确定。
注意:上面的STM32CubeMX必须关闭,否则这个弹窗将不会出现。
在这里插入图片描述
4.编译一堆问题如何解决
在这里插入图片描述
1.先检查cubemx文件夹下有没有SConscript文件,如果有就跳过创建环节,检查内容。如果没有则创建,选择cubemx文件,右键->新建->文件,输入文件名SConscript,点击完成
2.复制下面的代码到刚刚sconscript文件
注意需要使用的c文件一定要包含在代码段中,否则就算c文件在该文件夹下也不会参与编译,从而导致编译报错!!

import os
#引入os模块
from building import *
#导入building的所有模块cwd = GetCurrentDir()
#获取获取当前路径,并保存至变量cwd
src  = Glob('*.c')
#获取当前目录下的所有 C 文件,并保存至src变量# add cubemx drivers
#由于RT-Thread工程中存在部分相同函数文件,所以对src重新赋值
#文件中的stm32g4xx_it.c 、 system_stm32g4xx.c不加入构建
#其余文件按相同格式填写到下述括号内
src = Split('''
Src/stm32g4xx_hal_msp.c
Src/main.c
Src/dma.c
Src/gpio.c
Src/usart.c
''')#创建路径列表,并保存至path中
path = [cwd]
path += [cwd + '/Inc']
#这是 RT-Thread 基于 SCons 扩展的一个方法(函数)。
group = DefineGroup('cubemx', src, depend = [''], CPPPATH = path)Return('group')
#这部分代码文章最后有解释

保存文件,在工程里面左边窗口点击右键弹出更新软件包。再次编译OK
5.在RT-Thread中调用CubeMx生成的函数
1.检查时钟配置,打开drv_clk.c,发现RT-Thread Studio已经自动将CubeMx的时钟配置更新到RT-Thread工程中。
在这里插入图片描述
在这里插入图片描述
新增加外设需要去以下文件增加宏定义
board.h
stm32f4xx_hal_conf.h

不同版本路径有差别

rt_weak void rt_hw_board_init()  //大写RT_WEAK改为小写rt_weak,版本原因
#include "sensor.h"改为#include "drivers/sensor.h",因为没有sensor目录了
#include "drv_gpio.h"  改为#include "drv_common.h"

参考1
参考2

http://www.dtcms.com/a/465259.html

相关文章:

  • MySQL事务隔离级别详解从读未提交到串行化的全面对比
  • 通用机械(1)
  • 使用yt-dlp来下载视频
  • 【深入浅出PyTorch】--上采样+下采样
  • 一个基于自适应图卷积神经微分方程(AGCNDE)的时空序列预测Matlab实现。这个模型结合了图卷积网络和神经微分方程,能够有效捕捉时空数据的动态演化规律
  • 笑话网站模板重庆品牌设计公司
  • (6)100天python从入门到拿捏《推导式》
  • 【数据结构】考研数据结构核心考点:AVL树插入操作深度解析——从理论到实践的旋转平衡实现
  • 遂宁网站建设哪家好网站诊断案例
  • Python访问数据库——使用SQLite
  • 一行配置解决claude code 2.0版本更新后 vscode 插件需要登录的问题
  • 问题:conda创建的虚拟环境打印中文在vscode中乱码
  • vscode 连接 wsl
  • 华为OD机试C卷 - 灰度图存储 - 矩阵 - (Java C++ JavaScript Python)
  • 资源采集网站如何做wap网站使用微信登陆
  • UNIX下C语言编程与实践58-UNIX TCP 连接处理:accept 函数与新套接字创建
  • wordpress博客站点云狄网站建设
  • 智能OCR助力企业办公更高效-发票识别接口-文字识别接口-文档识别接口
  • Spring Boot自动配置:原理、利弊与实践指南
  • HTTPS原理:从证书到加密的完整解析
  • CNN与ANN差异对比
  • 小迪web自用笔记61
  • Docker 公有仓库使用、Docker 私有仓库(Registry)使用总结
  • Comodo HTTPS 在工程中的部署与排查实战(证书链、兼容性与真机抓包策略)
  • 推广网站怎么做能增加咨询免费域名申请与解析
  • ES6开发实案例
  • 使用大模型技术构建机票分销领域人工智能客服助手
  • R语言 读取tsv的三种方法 ,带有注释的tsv文件
  • 淘宝数据网站开发查邮箱注册的网站
  • H200服务器维修服务体系构建:捷智算的全链条保障方案