无区域公司怎么注册,电影网站怎么做seo,域名app,学校网站建立Kconfig#xff1a;kernel config配置文件#xff08;提供系统的配置裁剪功能#xff09;Scons#xff1a;构建工具env工具#xff1a;主要提供构建系统所需的各种环境变量以及软件包的管理
Env
Env是RT-Thread推出的开发辅助工具#xff0c;针对基于RT-Thread操作系统…
Kconfigkernel config配置文件提供系统的配置裁剪功能Scons构建工具env工具主要提供构建系统所需的各种环境变量以及软件包的管理
Env
Env是RT-Thread推出的开发辅助工具针对基于RT-Thread操作系统的项目工程提供编译构建环境、图形化系统配置及软件包管理功能。
其内置的menuconfig提供了简单易用的配置剪裁工具可对内核、组件和软件包进行自由裁剪使系统以搭积木的方式进行构建。
menuconfig图形化配置界面交互性好操作逻辑强丰富的文字帮助说明配置无需查阅文档使用灵活自动处理依赖功能开关彻底自动生成rtconfig,h无需手动修改使用scons工具生成工程提供编译环境操作简单提供多种软件包模块化软件包耦合关联少可维护性好软件包可在线下载软件包持续集成包可靠性高。
scons是RT-Thread使用的编译构建工具可以使用scons相关命令编译RT-Thread。
Env中携带了Pythonscons环境只需要在目录中运行scons命令即可使用默认的ARM_GCC工具链编译bsp。
如果使用mdk/iar进行项目开发可以直接使用BSP中的工程文件或者使用以下命令中的其中一种重新生成工程再进行编译下载。
scons --targetiar
scons --targetmdk4
scons --targetmdk5BSP配置menuconfig
menuconfig是一种图形化配置工具RT-Thread使用其对整个系统进行配置、裁剪。
进入 BSP 根目录输入 menuconfig 命令后即可打开其界面。 menuconfig 常用快捷键如图所示 开/关型使用空格键来选中或者关闭数值、字符串型按下回车键后会出现对话框在对话框中对配置项进行修改
KConfig在RT-Thread中的工作机制
C语言项目的裁剪配置本质上是通过条件编译和宏的展开来实现的。 RT-Thread借助KConfig这套机制更方便的实现了这一功能。 当前以Windows下Env工具中的使用为例简述Kconfig在RT-Thread的工作机制。
Kconfig机制包括了Kconfig文件和配置UI界面如menuconfigpyconfig等。
Kconfig文件中的配置项会映射至rtconfig.h中。Kconfig文件可以随源码分散至各级子目录便于灵活修改。
# .config片段
CONFIG_RT_USING_TIMER_SOFTy
CONFIG_RT_TIMER_THREAD_PRIO4
CONFIG_RT_TIMER_THREAD_STACK_SIZE512
CONFIG_RT_DEBUGy//相对应的rtconfig.h片段
#define RT_USING_TIMER_SOFT
#define RT_TIMER_THREAD_PRIO 4
#define RT_TIMER_THREAD_STACK_SIZE 512
#define RT_DEBUGKconfig文件在源码中呈现树形结构需要在工程的根目录下存在一份顶级Kconfig文件顶级Kconfig文件在文件中通过source语句显示地调用各子目录下的Kconfig文件。 Env在根目录下执行menuconfig命令后会递归解析各级Kconfig文件然后提供如下配置界面完成相应的配置后并保存根目录下会存在一份.config文件保存当前选择的配置项并将.config文件转为RT-Thread的系统配置文件rtconfig.h。
Kconfig源于Linux内核的配置构建系统。
config语句
以下为RT-Thread系统中config语句的示例
config BSP_USING_GPIObool Enable GPIOselect RT_USING_PINdefault yhelpconfig gpioconfig表示一个配置选项的开始紧跟着的BSP_USING_GPIO是配置选项的名称 bool表示选项的类型 select是反向依赖关系的意思即当前配置选项被选中则RT_USING_PIN就会被选中。 default表示配置选项的默认值 help帮助信息 通过env选中以上配置界面的选项后最终可在rtconfig.h文件中生成如下两个宏
#define RT_USING_PIN
#define BSP_USING_GPIOmenu/endmenu语句
menu语句用于生成菜单。
menu Hardware Drivers Configconfig BSP_USING_COM2bool Enable COM2 (uart2 pin conflict with Ethernet and PWM)select BSP_USING_UARTselect BSP_USING_UART2default nconfig BSP_USING_COM3bool Enable COM3 (uart3 pin conflict with Ethernet)select BSP_USING_UART3default n
endmenu