(嵌入式 实时操作系统 rtos nuttx 7.1)
NuttX 源代码采用与 Linux 内核相同的配置系统,不像 eCos 那样自己搞一套配置系统。该配置系统主要包括 Kconfig、 Makefile 和配置工具,可以生成配置界面。配置界面是通过配置工具来生成的,配置工具通过 Makefile 编译执行,配置界面中的选项则是通过各级 Kconfig 文件来定义。
Kconfig 配置数据文件出现在几乎所有的 NuttX 目录。这些数据文件仍然是开发的一部分。 Kconfig 文件包含与该 Kconfig 文件所处的目录相关联的配置信息。
NuttX 的主 Kconfig 文件是 nuttx/Kconfig。主 Kconfig 文件调用各级子目录的 Kconfig 文件和应用程序目录的 Kconfig 文件,形成树状关系。
菜单按照树状结构组织,主菜单下有子菜单,子菜单还有子菜单或者配置选项。每个选项可以有依赖关系,这些依赖关系用于确定它是否显示。只有被依赖项的父项已经选中,子项才会显示。
NuttX 使用 kconfig 前端作为配置工具。kconfig 前端已经在《 NuttX 安装脚本》一文中介绍了安装。安装后生成可执行文件 kconfig-mconf。
make 命令调用 Makefile 文件。NuttX 的顶层 Makefile 文件是 nuttx/Makefile,它只是简单地包含了 nuttx/Makefile.unix ,在 nuttx/Makefile.unix 中有如下几行:
nuttx/.config 是预设的 .config 文件。从 nuttx/config/<板卡>/<目标配置>/defconfig 复制而来。由《 NuttX 安装脚本》中的以下几行实现:
键盘操作方法:
Prompt for development and/or incomplete code/drivers--对正在开发的和未完善的代码和驱动进行提示。
Default to smallest size--将默认值设置为编译成最小尺寸。不影响你更改默认值,也不影响你配置文件中的现有设置,只应用于需要默认值的新设置。
Build Host Platform--构建的主机平台,可选择 Linux、OSX、Windows、Other。
Build Configuration--构建配置
Binary Output Formats--二进制输出格式
Customize Header Files--定制头文件
Debug Options--调试选项
Optimization Level--优化等级
CPU Architecture--CPU架构
(此处略去架构特定的配置)
*** Board Settings ***
Delay loops per millisecond--用于系统引导和驱动初始化的延时循环(毫秒)
Calibrate delay loop--校准延时循环
*** Interrupt options ***
Interrupt Stack Size--中断栈大小
*** Boot options ***
Boot Mode--引导模式
Boot Memory Configuration--引导内存配置
Select target board--选择目标板
*** Common Board Options ***
Board LED support--板载LED支持
Board button support--板载按钮支持
MMC/SD minor number-- MMC/SD主设备号
MMC/SD slot number-- MMC/SD插槽
MMC/SD SPI device number-- MMC/SD所用的 SPI 设备号
*** Board-Specific Options ***
NuttX 配置系统
转载请注明出处: http://blog.csdn.net/zhumaill/article/details/242866091 简介
NuttX 源代码采用与 Linux 内核相同的配置系统,不像 eCos 那样自己搞一套配置系统。该配置系统主要包括 Kconfig、 Makefile 和配置工具,可以生成配置界面。配置界面是通过配置工具来生成的,配置工具通过 Makefile 编译执行,配置界面中的选项则是通过各级 Kconfig 文件来定义。
Kconfig 配置数据文件出现在几乎所有的 NuttX 目录。这些数据文件仍然是开发的一部分。 Kconfig 文件包含与该 Kconfig 文件所处的目录相关联的配置信息。
NuttX 的主 Kconfig 文件是 nuttx/Kconfig。主 Kconfig 文件调用各级子目录的 Kconfig 文件和应用程序目录的 Kconfig 文件,形成树状关系。
菜单按照树状结构组织,主菜单下有子菜单,子菜单还有子菜单或者配置选项。每个选项可以有依赖关系,这些依赖关系用于确定它是否显示。只有被依赖项的父项已经选中,子项才会显示。
NuttX 使用 kconfig 前端作为配置工具。kconfig 前端已经在《 NuttX 安装脚本》一文中介绍了安装。安装后生成可执行文件 kconfig-mconf。
make 命令调用 Makefile 文件。NuttX 的顶层 Makefile 文件是 nuttx/Makefile,它只是简单地包含了 nuttx/Makefile.unix ,在 nuttx/Makefile.unix 中有如下几行:
menuconfig:
$(Q) APPSDIR=${CONFIG_APPS_DIR} kconfig-mconf Kconfig
其中, CONFIG_APPS_DIR在预设的 .config 文件中定义,如果没有定义,默认为 ../apps。目标 menuconfig 调用命令 kconfig-mconf 进行配置。
2 操作方法
nuttx/.config 是预设的 .config 文件。从 nuttx/config/<板卡>/<目标配置>/defconfig 复制而来。由《 NuttX 安装脚本》中的以下几行实现:
echo "nuttx配置"
cd $BASEDIR/$TOPDIR/nuttx/tools
./configure.sh $TARGETCONFIG
在 nuttx 目录下执行 make menuconfig 命令,读取预设的 .config 文件,调出基于文本菜单的配置界面,如图所示:
键盘操作方法:
- 高亮字母为热键
- 按<方向键>浏览菜单
- 按<Enter>选择子菜单
- 按<Y>包含该选项
- 按<N>不包含该选项
- 按<M>编译成模块
- 按<Esc><Esc>退出
- 也可以使用<空格>键进行选择
- 中括号:要么是空,表示包含该选项 ,要么是"*",表示不包含该选项。
- 尖括号:可以是空、"*"和"M",多一样选择,可以编译成模块。
- 圆括号:在所提供的几个选项中选择一项或手工输入限定范围的值。
3 配置选项
3.1 构建设置(Build Setup)
Prompt for development and/or incomplete code/drivers--对正在开发的和未完善的代码和驱动进行提示。
Default to smallest size--将默认值设置为编译成最小尺寸。不影响你更改默认值,也不影响你配置文件中的现有设置,只应用于需要默认值的新设置。
Build Host Platform--构建的主机平台,可选择 Linux、OSX、Windows、Other。
Build Configuration--构建配置
Binary Output Formats--二进制输出格式
Customize Header Files--定制头文件
Debug Options--调试选项
Optimization Level--优化等级
3.2 系统类型(System Type)
CPU Architecture--CPU架构
(此处略去架构特定的配置)
*** Board Settings ***
Delay loops per millisecond--用于系统引导和驱动初始化的延时循环(毫秒)
Calibrate delay loop--校准延时循环
*** Interrupt options ***
Interrupt Stack Size--中断栈大小
*** Boot options ***
Boot Mode--引导模式
Boot Memory Configuration--引导内存配置
3.3 板卡选择(Board Selection)
Select target board--选择目标板
*** Common Board Options ***
Board LED support--板载LED支持
Board button support--板载按钮支持
MMC/SD minor number-- MMC/SD主设备号
MMC/SD slot number-- MMC/SD插槽
MMC/SD SPI device number-- MMC/SD所用的 SPI 设备号
*** Board-Specific Options ***