SiFli Solution Documents SiFli Solution Documents SiFli Solution Documents
/
  • English
  • 中文
  • SiFli Solution介绍
  • 快速入门
    • 开发环境配置
    • 运行第一个项目
    • PC仿真环境
    • Solution目录结构
    • 方案选型
    • 线程及线程消息通信
    • 内存管理
    • 字体
    • 图片资源
    • 多语言支持
    • FLASH分配
    • IPC(核间)通信
    • FlashDB 与 NVM 存储方案
    • MONKEY测试
  • 应用笔记
    • UI/应用
      • 总览
      • 应用APP
      • 平铺(TLV)
      • 表盘(WF)
      • 弹窗(POPUP)
      • 息屏显示(AOD)
      • 场景动画
      • 设置APP
      • 主菜单APP
      • 按键处理
      • 数据刷新
      • 多张图片打包机制
      • 资源目录结构
      • 创建一个新APP
      • 删除外置APP
      • 设置默认APP
      • SENSOR数据对接
      • 帧率
    • BLE/BT
      • BLE
      • BT
    • 驱动
      • I2C
      • PWM
      • UART
      • SPI
    • FLASH分区
    • 文件系统
      • FAT
      • LittleFS
    • eMMC
    • USB
    • SDIO Wi-Fi
    • 外围设备
      • Sensor应用指南
        • 运动传感器移植指南
        • 心率传感器移植指南
        • 地磁传感器移植指南
        • 光感传感器移植指南
        • 传感器数据融合
      • Sensor消息处理
        • 应用与Sensor通信
    • 低功耗
    • 电池管理
      • 概述
      • 入门
      • 进阶
    • 新工程创建
    • OTA升级
      • OTA(固件端)
      • OTA(手机SDK)
        • 总览
        • OTA V3 iOS SDK
        • OTA V3 android SDK
        • OTA V3 harmony SDK
        • OTA V3 错误码
      • OTA升级(http)
    • QuickJS
    • GUI工具
      • GUI_Builder固件
        • OTA说明
        • 表盘编辑
        • 数据对接
        • 事件对接
        • 调试
        • 控制命令
      • 3rd GUI_Tool
        • NXP Gui Guider
          • 1. 介绍
          • 2. 安装与使用
          • 3. 生成的代码如何接入Solution
        • SquareLine
          • 1. 介绍
          • 2. 安装与使用
          • 3. 生成的代码如何接入Solution
    • RF测试
    • 烧录相关
    • eZIP工具
    • 死机分析
  • 组件说明
    • UI控件使用指南
    • USB MStorage指南
    • BUTTON指南
    • alipay指南
    • 动态应用指南
    • 开关机过程
    • 睡眠唤醒过程
    • 睡眠唤醒过程梳理
  • API接口
    • SERVICE_COMM
    • APP_COMM
    • APP_MEM
    • APP_THREAD
    • APP_PM
    • APP_LANG
    • APP_FLASHDB
    • BATTERY_COMM
    • BUTTON_SERVICE
    • IPC_SERVICE
    • LCPU_THREAD
    • PMIC_SERVICE
  • 示例
  • 工具
  • FAQ
    • 概述
    • 开发环境
    • 编译相关
    • 工程
    • menuconfig
    • 应用
    • LCD
    • Audio
    • 蓝牙(BLE/BT)
    • 外部存储器
    • 文件系统
    • 图片资源
    • 字体
    • 驱动
      • SF30147
      • Gpio
      • I2C
      • I2S
      • UART
      • SPI
      • PWM
      • ADC
      • Flash
      • LCDC
      • Timer
    • GUI Builder工具
    • 低功耗
    • 多语言
    • OTA
      • 固件端
      • 手机端
    • 外围设备
      • Sensor
    • USB
    • 工具
      • Butterfli
      • Impeller
      • SiFli_Trace
      • AssertDump
      • LightWork
      • FsrwTool
      • GraphicsTool
      • ImgStamp
      • SiFli_EQ
      • SiFli_RfTool
      • UsartServer
      • BurnDriverEx
    • 手机APP
    • 打库(lib)
    • 产线生产
      • 烧录下载
      • 固件外发烧录
      • eFuse 使用
      • 48M 晶体校准
      • RF测试
    • WIFI
    • 4G(LTE)
    • 认证
    • 调试
    • 死机
  • SiFli GUI Builder
    • GUI_Builder固件
      • OTA说明
      • 表盘编辑
      • 数据对接
      • 事件对接
      • 调试
      • 控制命令
    • GUI builder工具
      • 概述
      • 安装SifliGUIBuilder
      • 基本功能
      • 控件说明
        • 背景
        • 文本
        • 按键
        • 图片
        • 图组
        • 指针
        • 进度条
        • 滚轮
        • 滚动视图
        • 计时器
        • 序列帧
        • GIF
        • 组件
        • 容器
        • 图表
        • 网格视图
        • 键盘
        • 文本区域
        • 条形码
        • 二维码
      • 数据源
      • 事件-行为
      • 多语言
      • 创建表盘
      • 创建应用
      • 串口屏
      • 模拟器仿真
      • 串口调试
      • 生成&发布
  • 手机SDK
    • OTA(手机SDK)
      • 总览
      • OTA V3 iOS SDK
      • OTA V3 android SDK
      • OTA V3 harmony SDK
      • OTA V3 错误码
    • 表盘/应用传输
    • 背景图传输
    • eZIP转换
      • eZIPSDK For android
      • eZIPSDK For iOS
      • eZIPSDK For Harmony
  • 开源社区专题
    • 支持板级介绍
    • Solution版本介绍
    • SiFli_demo_app 教程
  • 视频教学
  • Solution版本说明

该页内容

  • FAQ1 menuconfig的实现机制是?
  • FAQ2 在哪里对menuconfig进行配置?
  • FAQ3 在menuconfig的配置中,怎么确定对应项与宏之间的关系?
  • FAQ4 在menuconfig的配置中,怎么查找对应的宏?
  • FAQ5 在menuconfig的配置中,为什么有时查找到需要修改的宏是灰色的?
  • FAQ6 menuconfig配置后,h需要上传git么?
  1. SiFli Solution Documents /
  2. FAQ /
  3. menuconfig

menuconfig¶

FAQ1 menuconfig的实现机制是?¶

  • menuconfig 的配置界面结构、所有配置项(名称、依赖关系、对应宏定义、说明文档等),均由目标工程(hcpu/lcpu/simulator)根目录下的 Kconfig 文件定义;该文件可通过 source 指令引用其他子目录下的 Kconfig 文件,最终拼接形成完整的 menuconfig 菜单树,是配置功能的底层核心。

  • 运行 menuconfig 时,工具会优先读取工程根目录下的 .config 文件,将其中的配置值作为界面默认显示状态;

  • 完成配置并保存后,新的配置值会同步更新到 .config 文件中,同时工程会自动将 .config 中的配置转换为 rtconfig.h 头文件(该文件包含所有配置项对应的宏定义),供编译阶段直接引用。

Kconfig 语法可参见kconfig.txt 的在线 HTML 版。


FAQ2 在哪里对menuconfig进行配置?¶

  1. 通过butterfli工具的界面进行配置

  • 直接在对应工程(hcpu/lcpu/simulator),右键打开menuconfig即可

  • 注意: Solution V2.4以前的版本,需要确认是否所有工程已经初始化初始化,如果没有,则需要手动初始化;Solution V2.4之后的版本,将自动初始化。

  1. 打开文件管理器,进入目标工程的根目录(hcpu/lcpu/simulator),打开ComEmu,输入命令 menuconfig 并回车,即可进 menuconfig 配置界面。 按界面操作提示(方向键选择、空格选中 / 取消、回车确认)完成配置,配置完成后按 ESC 退出并保存


FAQ3 在menuconfig的配置中,怎么确定对应项与宏之间的关系?¶

在 menuconfig 配置界面中,可快速查询任意配置项对应的宏名称(宏是配置项在代码中生效的核心标识),操作步骤:

  1. 进入 menuconfig 配置界面后,用方向键将光标移动到目标配置项上;切换为 英文输入法,按下键盘上的 ?(问号)键

  2. 界面会弹出该配置项的详细信息窗口,其中明确标注对应的宏定义名称、宏的默认值、依赖条件等


FAQ4 在menuconfig的配置中,怎么查找对应的宏?¶

当已知宏名称,需反向查找其在 menuconfig 中的配置位置时,可通过以下方法

  1. 进入需要配置的工程(hcpu/lcpu/simulator)的 menuconfig 配置界面;

  2. 确保输入法为英文状态,按下键盘上的 /(斜杠)键;(部分终端环境下,需先按 ESC 退出当前选项的编辑状态,再按 / 键)

  3. 弹出搜索输入框后,输入要查找的宏名称(可直接输入宏名或宏名的部分,支持模糊搜索),按下回车,menuconfig 会列出所有与该宏匹配的配置项,包含:

    • 配置项的完整路径(如 (Top) → Memory Config  );

    • 配置项的当前状态(启用 / 禁用);

    • 配置项对应的宏定义说明;

    • 找到目标配置项后,可根据搜索结果中的路径,用方向键导航到对应位置修改配置


FAQ5 在menuconfig的配置中,为什么有时查找到需要修改的宏是灰色的?¶

如果查找到的宏,是灰色的,因是该配置项受依赖条件限制无法修改(非权限问题)。

  1. 依赖的前置配置项未启用

  • 这是最常见的原因:menuconfig 的配置项存在 “依赖关系”,若某配置项依赖的父级配置项未开启(如CONFIG_A依赖CONFIG_B),则CONFIG_A会被置灰,无法操作。

  • 示例:若 FT_SIZE_SELF_DEFINED 依赖 LV_USING_FREETYPE_ENGINE,未开启LV_USING_FREETYPE_ENGINE时,CONFIG_LOG_DEBUG必然是灰色。

  1. 配置项被强制锁定(不可配置) 工程 Kconfig 文件中,该配置项被标记为def_bool/default且未开放修改权限(如config XXX def_bool y),或被工程脚本 / 编译规则强制赋值,此时配置项仅显示状态,无法手动修改。

  2. 当前工程 / 编译环境不匹配 部分宏仅针对特定工程生效(如lcpu工程的宏在hcpu工程中打开 menuconfig 会置灰),或编译环境未满足基础条件(如缺少某类编译器、依赖库),导致配置项被禁用。

  3. 配置项为 “隐藏项”/“只读项” Kconfig 中标记为hidden的配置项,或仅用于显示状态的 “信息类项”,本身不支持手动修改,会以灰色显示。

因此,需要针对以上原因,进行针对性的配置修改。


FAQ6 menuconfig配置后,rtconfig.h需要上传git么?¶

Solution的设计中,仅依赖.config,rtconfig.h是butterfli工具在编译的时候自动生成的中间文件,因此不需要上传。

上一章
工程
下一章
应用
© 版权所有 2019 - 2026 思澈科技(南京)有限公司。

使用Sphinx构建,主题基于Shibuya。