初学
最近在学RT-Thread系统,看官方文档都是用Env工具配置系统和软件的。
没办法只能先了解了解这个工具。光是看官方的BSP教程一直没看懂到底是怎么配置系统和软件的。摸了很长一段时间都没搞懂这个这个Env工具是基于什么样形式方法管理和配置软件包,只好上网逛逛。
逛了几天下,总算有点眉目。
1.Env工具是个内嵌命令行(CMD)的软件,在安装目录下包含了除git外的需要使用的工具,如下图:
这是内置软件的目录:
这是命令行内可用的工具:(adb都有…)
这是Env工具打开后的样子:
有不少人,在打开Env的时候会提示缺少什么,导致用不了。这种情况多半是没添加好系统环境变量
右键点击此电脑->属性->高级系统设置->环境变量->在用户变量内打开Path项,新建,填入Env软件内的bin目录(例如:C:\env\tools\bin,我是安装在C盘根目录的)就可以了。
现在来讲这个Env工具对RTT系统和软件的配置原理
(其实官方文档也有,可能小弟之前没理解。现在懂了)
第一个命令“menuconfig”,这个命令对于经常用Linux的肯定是很熟悉,这是个命令行内的图形化配置命令。实际就是根据Kconfig文件修改对应的.h文件内的宏定义(将宏定义用作开关一样,开关某个模块或软件包或MCU外设)。BSP的Kconfig文件内容部分如下:
menu "Onboard Peripheral Drivers"
config BSP_USING_USB_TO_USART
bool "Enable USB TO USART (uart1)"
select BSP_USING_UART
select BSP_USING_UART1
default y
config BSP_USING_EEPROM
bool "Enable I2C EEPROM (i2c1)"
select BSP_USING_I2C1
default n
config BSP_USING_SPI_FLASH
bool "Enable SPI FLASH (W25Q16 spi2)" select BSP_USING_SPI
select BSP_USING_SPI2
select RT_USING_SFUD
select RT_SFUD_USING_SFDP
default n
config BSP_USING_POT
bool "Enable potentiometer"
select BSP_USING_ADC
select BSP_USING_ADC1
default n
endmenu
Kconfig详细的编写说明RTT的文档中心有,有兴趣深入的可以了解下。
接下是构建命令scons
具体的命令带参数是:scons –target=mdk5 (为MDK5构建)
那么这个构建命令肯定得有个配置脚步吧,要不然怎么知道源代码在哪些文件夹里,用的是哪款MCU
编译命令脚步在工程目录下“rtconfig.py”,这个文件是配置工程相关的。如下图:
这就不解释了,都清晰明了了。如果自己新建工程,把相应的指向目录、文件这些改改,不要改漏了就可以了。还有“SConstruct””SConscript“两个文件也要修改,要在使用menuconfig命令之前修改。避免出莫名其妙的问题。这两个文件就是指定源代码和各个RTT模块、软件、BSP目录的,如RTT源码目录、board源码目录,以及BSP和其他模块的Kconfig文件位置等等。
(工程根目录下的Kconfig文件内"RTT_ROOT"临时环境变量是在SConscript文件声明的,Kconfig文件内有个缺省选项,默认是引用SConscript文件内声明的)
命令:
pkgs –update (更新RTT软件包,会用到git,要自己安装)
第一次写博客。不知道是啥滋味!