STM32CubeMX+VSCODE+EIDE+RT-THREAD 工程创建

        Eide环境搭建暂且不表,后续补充。主要记录下Vscode环境下 创建Rt-thread工程的过程。分别介绍STM32CubeMX添加rtt支持包的方式和手动添加rtt kernel方式。STM32CubeMX生成工程的时候有"坑",防止下次忘记,方便渡一下有缘人,特此记录。

        此工程以创建stm32f405为例:

  1. 通过STM32Cube MX创建
  2. 配置外部时钟源
  3.  配置下载方式SWD
  4. 选择Rt-thread组件

 

 

 

 

 经过一系列简单配置,就可以创建工程了!

用VSCODE打开工程文件夹,通过EIDE创建工程。工程名字选择CubeMX一样的名字,目录选择Cube MX工程的上一级。

 添加项目资源,把有代码的文件夹全部选中,添加文件夹到项目。

 添加头文件路径。

 具体要添加的路径去Make file中找到,并按照上述方式逐个添加。

 添加宏定义,也是需要打开Makefile,对照添加(注意:添加的时候不要复制-D)

 

 把startup_stm32xxxxxx.s文件拖到Core目录下面

 这个步骤右边文件内容显示的不对,需要重新CubeMx生成一次,重新添加就好了。

 

 添加链接脚本路径,实际上就是添加ld链接文件名字

 然后进行构建配置和烧录配置i,这里直接给出我的配置。

 步骤有些麻烦,终于基本上都配置好了,我来编译一下,看看成果

这就对了,没有一次成功的事情。这里有一个STM32Cube MX在Rtthread兼容上的bug,这个坑先填上再试试。具体是CubeMX生成的rt-thread 启动文件是iar类型,我们选Makefile应该给gcc的才对,看图:

那我们去rtt官网找来,对应的文件换上再编译试试吧

 

 编译结果如下:

 好的,终于通过了!

另外有一点需要注意的是,每次更新CubeMX配置,都会自动生成一个context_iar.S,编译会报错,需要我们手动删除一下!、

下载ok!

 调试也ok!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/77144.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux后端服务器开发】Reactor模式实现网络计算器

目录 一、Reactor模式概述 二、日志模块:Log.hpp 三、TCP连接模块:Sock.hpp 四、非阻塞通信模块:Util.hpp 五、多路复用I/O模块:Epoller.hpp 六、协议定制模块:Protocol.hpp 七、服务器模块:Server.…

基于SpringBoot+Vue的地方美食分享网站设计与实现(源码+LW+部署文档等)

博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…

Docker实战-操作Docker容器实战(一)

导语   在之前的分享中,我们介绍了关于如何去操作Docker镜像,下面我们来看看如何去操作容器。 简单来讲,容器是镜像运行的一个实例,与镜像不同的是镜像只能作为一个静态文件进行读取,而容器是可以在运行时进行写入操…

2023再谈前端状态管理

目录 什么是状态管理? 状态 常见模式 要解决的问题 心智模型 React Context Context 的问题 优点 缺点 React 外部状态管理库 概览 Class 时代 Redux 单向数据流 三大原则 如何处理异步 如何处理数据间联动 优点 缺点 Dva icestore Mobx 设…

危大工程智慧工地源码,微服务+Java+Spring Cloud +UniApp +MySql 物联网、人工智能、视频AI分析

一套智慧工地管理平台源码,PC端移动APP端可视货数据管理端源码 智慧工地可视化系统利用物联网、人工智能、云计算、大数据、移动互联网等新一代信息技术,通过工地中台、三维建模服务、视频AI分析服务等技术支撑,实现智慧工地高精度动态仿真&a…

windows上给oracle打补丁注意事项

打补丁的过程 1、升级opatch工具,检查剩余空间用于存放ORACLE_HOME的备份,设置oracle_home环境变量,通过readme中的先决条件来检查现有补丁是否和本次补丁冲突 2、opatch apply 升级数据库软件,这个必须数据库文件不要被进程调用 在windows上…

美团前端研发框架Rome实践和演进趋势

本文整理自美团技术沙龙第76期《大前端研发协同效能提升与实践》,为大家介绍了美团到店前端研发框架Rome实践和演进趋势。 具体来讲,本文首先介绍了Rome整体的工程生态、演变路径、规模化升级以及工程框架外的开发辅助工具;第二部分&#xff…

GoogLeNet卷积神经网络-笔记

GoogLeNet卷积神经网络-笔记 GoogLeNet是2014年ImageNet比赛的冠军, 它的主要特点是网络不仅有深度, 还在横向上具有“宽度”。 由于图像信息在空间尺寸上的巨大差异, 如何选择合适的卷积核来提取特征就显得比较困难了。 空间分布范围更广的…

matlab智能算法程序包89套最新高清录制!matlab专题系列!

关于我为什么要做代码分享这件事? 助力科研旅程! 面对茫茫多的文献,想复现却不知从何做起,我们通过打包成品代码,将过程完善,让您可以拿到一手的复现过程以及资料,从而在此基础上,照…

OpenCV基础

目录 图像基本操作数据读取——图像数据读取——视频截取部分图像数据 ROI——Region of Interest颜色通道提取边界填充数值计算图像融合 图像处理灰度图HSV图像阈值图像平滑(滤波)形态学-腐蚀操作形态学-膨胀操作开运算与闭运算梯度运算礼帽与黑帽 图像梯度——Sobel算子看看L…

Vue 2.x 项目升级到 Vue 3详细指南【总结版】

文章目录 0.前言1.升级教程1.1. 升级 Vue CLI:1.2. 安装 Vue 3:1.3. 更新 Vue 组件:1.4. 迁移全局 API:1.5. 迁移路由和状态管理器:1.6. 迁移 TypeScript:1.7. 迁移测试代码: 2.迁移总结2.0. 这…

深入学习 Redis - 谈谈你对 Redis 的 RDB、AOF、混合持久化的了解吧?

目录 一、Redis 是怎么存储数据的? 二、Redis 具体是按照什么样的策略来实现持久化的? 2.1、RDB(Redis Database) 2.1.1、触发机制 2.1.2、bgsave 命令处理流程 2.1.3、RDB 文件的处理 2.1.4、演示效果 1)手动执…

STL容器适配器 -- stack和queue(使用+实现)(C++)

stack和queue stackstack的介绍stack的使用stack的实现 queuequeue的介绍queue的使用queue的实现 deque简单介绍deque(双端队列)双开口连续打引号的原因 deque底层结构deque的迭代器封装结构(复杂)deque的优缺点 栈和队列数据结构…

Java版Spring Cloud+Spring Boot+Mybatis+uniapp知识付费平台讲解+免费搭建 qt

Java版知识付费源码 Spring CloudSpring BootMybatisuniapp前后端分离实现知识付费平台 提供职业教育、企业培训、知识付费系统搭建服务。系统功能包含:录播课、直播课、题库、营销、公司组织架构、员工入职培训等。 提供私有化部署,免费售…

《面试1v1》Kafka的ack机制

🍅 作者简介:王哥,CSDN2022博客总榜Top100🏆、博客专家💪 🍅 技术交流:定期更新Java硬核干货,不定期送书活动 🍅 王哥多年工作总结:Java学习路线总结&#xf…

P25透明屏:探究在商业广告领域的应用表现

P25透明屏是一种新型的显示屏技术,具有高透明度和高分辨率的特点。 它可以将图像或视频直接投影到透明的表面上,使得观众可以透过屏幕看到背后的景物,同时也能够看到屏幕上的内容。 P25透明屏广泛应用于商业展示、户外广告、产品展示等领域…

年薪930万,谷歌薪资大揭秘

硅谷大厂中,谷歌员工称得上是科技行业中收入最高的一些人。 据统计,谷歌工程师在2022年总薪酬中位数为279,802美元(约200万人民币),但这仅是基本工资。 如果计入股权和奖金,他们的收入甚至更高。 近来&am…

PHP-Mysql好运图书管理系统--【白嫖项目】

强撸项目系列总目录在000集 PHP要怎么学–【思维导图知识范围】 文章目录 本系列校训本项目使用技术 首页必要的项目知识ThinkPHP的MVCThinkTemplateThinkPHP 6和ThinkPHP 5 phpStudy 设置导数据库前台展示页面后台的管理界面数据库表结构项目目录如图:代码部分&a…

Mybatis引出的一系列问题-Spring事务的探究

1 spring事务的传播特性 package com.zs.service;Service public class UserService {Autowiredprivate UserDao userDA0;Transactionalpublic void transfer(String fromName, String toName, Integer money) {userDA0.out(fromName, money);int a 1 / 0;userDA0.in(toName,…

[CKA]考试之一个 Pod 封装多个容器

由于最新的CKA考试改版,不允许存储书签,本博客致力怎么一步步从官网把答案找到,如何修改把题做对,下面开始我们的 CKA之旅 题目为: Task 创建一个Pod,名字为kucc1,这个Pod包含4容器&#xff…