NuttX 配置系统

(嵌入式 实时操作系统 rtos nuttx 7.1)

NuttX 配置系统

转载请注明出处: http://blog.csdn.net/zhumaill/article/details/24286609

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 中有如下几行:
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>退出
  • 也可以使用<空格>键进行选择
这里的括号有3种:
  • 中括号:要么是空,表示包含该选项 ,要么是"*",表示不包含该选项。
  • 尖括号:可以是空、"*"和"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 ***

3.4  RTOS特征
  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值