这里推荐用gitee,下载速度会快很多,在bsp目录内,有相关参考demo工程
git clone https://gitee.com/rtthread/rt-thread.git

文件夹内容具体如下:
| 名称 | 描述 |
|---|---|
| BSP | Board Support Package(板级支持包)基于各种开发板的移植,可参考demo |
| components | RT-Thread 的各个组件代码,例如 finsh,gui 等。 |
| documentation | 相关文档,如编码规范等 |
| examples | 相关示例代码 |
| include | RT-Thread 内核的头文件。 |
| libcpu | 各类芯片的移植代码。 |
| src | RT-Thread 内核的源文件。 |
| tools | RT-Thread 命令构建工具的脚本文件。 |
RT-Thread Env 工具包括配置器和包管理器,用来对内核和组件的功能进行配置,对组件进行自由裁剪,对线上软件包进行管理,使得系统以搭积木的方式进行构建,简单方便。
配置链接参考官网:Env 用户手册 (rt-thread.org)
Kconfig 具体介绍:Kconfig Language — The Linux Kernel documentation
rtt官网介绍:Kconfig (rt-thread.org)
rtt Kconfig类似Linux Kconfig方式的menuconfig
Kconfig机制包括了Kconfig文件和配置UI界面(如menuconfig,pyconfig等)。Kconfig机制有如下特点:
mainmenu语句
menu/endmenu语句
config语句
source语句
if/endif语句
choice/endchoice语句
comment语句





按照上述方法,递归查询source路径,可以找到相关菜单和具体配置信息。
这里说修改Kconfig文件,基本是需要修改:Hardware Drivers Config(其他是官方内核和组件相关,我们不用管),Hardware Drivers Config内容是针对某个项目的具体硬件,如果我们新增了设备驱动,也可以通过修改它的Kconfig,使驱动出现在menuconfig窗口中
RT-Thread Kernel
RT-Thread Components
RT-Thread Utestcases
RT-Thread online packages
Hardware Drivers Config
找到 Hardware Drivers Config 内容的Kconfig
menu "Hardware Drivers Config"
config SOC_MIMXRT1052DVL6B
bool
select SOC_MIMXRT1052_SERIES
select BSP_USING_8MFLASH
select RT_USING_COMPONENTS_INIT
select RT_USING_USER_MAIN
default y
menu "On-chip Peripheral Drivers"
config BSP_USING_GPIO
bool "Enable GPIO"
select RT_USING_PIN
default y
menuconfig BSP_USING_LPUART
bool "Enable UART"
select RT_USING_SERIAL
default y
if BSP_USING_LPUART
config BSP_USING_LPUART1
bool "Enable LPUART1"
default y
config BSP_USING_LPUART2
bool "Enable LPUART2"
default n
config BSP_USING_LPUART3
bool "Enable LPUART3"
default n
config BSP_USING_LPUART4
bool "Enable LPUART4"
default n
config BSP_USING_LPUART5
bool "Enable LPUART5"
default n
config BSP_USING_LPUART6
bool "Enable LPUART6"
default n
config BSP_USING_LPUART7
bool "Enable LPUART7"
default n
config BSP_USING_LPUART8
bool "Enable LPUART8"
default n
endif
config BSP_USING_DMA
bool "Enable DMA"
default n
config BSP_USING_WDT
bool "Enable WDT"
select RT_USING_WDOG
default y
if BSP_USING_WDT
config BSP_USING_WDT1
bool "Enable WDT1"
default y
config BSP_USING_WDT3
bool "Enable WDT3"
default n
endif
config BSP_USING_PXP
bool "Enable PXP"
default n
config BSP_USING_CACHE
bool "Enable CACHE"
default n
menuconfig BSP_USING_LCD
bool "Enable LCD"
default n
if BSP_USING_LCD
config LCD_WIDTH
int "width"
default 480
config LCD_HEIGHT
int "height"
default 272
config LCD_HFP
int "HFP"
default 4
config LCD_VFP
int "VFP"
default 4
config LCD_HBP
int "HBP"
default 8
config LCD_VBP
int "VBP"
default 2
config LCD_HSW
int "HSW"
default 40
config LCD_VSW
int "VSW"
default 10
config LCD_BL_PIN
int "Backlight ctrl pin"
default 63
config LCD_RST_PIN
int "Reset pin"
default 2
endif
endmenu
menu "Onboard Peripheral Drivers"
config BSP_USING_SDRAM
bool "Enable SDRAM"
default n
config BSP_USING_LVGL
bool "Enable LVGL for LCD"
select BSP_USING_LCD
select PKG_USING_LVGL
select PKG_USING_LV_MUSIC_DEMO
select BSP_USING_PXP
select BSP_USING_CACHE
default n
endmenu
menu "Board extended module Drivers"
endmenu
endmenu

笔者不太习惯让项目工程过于臃肿(过多无效或不使用的文件),所以会做一些裁剪。裁剪结果如下:
| 名称 | 描述 |
|---|---|
| board | 板级支持包,基于具体项目,该芯片基本IO时钟等配置 |
| libraries | 芯片厂商sdk,基于该芯片开发好的hal库(适用于rtt) |
| packages | 在线软件包(配置好后,执行命令:pkgs --update 更新即可) |
| rt-thread | rtt内核、组件源码等 |
