君正IConfigTool介绍

君正IConfigTool介绍 IConfigTool 是君正 SDK 里的图形化配置工具一般路径类似tools/iconfigtool/IConfigToolApp/IConfigTool它的作用可以理解成用图形界面修改君正平台的一些系统/板级配置文件。君正文档里说明IConfigTool 是基于 Qt 的 GUI 界面但它不包含 uboot、kernel、buildroot 的配置这些一般还是通过menuconfig配置。(docs.ingenic.com.cn)你可以把它理解成 MCU IDE 里的“工程配置界面”比如你以前用 Keil / CubeMX / 图形化 IDE勾选外设 UART / SPI / ADC 选择引脚 配置时钟 生成配置代码 然后编译在君正 Linux SDK 里IConfigTool 有点像这个角色选择板级 defconfig 配置文件 ↓ 图形化勾选某些功能 ↓ 保存配置 ↓ 再执行 make 编译但是注意它不是完整的 IDE也不是编译按钮。它一般配置什么常见是这些君正平台自己的板级/系统配置1. 配置外设功能比如音频相关君正文档里有 “iConfigTool 中 dmic 和 icodec 的配置流程”可以勾选 DMIC 通道、内部 codec 等功能。(docs.ingenic.com.cn)也就是说假如你的板子用了数字麦克风、内部 codec就可能要在这里打开对应配置。2. 配置分区、挂载脚本、OTA 相关功能比如 OTA 文档里提到data 分区需要在 IConfigTool 中勾选自动挂载脚本系统启动后会自动挂载到/usr/data。(docs.ingenic.com.cn)这类东西在 MCU 里不常见但 Linux 里很常见Flash / eMMC 分区 rootfs data 分区 自动挂载 OTA A/B 分区3. 配置系统服务、启动项、日志开关等比如君正文档里有通过配置文件打开/关闭系统打印 log 的说明。(docs.ingenic.com.cn)这类配置会影响系统启动时加载哪些服务 某些模块是否打印 log 某些脚本是否执行它和 menuconfig 是什么关系这个很关键。君正 SDK 里大概有几类配置1. U-Boot 配置 └── 一般用 make xxx_defconfig / menuconfig 2. Linux Kernel 配置 └── 一般用 make menuconfig 3. Buildroot 配置 └── 一般用 make menuconfig 4. 君正平台自己的板级/系统配置 └── IConfigTool所以 IConfigTool不是替代所有配置工具。它更像是君正自己封装的一套板级配置 GUI举个你更容易理解的例子假设你现在用君正 X2600 做一个产品。你的硬件上有DMIC 数字麦克风 内部 codec eMMC LCD Wi-Fi data 分区 OTA 升级那你可能需要1. 用 IConfigTool 打开对应 defconfig 2. 勾选 DMIC / codec / 自动挂载 / OTA 相关配置 3. 保存配置文件 4. 回到命令行 make 编译 5. 烧录到板子它的作用不是./IConfigTool 点一下就直接编译烧录而是./IConfigTool 修改配置文件 保存 再 make和 MCU 开发的对比MCU 开发君正 Linux SDKKeil / IAR 工程文件build/configs/xxx_defconfigCubeMX 图形化配置IConfigTool / menuconfig勾选 UART/SPI/ADC勾选 codec、dmic、分区、启动脚本等点击 Build命令行make点击 Download烧录工具 / fastboot / 烧录脚本main.c 裸机程序Linux kernel rootfs app你现在应该怎么理解它一句话IConfigTool 是君正 SDK 的“图形化系统配置工具”主要用来改君正平台相关的配置文件改完之后还要重新编译 SDK。你可以把它放在这个流程里选择芯片/板子配置 ↓ 用 IConfigTool 修改君正平台配置 ↓ 用 menuconfig 修改 kernel/buildroot 配置 ↓ make 编译 ↓ 生成镜像 ↓ 烧录到开发板所以你看到文档写修改配置文件使用可视化配置工具 IConfigTool意思就是不要你手动去改一堆配置文件君正提供了一个 GUI 工具帮你勾选、保存这些配置。在 Linux 里君正IConfigTool 的作用不是“运行程序”也不是 Linux 系统启动后必须跑的服务。它在 Linux SDK 里主要起这个作用编译前的配置工具用来生成/修改君正平台相关的配置文件然后让 make 根据这些配置去编译驱动、工具、脚本、rootfs 内容。君正官方说明里也说IConfigTool 是基于 Qt 的 GUI 配置界面而且它不包含 uboot、kernel、buildroot 的配置这些还是通过menuconfig配置。(Ingenic 文档)你可以把它放到这个位置理解源码目录 ↓ IConfigTool 修改君正平台配置 ↓ 生成/修改 defconfig 配置文件 ↓ make 编译 ↓ 生成 kernel / rootfs / app / 脚本 / 镜像 ↓ 烧录到板子 ↓ Linux 启动运行所以它的作用是在这里编译前配置阶段不是这里Linux 板子运行阶段它在 Linux 里具体影响什么比如你用君正 X2600IConfigTool 可能会影响这些东西某些模块化驱动是否编进去 某些 libhardware2 接口是否打开 TF 卡、Wi-Fi、watchdog 等外设配置 rootfs 里是否放某些工具 启动脚本是否启用 data 分区是否自动挂载 ADB 服务是否打开 OTA 相关配置 出厂测试脚本是否加入比如君正文档里watchdog 的使用流程就是打开 IConfigTool选择配置文件然后在驱动列表里勾选 watchdog 驱动并在 libhardware2 里勾选 watchdog shell 命令。(Ingenic 文档)TF 卡相关文档里也提到通过 IConfigTool 进入模块化驱动配置配置 msc 控制器驱动等内容。(Ingenic 文档)和 Linux 本身是什么关系Linux 系统本身一般分几层BootloaderU-Boot KernelLinux 内核 Rootfs根文件系统 Driver驱动 App应用程序 Config配置文件和启动脚本IConfigTool 主要影响的是君正 SDK 额外封装的配置层可以理解成君正做了一套自己的“产品配置系统”。它帮你决定这个产品要不要某个驱动 这个产品要不要某个 shell 工具 这个产品 rootfs 里要不要某个启动脚本 这个产品 data 分区怎么挂载 这个产品要不要 OTA 这个产品要不要出厂测试功能它不是干什么的这个很重要。IConfigTool不是编译器不是 gcc 不是交叉编译工具链IConfigTool不是 make它不负责真正编译源码IConfigTool不是内核配置工具Linux kernel 配置主要还是 make menuconfigIConfigTool不是 Buildroot 配置工具Buildroot 配置也通常是 make menuconfigIConfigTool不是板子上运行的程序烧录到板子后板子运行 Linux不是运行 IConfigTool用 MCU 思维类比一下你熟悉 MCU 的话可以这样类比MCU 世界君正 Linux SDKKeil 工程配置defconfig 配置CubeMX 图形化配置IConfigTool勾选外设、生成配置勾选模块、驱动、脚本点击 Buildmake下载到 MCU烧录 Linux 镜像到板子main.c 运行Linux kernel rootfs app 运行但是区别是MCU 常见是配置外设 → 生成代码 → 编译 main.c君正 Linux 是配置产品功能 → 影响内核/rootfs/脚本/工具/驱动 → 编译整套系统镜像一句话总结IConfigTool 在 Linux SDK 里的作用就是“编译前的产品功能配置器”。它负责告诉 SDK这个板子/产品要编哪些功能 rootfs 里放哪些工具 启动时跑哪些脚本 某些君正外设模块怎么配置然后你再执行make编译系统会读取这些配置把对应内容编进最终的系统镜像里。