1. 可以在哪些操作系统下进行 ING918 项目开发?
SDK 支持 Windows、Linux、mac OS。但有的 IDE 不支持 Linux、mac OS。
2. 如何快速评估射频性能?
-
方法 1:使用蓝牙综测仪评估
-
通过
ingWizard
主菜单 Test → Download BQB RF Test Binary 下载 BQB 测试程序; -
将 HCI 串口连接到蓝牙综测仪进行自动测试。
串口参数:
- 二线串口,无硬件流控
- TX、RX 分别为 PIN 2、3
- 波特率:115200
- 数据位:8
- 停止位:1
- 校验:无
-
-
方法 2:使用频谱仪评估
-
通过
ingWizard
主菜单 Test → Download BQB RF Test Binary 下载 BQB 测试程序; -
通过
ingWizard
主菜单 Tools → More → BQB RF Test 打开测试工具; -
通过 BQB RF Test 工具控制设备发送 CW 信号,使用频谱仪观察信号强度、频偏。
或者,
- 自行开发程序,调用
gap_vendor_tx_continuous_wave
API 发送 CW 信号,使用频谱仪观察信号强度、频偏。
-
-
方法 3:使用开发板做简易评估
详情。
3. 如何抓取 log?
针对不同的问题需要抓取不同类型的 log:
-
死机(出现 HARD_FAULT、ASSERTION、HEAP_OOM 等事件)
此时需要抓取存储转储(Memory Dump)及各寄存器的值。Memory Dump 有两种方法:
-
通过调试器抓取
具体步骤可参阅用户手册。
对于启用了省电模式的场景,建议在出现问题之后,再挂接调试器抓取 log。某些 IDE 在挂接调试器进入调试模式时,总是会复位芯片,所以推荐使用 J-Link Commander。
-
使用代码导出
trace.c
模块里提供了trace_full_dump
函数。将这个函数放到HARD_FAULT
、ASSERTION
、HEAP_OOM
等事件的回调里,就能实现自动转储。UART GATT Console 示例演示了这个函数的用法,通过串口输入assert
可主动触发 ASSERTION 并自动转储。
-
-
蓝牙协议层面的问题
此时需要可以抓取芯片内部的 Trace 以及(或者)空口 log。
-
芯片 Trace
工程向导在新建工程会自动添加芯片 Trace 的相关代码。当使用芯片 Trace 功能时,需要禁止系统进入深睡眠模式。
-
空口 log
使用 Ellisys Bluetooth Tracker、 Sodera Series of Bluetooth Protocol Analyzers 等蓝牙空口抓包工具。
-
4. 如何进行空中升级?
这里 是空中固件升级(FOTA)的快速演示。
-
服务端:为蓝牙设备加入升级服务
ingWizard
可以在新建项目时自动添加 INGCHIPS FOTA 服务。 也可以自行设计 FOTA 服务。 -
客户端:对于 INGCHIPS FOTA 服务,提供以下升级程序、工具: