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