RT-Thread Studio作为一个开发工具软件,需要一个从了解到熟悉,从熟悉再到熟练应用的过程,特别是对于以前没有用过基于eclipse的开发工具的用户,还是需要先熟悉软件基本使用方法和主要功能入口,然后开发项目。
- Kconfig:kernel config配置文件(提供系统的配置裁剪功能)
- SCons:构建工具
- env工具:主要提供构建系统所需的各种环境变量以及软件包的管理
Kconfig机制包括了Kconfig文件和配置UI界面(如menuconfig,pyconfig等)。
- Kconfig文件中的配置项会映射至rtconfig.h中。
- Kconfig文件可以随源码分散至各级子目录,便于灵活修改。
Kconfig文件在源码中呈现树形结构,需要在工程的根目录下存在一份顶层Kconfig文件,顶层Kconfig文件在文件中通过source语句显示调用各子目录下的Kconfig文件。
Env在根目录下执行menuconfig命令后会递归解析各级Kconfig文件,然后提供配置界面,完成相应的配置后并保存,根目录下会存在一份.config文件保存当前选择的配置项,并将.config文件转为RT-Thread的系统配置文件rtconfig.h。
Kconfig源于Linux内核的配置构建系统,当前只介绍RTT中的常用语法。
采用#作为注释标记符
config定义了一组新的配置选项
语句分析:
- config表示一个配置选项的开始,紧跟着的BSP_USING_GPIO是配置选项的名称。
- config下面几行定义了该配置选项的属性。属性可以是该配置选项的。
- bool 表示配置选项的类型,每个config菜单项都要有类型定义,变量有5种类型。
- select是反向依赖的关系,即当前配置选项被选中,RT_USING_PIN就会被选中。
通过env选中以上配置界面的选项后,最终在rtconfig.h文件中生成如下两个宏:
当没有选中“Enable CAN”选项时,if判断的选项并不会显示出来。
menuconfig这个语句和config语句很相似,但它在config的基础上要求所有的子选项作为独立的行显示。
构建工具(software construction tool)是一种软件,它可以根据一定的规则或指令,将源代码编译成可执行的二进制程序,这是构建工具最基本也是最重要的功能。
实际上构建工具的功能不止于此,通常这些规则有一定的语法,并组织成文件。这些文件用来控制构建工具的行为,在完成软件构建之外,也可以做其它事情。
目前最流行的构建工具是GNU Make。很多知名开源软件,如Linux内核就采用Make构建。Make通过读取Makefile文件来检测文件的组织结构和依赖关系,并完成Makefile中所指定的命令。
由于历史原因,Makefile的语法比较混乱,不利于初学者学习。此外,在Windows平台上使用Make也不方便,需要安装Cygwin环境。为了克服Make的种种确定,人们开发了其它构建工具,如CMake和SCons等。
IDE通过图形化界面的操作完成构建,大部分IDE会根据用户添加的源码生成类似Makefile或SConscript的脚步文件,在底层调用类似Make或SCons的工具来构建源码。
为了方便开发者使用SCons,RTT构建了如图所示的构建框架,rtconfig.py是控制SCons构建的配置文件,存放了如工具链,构建参数等配置。
Env是RTT推出的开发辅助工具,针对基于RTT操作系统的项目工程,提供编译构建环境、图形化系统配置以及软件包管理功能。
其内置的menuconfig提供了简单易用的配置裁剪工具,可对内核、组件和软件包进行自由裁剪,使系统以搭积木的方式进行构建。
- menuconfig图形化配置界面,交互性好,操作逻辑强;
- 丰富的文字帮助说明,配置无需查阅文档;
- 使用灵活,自动处理依赖,功能开关彻底;
- 自动生成rtconfig.h,无需手动修改;
- 使用Scons工具生成工程,提供编译环境,操作简单;
- 提供多种软件包,模块化软件包耦合关联少,可维护性好;
- 软件包可在线下载,软件包持续集成,包可靠性高。
scons --dist:搭建项目框架,使用此命令会在BSP目录下生成dist目录,这便是开发项目的目录结构,包含了RT-Thread源码及BSP相关工程,不相关的BSP文件夹及libcpu都会被移除,并且可以随意拷贝此工程到任何目录下使用。
到此这篇stan工具(strace工具)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rfx/64732.html