一、RT-Thread Studio创建项目
1.创建项目时会有两种选择
RT Thread项目
和RT Thread Nano项目
,RT Thread项目体量比较大,包含了RT Thread的大部分功能,比如应用层开发,驱动开发,图形界面开发等,生成程序的大小大约在50kb左右;
RT Thread Nano属于轻量级的RT Pthread工程开发,只包含了基础的裸机开发的部分库文件,生成程序体量也小,大小大约在20kb左右。
2.在创建项目时会出现选择芯片开发或者开发板开发,其中开发板开发只包含了部分开发板的文件,比如正点原子厂商的开发板只有战舰V3和Nano两种版型,对应的芯片分别是
STM32F10ZET6
和STM32F103RBT6
。芯片开发会有更多的选择,
也更加灵活,两者的区别主要在部分文件的缺省和改变,不过在开发中问题不大。
3.生成的芯片项目会被特别使用
HSI外部低速时钟
,但可以在drv_clk.c
中进行更改。
二、工程文件介绍
1.RT-Thread Settings
这是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的移植源码。文章来源:https://www.toymoban.com/news/detail-482027.html
11.rtconfig.h
这不是一个文件夹,这个头文件主要是对全局资源进行宏定义的,可以直接手动添加宏,也可以通过RT-Thread Settings添加组件来自动添加宏。文章来源地址https://www.toymoban.com/news/detail-482027.html
到了这里,关于RT-Thread Studio使用经验——项目创建及文件介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!