RT-Thread Studio与CubeMX联合编程之rtthread启动

news2024/11/27 13:29:14

看到了好多文章,在rtthread studio中启用mx,后总是复制mx相关msp函数到rt的board.c文件下,实际使用过程中发现并不需要,这里我们看下rt启动流程,看下到底需要不。
1.打开startup_stm32h743xx.S文件,看下芯片启动流程,具体位置如图:
在这里插入图片描述
2.我们看这里,启动过程中先执行systeminit函数,接着执行entry函数,我们顺藤摸瓜往下看
在这里插入图片描述
3.看下systeminit函数都在干啥,如图就是配置了一些寄存器就完了。
在这里插入图片描述
4.接下来看看entry函数都在干啥
在这里插入图片描述
在这里插入图片描述
可以看到entry调用了rtthread_startup函数,rtthread_startup函数干活很多,调用了非常多的函数,我们继续往下看。
5.第一个函数rt_hw_interrupt_disable关闭中断,没啥可以看的,第二个rt_hw_board_init进去看下,他进了board.c文件,直接进hw_board_init函数
在这里插入图片描述
6.跳转到了drv_common.c文件中,这里可以看到HAL Init函数,这个在裸机中常用,rt就启动时候自己调用了,另一个clk init,进去看看
在这里插入图片描述
7.我们在 drv_clk.c 中再进去,结果到了mx生成的main函数中,这里就说明rt调用了mx生成的时钟,需要把mx中的时钟配置粘贴到rt的drv_clk.c 中么?答案是不需要,rt已经自己把这里改到使用mx生成的时钟配置函数了.
在这里插入图片描述
在这里插入图片描述
所以,mx配置好就完事了,不用复制粘贴那么麻烦。
8.其他外设呢?我们继续往下看,加入我们要使用spi外设,我们就在mx中配置相关参数和管脚,分别会生成mx工程下的init函数和mspinit函数。如图打开board.h文件,打开#define BSP USING SPI1,这时候我们看到dnv spi.c中spi1已经被启用
在这里插入图片描述
继续往下看,有个自动初始化,将对spi进行初始化,继续顺藤摸瓜
在这里插入图片描述
9.我们看到rt_hw_spi_bus_init中用了stm_spi_ops,stm_spi_ops包含了spi_configure,其中又用了stm32_spi_init,1处为软件协议层面上的设置,就是MX_SPI1_Init中的设置.
在这里插入图片描述10.2处继续往下看,其跳转到了stm32h7xx hal spl.c文件中,这里面我们发现了HAL_SPI_MspInit
在这里插入图片描述
打开HAL_SPI_MspInit函数,结果是个弱定义,而正好mx生成的msp配置函数也参与构建,所以这里被自动屏蔽掉了,mx中的外设msp函数就起作用了。并且会在编译过程中自动调用,完全不用复制粘贴。
在这里插入图片描述
10.结论,rtthread studio中的mx配置不用粘贴到rt工程中,必要的部分会自动调用。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

区块链技术如何改变供应链管理?

引言 供应链管理在现代商业中扮演着至关重要的角色,确保产品和服务从原材料到最终消费者的顺利流转。然而,当前的供应链管理面临诸多挑战,如信息不透明、数据篡改和效率低下等问题,这些问题严重制约了供应链的整体效能和可信度&am…

用kimi和claude自动生成时间轴图表

做时间轴图表并不难,但是很麻烦,先要大量收集相关事件,然后在一些图表软件中反复调整操作。现在借助AI工具,可以自动生成了。 首先,在kimi中输入提示词来获取某个企业的大事记: 联网检索,元语…

【专业指南】移动硬盘坏道下的数据恢复之道

移动硬盘坏道揭秘:数据安全的隐形挑战 在数据日益成为核心资产的今天,移动硬盘作为便携存储的代名词,承载着无数用户的重要信息。然而,随着使用时间的增长和不当操作的影响,移动硬盘可能会遭遇“坏道”这一棘手问题。…

14-30 剑和诗人4 – 具有长上下文窗口的微调 LLM 的数据设计

LLM 中的长上下文窗口的挑战 微调大型语言模型 (LLM) 面临的最大挑战之一在于处理较长的上下文窗口。LLM 经过大量文本数据训练,能够理解和生成类似人类的语言。然而,在推理过程中,这些模型的上下文窗口有限,通常约为 2,048 个标…

基于MCU平台的HMI开发的性能优化与实战(下)

继上篇《基于MCU平台的HMI开发的性能优化与实战(上)》深入探讨了提升MCU平台HMI开发效率和应用性能的策略后,本文将专注于NXP i.MX RT1170 MCU平台的仪表盘开发实践。我们将重点介绍Qt for MCUs的优化技巧,展示如何通过实际案例应…

三、分布式软总线的架构设计

软总线的主要架构如下: 软总线主体功能分为发现、组网、连接和传输四个基本模块,实现: 即插即用:快速便捷发现周边设备。 自由流转:各设备间自组网,任意建立业务连接,实现自由通信。 高效传…

Ubuntu 22.04远程自动登录桌面环境

如果需要远程自动登录桌面环境,首先需要将Ubuntu的自动登录打开,在【settings】-【user】下面 然后要设置【Sharing】进行桌面共享,Ubuntu有自带的桌面共享功能,不需要另外去安装xrdp或者vnc之类的工具了 点开【Remote Desktop】…

Zerotier+Parsec五分钟实现外网远程访问校园或公司内网

0 需求 校园网或公司内网是不能直接通过远程控制桌面软件访问的,想要实现,就必须通过三方的服务来实现穿透内网。但是这样的缺点就是存在延迟。 1 安装软件 (1)Zerotier 是内网穿透软件,在两台设备上都要安装&#…

LabVIEW图像分段线性映射

介绍了如何使用LabVIEW对图像进行分段线性映射处理,通过对特定灰度值区间进行不同的线性映射调整,以优化图像的显示效果。案例中详细展示了如何配置和使用LabVIEW中的图像处理工具,包括设置分段区间、计算映射参数和应用映射函数等步骤。 实…

我独立开发生涯的第一个商业化产品 - 微寻

2024 年 04 月 27 日晚八点,微寻 终于正式上线了。时隔一周,我在五一假期的最后一天写下此文,以纪念这款我独立开发生涯的第一个商业化产品。 1. 何为微寻 微寻 为个人网站提供微信码登录 能力。 没错,微寻 是一个小型 SaaS&am…

【数据结构】07.循环队列

一、循环队列的定义 定义:队列主要有顺序队列,循环队列,双端队列,优先队列。而当中循环队列是一种线性数据结构。它也被称为“环形缓冲器”。它只允许在一端进行插入操作,即队尾(rear)&#xf…

【elasticsearch】IK分词器添加自定义词库,然后更新现有的索引

进入elasticsearch中的plugins位置,找到ik分词器插件,进入ik插件的config文件夹,当中有一个IKAnalyzer.cfg.xml配置文件。使用vim编辑器修改配置文件: vim IKAnalyzer.cfg.xml 配置文件如下(添加了自定义字典的位置&…

springboot交流论坛网站-计算机毕业设计源码00304

摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了交流论坛网站的开发全过程。通过分析交流论坛网站管理的不足,创建了一个计算机管理交流论坛网站的方案。文章介绍了交流论坛网站的系统分析部分&…

名企面试必问30题(十九)——最近行业内你觉得做的最好的案例是哪一个,为什么?

1.思路 考察你对于行业了解,对于新动态是否保持时时关注,以及判断好和不好的能力。 首先,明确指出您认为行业内做得最好的案例。简要介绍该案例所属的公司和产品。阐述该案例在测试方面的突出特点和优势,例如采用了创新的测试方法…

海量设备集中运维,向日葵远程控制赋能农牧产品加工产业链

产业规模越大,单位成本就越低,这是一个广泛存在的商业规律。 在诸多行业中,农牧业的这种“规模效应”尤为明显,这使得在农牧行业内逐渐发展出许多横跨产业链上下游的大型企业集团,业务甚至覆盖相关产业设备的设计与生…

[产品]理解产品

课程安排 认识互联网行业 1.行业对比 2.互联网公司 广义理解: 互联网行业的公司大都以计算机网络技术为基础, 利用网络平台帮助企业提供服务, 并以此获取收入 3.行业细分 典型产品 认识产品经理 1.职责差异 不同类型的公司, 产品经理岗位所负责的工作都是略有差异的 1,外包…

555 定时器芯片工作原理

在本教程中,您将学习如何使用 555 定时器做一些有趣的事情。许多人用它做的第一件事就是制造闪烁的灯光。但这只是用该芯片可以做很多事情的简单示例之一。您还可以控制电机、创建闹钟、创建乐器等等。 让我们先来概览一下这些引脚。 555 定时器引脚排列 引脚 1 接地…

maven项目启动的时候,自动启动netty

1.写一个监听器,重开一个线程初始化,netty,一定要重开一个线程去启动,要不会阻塞的 public class StartupListener implements ServletContextListener {Overridepublic void contextInitialized(ServletContextEvent sce) {// 在Web应用启动时启动WebSocket服务器new Thread(…

从零开始学量化~Ptrade使用教程(三)——行情界面主要功能

技术分析 除复权 提供向前复权、向后复权,系统默认不复权。此外,全面支持月、周、日线复权,支持向前和向后复权、不同时段分段复权等功能。系统能够根据盘中即时行情,个股K线图可以根据该股除权日的送股、配股及红利情况圆滑地画出…

从“钓”到“管”:EasyCVR一体化视频解决方案助力水域安全管理

一、背景 随着城市化进程的加快,越来越多的市民热衷于钓鱼活动。钓鱼活动在带来乐趣的同时,也伴随着一定的安全隐患。尤其是在一些危险水域,也经常出现垂钓者的身影,非法垂钓,这给城市管理带来了不小的阻力。传统的人…