chen55025470 发表于 2026-7-9 10:20:52

【Telink TL322X 测评】第五章:BLE 广播、扫描与连接测试

# 【Telink TL322X 测评】第五章:BLE 广播、扫描与连接测试

* **TL322X 属于低功耗无线连接类点点taptap安卓,BLE 是本次测评的核心内容之一。**
* **本章先验证最基础的 BLE 链路:开发板发出广播,手机或 PC BLE 工具能够扫描到设备,并完成连接、断开和重连。**

## 5.0 当前验证记录

**本章使用 SDK BLE peripheral 示例,已经完成构建、烧录和读回校验:**

| **项目**         | **结果**                                                               |
| ------------------ | ------------------------------------------------------------------------ |
| **SDK target**   | `acl_peripheral_demo`                                              |
| **固件**         | `firmware\eval04_acl_peripheral_adv_conn.bin`                      |
| **大小**         | **127556 bytes**                                                       |
| **SHA256**       | `59318E35917400AF72CEEBE8368A9AFB3C861E3AEAC3E4CC5BEB3EC0408F2D22` |
| **烧录验证**   | **2026-07-08 12:48**`verified`,读回 SHA256 与本地固件一致         |
| **BLE 广播名**   | `periphr_demo`                                                   |
| **BLE 扫描验证** | **2026-07-04 手机蓝牙已扫描到**`periphr_demo`                      |
| **日志**         | `logs\flash_eval04_acl_peripheral_adv_conn.log`                  |
| **最新验证日志** | `logs\flash_verify_eval04_latest.log`                              |

**本章已达到的效果:BLE peripheral 固件可以从本章独立源码副本构建、正确写入 Flash、读回校验通过,并已通过 **`rst -f` 从 Flash 复位运行。手机蓝牙已经可以扫描到 `periphr_demo`。

## 5.1 本章任务目标

**本章主要完成以下任务:**

```
1. 确认官方 BLE peripheral 示例可以在 TL322X 上构建和烧录;
2. 复位运行后确认开发板可以发出 BLE 广播;
3. 使用手机或 PC BLE 工具扫描到设备;
4. 建立 BLE 连接并记录连接参数;
5. 验证断开、重连和短时间稳定性。
```

## 5.2 开发板与测试方式

**本章测试链路如下:**

```
构建 acl_peripheral_demo
      ↓
烧录并读回校验
      ↓
rst -f 从 Flash 复位运行
      ↓
手机或 PC BLE 工具扫描广播
      ↓
记录设备名、地址、RSSI、广播数据
      ↓
连接、断开、重连并记录参数
```

**先在近距离完成扫描和连接,再逐步增加距离观察 RSSI 和重连表现。BLE 工具可以使用手机端通用 BLE Scanner 或 nRF Connect。当前固件广播名为 **`periphr_demo`,优先在扫描列表中查找这个名称。

## 5.3 独立工程与 SDK 基线

**本章记录目录为:**

```
D:\Project\Evaluation\Telink\eval_projects\04_ble_advertising_connection
```

**本章源码副本位于:**

```
src\sdk
```

**本章使用的主要源码入口为:**

```
src\sdk\vendor\acl_peripheral_demo
```

**工程关键文件:**

```
src\build_config.json
src\source_manifest.md
firmware\eval04_acl_peripheral_adv_conn.bin
logs\flash_eval04_acl_peripheral_adv_conn.log
logs\flash_verify_eval04_latest.log
tools\flash_verify_eval04.ps1
notes\flash_loader_recovery.md
```

## 5.4 关键源码与配置

**与本章相关的主要文件如下:**

| **文件**                                              | **作用**                               |
| ------------------------------------------------------- | ---------------------------------------- |
| `src\sdk\vendor\acl_peripheral_demo\main.c`       | **BLE peripheral 示例入口**            |
| `src\sdk\vendor\acl_peripheral_demo\app.c`      | **广播、连接和应用初始化主逻辑**       |
| `src\sdk\vendor\acl_peripheral_demo\app_att.c`    | **GATT attribute 表**                  |
| `src\sdk\vendor\acl_peripheral_demo\app_ui.c`   | **LED、按键或 UI 相关辅助逻辑**      |
| `src\sdk\vendor\acl_peripheral_demo\app_config.h` | **广播参数、连接参数和功能宏配置入口** |

**后续如果需要修改广播名称、广播包或连接参数,优先检查 **`app_config.h`、`app.c` 和 `app_att.c`。

**本章当前广播名称定义在 **`app.c` 的 `tbl_advData` 和 `tbl_scanRsp` 中:

```
periphr_demo
```

**广播参数为可连接非定向广播,间隔配置为 **`ADV_INTERVAL_200MS`。

## 5.5 编译、烧录与读回校验

**重新构建本章工程:**

```
powershell -NoProfile -ExecutionPolicy Bypass -File ..\run_tl322x_eval_matrix.ps1 -OnlyProjects 04_ble_advertising_connection -NoFlash
```

**构建并补烧:**

```
powershell -NoProfile -ExecutionPolicy Bypass -File ..\run_tl322x_eval_matrix.ps1 -OnlyProjects 04_ble_advertising_connection
```

**本章用于截图和复测的精简验证脚本:**

```
cd D:\Project\Evaluation\Telink\eval_projects\04_ble_advertising_connection
powershell -NoProfile -ExecutionPolicy Bypass -File .\tools\flash_verify_eval04.ps1 -ResetAfterFlash
```

**手动烧录命令格式:**

```
TC.exe all
TC.exe fi -d 1 --chip=TL322X
TC.exe ulf 0 0 -d 1 --chip=TL322X
TC.exe wf 0 -i firmware\eval04_acl_peripheral_adv_conn.bin -d 1 --chip=TL322X
TC.exe rf 0 127556 -o firmware\eval04_acl_peripheral_adv_conn_readback.bin -d 1 --chip=TL322X
TC.exe rst -f -d 1 --chip=TL322X
```

**当前读回校验结果:**

```
Device:
vid_248a&pid_3228&evk_id_0001&bus_003&addr_055
​
Flash information:
flash mid = 0x00166085, flash status = 0x0030, lock area: 0x000000-0x07ffff
flash uid: 41 50 34 5a 39 39 38 03 00 20 76 4c 4c 01 45 78
​
Write flash:
Flash download finish. 127556 bytes 2324 ms
​
Firmware SHA256:
59318E35917400AF72CEEBE8368A9AFB3C861E3AEAC3E4CC5BEB3EC0408F2D22
​
Readback SHA256:
59318E35917400AF72CEEBE8368A9AFB3C861E3AEAC3E4CC5BEB3EC0408F2D22
​
Result:
PASS, local firmware and flash readback are identical.
​
Run:
reset mcu ok.
```

## 5.6 实测现象

**当前已经确认:**

```
1. acl_peripheral_demo 可以独立构建;
2. 固件可以写入开发板 Flash;
3. 读回 SHA256 与本地固件一致;
4. 本章源码在 src\sdk\vendor\acl_peripheral_demo 中可直接查看和修改;
5. 固件已通过 rst -f 从 Flash 复位运行;
6. 手机蓝牙已经可以扫描到 periphr_demo;
7. BLE 连接、服务列表和断开重连过程等待手机截图或录屏确认。
```

**手机端验证步骤:**

```
1. 打开手机 BLE Scanner 或 nRF Connect;
2. 开始扫描,查找 periphr_demo;
3. 截图保留设备名、地址和 RSSI;
4. 点击 Connect;
5. 截图保留 Connected 状态、服务列表或连接参数;
6. 主动断开后重新连接一次,录制断开和重连过程。
```

## 5.7 图片和视频展示

* **手机 BLE 工具扫描到 **`periphr_demo`,需要显示设备名、地址或 RSSI

!(//m.qjumbo.com/forum/data/attachment/forum/202607/09/101701zzabshc5z5gvbz9s.jpg)

* **BLE 工具连接成功后的截图,需要显示 Connected 状态**

!(//m.qjumbo.com/forum/data/attachment/forum/202607/09/101742qkigqxkaa2hkkgdk.jpg)

* **连接参数、服务列表或 RSSI 详情页截图**

!(//m.qjumbo.com/forum/data/attachment/forum/202607/09/101809hiyi0e00egex232v.jpg)

* **源码中广播名称、广播数据或连接参数配置位置截图**

!(//m.qjumbo.com/forum/data/attachment/forum/202607/09/101844efki2n2zv6fysq6c.png)

!(//m.qjumbo.com/forum/data/attachment/forum/202607/09/101902t4g2064n40ub6ung.png)

!(//m.qjumbo.com/forum/data/attachment/forum/202607/09/101920j33585828h5hz6q4.png)
* `TC.exe` 写入、读回和 SHA256 一致的命令行截图

!(//m.qjumbo.com/forum/data/attachment/forum/202607/09/101958on9jgneerkjndjeq.png)

## 5.8 问题记录

**本章固件运行后,后续自动化补烧曾出现:**

```
TC.exe all
Device 1: vid_248a&pid_3228&evk_id_0001&bus_003&addr_xxx
​
TC.exe fi -d 1 --chip=TL322X
Executing sws_sync error
```

**这说明 USB EVK 枚举正常,但 flash loader / SWS 握手失败。当前处理方式是先尝试:**

```
TC.exe rst -f -d 1 --chip=TL322X
TC.exe fi -d 1 --chip=TL322X
```

**如果仍失败,则断开 USB,按住开发板上的 Flash 点点taptap安卓 RESET / **`FLASH_RESET` 重新插入 USB,等待 2 秒后松开,再重新执行 `TC.exe all` 和 `TC.exe fi`。本次实测中,按主控点点taptap安卓 RESET 不能恢复该问题,按 Flash 点点taptap安卓 RESET 后可以正常烧录。详细步骤见:

```
notes\flash_loader_recovery.md
```

## 5.9 本章测试结论

**阶段性结论:**

```
1. acl_peripheral_demo 已构建、烧录并读回校验通过;
2. 本章具备可独立修改的 BLE peripheral 源码副本;
3. BLE 广播名为 periphr_demo,手机蓝牙已经可以扫描到该设备;
4. 本章是下一章 GATT 数据收发测试的基础。
```

## 5.10 本章小结

**第五章已经把 BLE peripheral 固件放到可复现状态。当前命令行烧录、读回、复位运行和手机扫描广播已经完成。**

eefocus_4255178 发表于 2026-7-29 22:21:27

挺有意思的
页: [1]
查看完整版本: 【Telink TL322X 测评】第五章:BLE 广播、扫描与连接测试

Baidu
map