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

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

  • 一、RT-Thread Studio创建项目
  • 二、工程文件介绍
  • 1.RT-Thread Settings
  • 2.CubeMX Settings
  • 3.二进制
  • 4.includes
  • 5.applications
  • 6.drivers
  • 7.debug
  • 8.libraries
  • 9.linkscript
  • 10.rt-thread
  • -components
  • – -drivers
  • – -finsh
  • -include
  • -scr
  • -libcpu
  • 11.rtconfig.h
  • 一、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 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的移植源码。

    11.rtconfig.h

    这不是一个文件夹,这个头文件主要是对全局资源进行宏定义的,可以直接手动添加宏,也可以通过RT-Thread Settings添加组件来自动添加宏。

    物联沃分享整理
    物联沃-IOTWORD物联网 » RT-Thread Studio项目创建及文件介绍——使用经验分享

    发表评论