无 GNSS 旧板调试版本
本分支名称为 legacy-board,用于后续无 GNSS 旧板开发。
本目录的说明和验证脚本纳入版本控制;烧录包、日志、验证结果及备份仅保留在本地。
当前开关位于 ql-config/config/board_features.h:
#define NFC_GNSS_BOARD_HAS_GNSS 0
- 内核不创建
q_gocg型号识别任务,避免无定位芯片时触发gps_app.c的断言复位。 app_gnss_init()不创建定位任务,包括联网成功后的调用。set_gnss_mode()忽略定位模式请求,避免无定位任务时无法退出 FAST 模式、阻止休眠。- 定位数据保持无效,不伪造坐标或定位成功状态。
- 未保存音量时默认使用 100% 档位;已有保存音量时仍使用保存值。
在 SDK 根目录依次运行:
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 根目录执行:
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 等所需功能。
构建成功不能代替上述板上验证。