RT-Thread Studio使用经验——项目创建及文件介绍

这篇具有很好参考价值的文章主要介绍了RT-Thread Studio使用经验——项目创建及文件介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、RT-Thread Studio创建项目

1.创建项目时会有两种选择RT Thread项目RT Thread Nano项目,RT Thread项目体量比较大,包含了RT Thread的大部分功能,比如应用层开发,驱动开发,图形界面开发等,生成程序的大小大约在50kb左右;
RT Thread Nano属于轻量级的RT Pthread工程开发,只包含了基础的裸机开发的部分库文件,生成程序体量也小,大小大约在20kb左右。

2.在创建项目时会出现选择芯片开发或者开发板开发,其中开发板开发只包含了部分开发板的文件,比如正点原子厂商的开发板只有战舰V3和Nano两种版型,对应的芯片分别是STM32F10ZET6STM32F103RBT6。芯片开发会有更多的选择,
也更加灵活,两者的区别主要在部分文件的缺省和改变,不过在开发中问题不大。

3.生成的芯片项目会被特别使用HSI外部低速时钟,但可以在drv_clk.c中进行更改。

二、工程文件介绍

1.RT-Thread Settings

RT-Thread Studio使用经验——项目创建及文件介绍

这是Studio为了方便开发而提供的工具合集,可以快速配置一些软件包,例如IOT软件包,也可以快速配置图形界面。
因为在裸机开发时不需要,所以在轻量化的Nano版本里时无法使用上述的这些功能。

2.CubeMX Settings

CubeMX是意法半导体(ST)公司的产品,RT-Thread Studio同时也支持使用CubeMX对STM系列( 只限于STM系列)芯片引脚进行配置,也可以将配置的初始化代码加载到源代码中。

CubeMX在使用过后会生成一个/cubemx/cubemx.ioc的文件,这就是CubeMX对于该项目生成的可视化配置文件,可以重复配置,重复加载代码。不过需要注意的是,CubeMX在生成代码时,会生成大量文件,其中有一个文件叫做stm32fxx_hal_conf.h,这个文件在最初的工程中也有,不过在driver文件夹中,他会在代码生成时被重命名,更正为stm32fxx_hal_conf_bak.h。在文件编译时只关注最新的stm32fxx_hal_conf.h,也就是在cubemx文件夹下的文件。

生成时同时也会出现别的文件,例如main.c,但是编译时并没有产生影响,但建议删除。

生成文件时不要选择 将加载代码分为 *.c*.h 文件。

配置初始化是要将USART1的引脚配置出来,否则会编译错误,原因是USART1的相关代码未被定义。

3.二进制

这个文件夹顾名思义,其中只存放二进制的文件,并且特指rtthread.elf文件,该文件是builid整个项目是生成的,也是DeBug和烧录的对象文件。

4.includes

includes文件夹,实际上并不存在这样一个文件,属于一种映射,映射到对应的文件,本质上是一些工程生成时编译配置头文件路径。

5.applications

applications这个文件夹下面存放的主要就是main函数所在的路径和用户需要编写的应用层程序文件。

这也是在工程中主要编写程序的工作区,可以自己添加和修改文件。

6.drivers

BSP板级驱动所在的文件夹。不同的平台所需要的底层驱动也是不一样的,简单来说就是不同的芯片对应的GPIO、I2C等外设的配置和驱动有所不同,所以drivers文件的内容并不是通用的。

其中就有stm32f1xx_hal_conf.h这个头文件,主要作用可以看上文CubeMX Settings。

Nano版本的drivers文件并不全面,因为考虑轻量,所以只保留了基本的USART1通信,所以需要手动去通过CubeMX去配置。

7.debug

debug文件夹中的文件主要是是经过编译之后的obj文件和调试相关文件,其中就包括rtthread.elf

8.libraries

这个文件夹中存放的是对应芯片的固件库,例如STM32的HAL库文件。

9.linkscript

这个文件夹下一般只有一个文件link.lds,这个文件的主要功能是对芯片内部的存储资源进行设置,主要分为ROM和RAM。不同的芯片ROM和RAM可能不同,但一般情况下在创建项目的同时会选择芯片,一般系统会自动选择对应芯片ROM和RAM大小。

10.rt-thread

这是RT Thread的内核文件,其中有以下子目录:

-components

RT Thread的各组件生成的文件,可以在上述的RT-Thread Settings中设置添加组件,该文件夹中就会生成对应文件,比如WLAN组件,I2C组件等对应的文件。

- -drivers

主要存放RT Thread的驱动框架,像serial这些常用组件都在这个文件夹里。

- -finsh

主要存放finsh工具的组件文件

-include

主要存放RT Thread的内核头文件。

-scr

主要存放RT Thread的内核C文件。

-libcpu

主要存放的是芯片移植文件,例如STM32就移植了ARM Cortex-M3的移植源码。

11.rtconfig.h

这不是一个文件夹,这个头文件主要是对全局资源进行宏定义的,可以直接手动添加宏,也可以通过RT-Thread Settings添加组件来自动添加宏。文章来源地址https://www.toymoban.com/news/detail-482027.html

到了这里,关于RT-Thread Studio使用经验——项目创建及文件介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用rt-thread Studio下载固件时出现Unable to enter Isp mode

    根据 我发现我缺了图中的文件夹  解决方法: 在rt-thread studio的sdk管理包中下载  

    2024年02月16日
    浏览(35)
  • 使用RT-Thread studio IDE开发stm32F407(实现adc多通道采集)

    注意:使用这个IDE配置工程特别简单( only   10  minutes ) step1:选择对应的芯片或开发板创建RT-Thread项目   step2:配置RT-Thread Settings(按我的步骤顺序进行) 由于要用到ADC,所以我们使能这个框架,直接把它选上就ok 是不是特别简单?接下来第三步,要难一点了 step3 注意: 这

    2024年02月09日
    浏览(32)
  • RT-Thread Studio学习(十四)ADC

    本文将基于STM32F407VET芯片介绍如何在RT-Thread Studio开发环境下使用ADC设备。硬件及开发环境如下: OS WIN10 STM32F407VET6 STM32CubeMX v6.10.0 STM32Cube MCU Package for STM32F4 Series v1.28.0 RT-Thread Studio v2.2.7 RT-Thread Source Code v5.0.2 STM32F4 chip support packages v0.2.3 打开RT-Thread Studio软件新建基于芯片的项

    2024年01月19日
    浏览(32)
  • 【STM32&RT-Thread零基础入门】 2. 新建RT-Thread项目

    硬件:STM32F103ZET6、ST-LINK、usb转串口工具 RT-Thread的全称是Real Time Thread,顾名思义,它是一个嵌入式实时多线程操作系统。相较于 Linux 操作系统,RT-Thread 体积小,成本低,功耗低、启动快速,除此之外 RT-Thread 还具有实时性高、占用资源小等特点,非常适用于各种资源受限(

    2024年02月13日
    浏览(33)
  • RT-Thread Studio配置LAN8720+LWIP+TCP服务器实现

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 由于项目上需要使用RT-Thread建立TCP服务器实现与客户端的数据交互,查阅了不少资料以及踩了不少坑,这里记录和分享一下实现的过程,希望能帮助到有需要的同学,您的支持是我创作的最大动力,谢谢

    2024年01月25日
    浏览(30)
  • STM32CubeMX+VSCODE+EIDE+RT-THREAD 工程创建

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

    2024年02月14日
    浏览(36)
  • 【STM32&RT-Thread零基础入门】 7. 线程创建应用(多线程运行机制)

    硬件:STM32F103ZET6、ST-LINK、usb转串口工具、4个LED灯、1个蜂鸣器、4个1k电阻、2个按键、面包板、杜邦线 本章进一步研究多线程的运行机制。要求实现功能如下:创建2个线程,线程名称分别为LED和BEEP。两个线程的任务是连续5次打印本线程的名字后退出线程(注意:线程不执行

    2024年02月03日
    浏览(27)
  • 【STM32&RT-Thread零基础入门】 5. 线程创建应用(线程创建、删除、初始化、脱离、启动、睡眠)

    硬件:STM32F103ZET6、ST-LINK、usb转串口工具、4个LED灯、1个蜂鸣器、4个1k电阻、2个按键、面包板、杜邦线 本章主要讲线程的工作机制和管理方法,通过实例讲解如何使用多线程完成多任务开发。 RT-Thread用线程控制块来描述和管理一个线程,一个线程对应一个线程控制块。线程控

    2024年02月12日
    浏览(43)
  • 【STM32&RT-Thread零基础入门】 6. 线程创建应用(线程挂起与恢复)

    硬件:STM32F103ZET6、ST-LINK、usb转串口工具、4个LED灯、1个蜂鸣器、4个1k电阻、2个按键、面包板、杜邦线 在上一个任务中,通过停止命令把线程删除后,线程在系统中就不存在了,也无法再使线程重新运行。例如输入stop_led_thread命令后,led停止闪烁,但也无法重新开启LED灯闪烁

    2024年02月11日
    浏览(25)
  • RT-Thread入门笔记2-动态内存堆的使用

    栈(stack): 由编译器自动分配释放 堆(heap) : 一般由程序员分配和释放 PS:一个ARM程序包含3部分:RO,RW和ZI RO是程序中的指令和常量 RW是程序中的已初始化变量 ZI是程序中的未初始化的变量 void *rt_malloc(rt_size_t nbytes):rt_malloc函数会从系统堆空间中找到合适大小的内存块.

    2024年02月02日
    浏览(22)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包