Kconfig机制包括了Kconfig文件和配置UI界面(如menuconfig,pyconfig等)。Kconfig机制有如下特点:
Kconfig 采用 #
作为注释标记符
config语句:config 定义了一组新的配置选项
menu/endmenu语句:用于生成菜单
if/endif语句:是一个条件判断
choice/endchoice语句:将多个类似的配置选项组合在一起,供用户选择一组配置项
comment语句:出现在界面的第一行,用于定义一些提示信息
source语句:用于读取另一个文件中的 Kconfig 文件
- config BSP_USING_GPIO
- bool "Enable GPIO"
- select RT_USING_PIN
- default y
- help
- config gpio
RT-Thread 构建系统支持多种编译器。目前支持的编译器包括 ARM GCC、MDK、IAR、VisualStudio、Visual DSP。主流的 ARM Cortex M0、M3、M4 平台,基本上 ARM GCC、MDK、IAR 都是支持的。有一些 BSP 可能仅支持一种,读者可以阅读该 BSP 目录下的rtconfig.py 里的 CROSS_TOOL 选项查看当前支持的编译器。
打开 Env 工具,如果是 ARM 平台的芯片,输入 scons 命令直接编译 BSP,这时候默认使用的是 ARM GCC 编译器,因为 Env 工具带有 ARM GCC 编译器。 如下图所示使用 scons
命令编译 BSP。
scons:此命令可以直接编译工程
scons -c:清除编译目标。这个命令会清除执行 scons 时生成的临时文件和目标文件
scons --target=XXX:要生成 MDK 或者 IAR 的工程文件
scons -jN:多线程编译目标,在多核计算机上可以使用此命令加快编译速度。一般来说一颗 cpu 核心可以支持 2 个线程。双核机器上使用 scons -j4
命令即可。
scons --dist:此命令会在 BSP 目录下生成 dist 目录
scons --dist-ide:将该BSP导出一份可以被 RT-Thread Studio 导入的工程文件夹
scons --verbose:显示编译参数
不同模块下的不同编译环境
在串口通讯与交互时,通过Shell命令进行交互
RT-Thread shell commands:
reboot - Reboot System
help - RT-Thread shell help.
ps - List threads in the system.
free - Show the memory usage in the system.
clear - clear the terminal screen
version - show RT-Thread version information
list_thread - list thread
list_sem - list semaphore in system
list_event - list event in system
list_mutex - list mutex in system
list_mailbox - list mail box in system
list_msgqueue - list message queue in system
list_mempool - list memory pool in system
list_timer - list timer in system
list_device - list device in system
还有一些linux和git常用的命令
如cd、git等,目前还没用到,并未做详细整理