Files
banban/artifacts/legacy-no-gnss/README.md
T

2.5 KiB
Raw Blame History

无 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 等所需功能。 构建成功不能代替上述板上验证。