# 无 GNSS 旧板调试版本 本分支名称为 `legacy-board`,用于后续无 GNSS 旧板开发。 本目录的说明和验证脚本纳入版本控制;烧录包、日志、验证结果及备份仅保留在本地。 当前开关位于 `ql-config/config/board_features.h`: ```c #define NFC_GNSS_BOARD_HAS_GNSS 0 ``` - 内核不创建 `q_gocg` 型号识别任务,避免无定位芯片时触发 `gps_app.c` 的断言复位。 - `app_gnss_init()` 不创建定位任务,包括联网成功后的调用。 - `set_gnss_mode()` 忽略定位模式请求,避免无定位任务时无法退出 FAST 模式、阻止休眠。 - 定位数据保持无效,不伪造坐标或定位成功状态。 - 未保存音量时默认使用 100% 档位;已有保存音量时仍使用保存值。 在 SDK 根目录依次运行: ```bat build.bat kernel build.bat app build.bat firmware ``` 必须更新内核和 APP;只烧 APP 无法移除旧内核中的断言。 烧录输入使用生成目录中的内层 ZIP,不使用包含 DBG 的外层归档。 `original-EG800AKCN_11LG.zip` 是修改前外层归档的备份。 本次已导出可直接交给烧录工具的 `EG800AKCN_11LG-legacy-no-gnss.zip` (6,519,833 字节)。`EG800AKCN_11LG-legacy-no-gnss-debug.zip` 保存对应调试归档。 仍沿用 EG800AKCN_11LG 的分区布局和 GNSS 资源文件;本修改关闭定位启动行为, 不是更换模组型号或重做其他硬件的板级适配。 验证结果:内核、APP 和打包完成;内层 ZIP 的 CRC 检查通过;包内 `cp.bin` 及 `customer_app.bin` 与本次构建输出逐字节一致;反汇编确认型号识别入口 和应用定位初始化只输出日志,模式设置函数直接返回。 详情和 SHA256 见 `verification.json`,构建日志及反汇编保存在同目录。 本次未烧录设备,尚未完成板上功能验证。 重新构建后,将 `target/EG800AKCN_11LG/EG800AKCN_11LG.zip` 复制到本目录, 命名为 `EG800AKCN_11LG-legacy-no-gnss.zip`,在 SDK 根目录执行: ```bat ql-cross-tool\win32\owtoolchain\Python\python.exe artifacts\legacy-no-gnss\verify_package.py ``` 恢复带 GNSS 板时将开关改为 `1`,重新编译内核和 APP 并打包。 两份构建都必须重新编译对应 GNSS 源文件;检查日志,不要只依赖批处理退出码。 板上验收:启动后不再出现 `No model was found for val` / `q_gocg` 断言; 联网后继续运行至少一分钟,并实际检查网络、音频和 NFC 等所需功能。 构建成功不能代替上述板上验证。