蓝牙技术
直播中

张健

7年用户 1310经验值
私信 关注
[问答]

LE OTA APP崩溃的原因?

开发环境PSOC6 ble kit,modustoolbox 3.2IDE,使用ota-update v4.00 lib进行ble ota开发,借鉴Bluetooth_LE_Battery_Server proj开发自己的工程代码,在安卓环境下使用LEOTA APP进行测试开发,蓝牙连接都是正常的,在选择升级文件,点击update按键时,LEOTA APP会崩溃,程序显示'GATT_CONN_TERMINATE_PEER_USER',Debug对比Bluetooth_LE_Battery_Server proj,发现程序在app上点击update按键后,没有捕捉到
wiced_bt_gatt_evt_t event(gatt_attribute_request_evt),app就崩溃了。

回帖(1)

李莉

2024-7-4 16:58:07
LE OTA APP崩溃的原因可能有以下几点:

1. **资源不足**:如果设备上的内存或CPU资源不足,可能会导致APP崩溃。请检查设备的资源使用情况,确保有足够的资源来运行APP。

2. **GATT连接问题**:在您的描述中,程序显示'GATT_CONN_TERMINATE_PEER_USER',这可能表示GATT连接被意外终止。请检查您的代码,确保在执行OTA更新之前,GATT连接已经建立并且稳定。

3. **OTA库版本不兼容**:您提到使用了ota-update v4.00 lib进行BLE OTA开发。请确保您使用的库版本与您的开发环境(PSOC6 BLE kit, ModusToolbox 3.2 IDE)兼容。如果不兼容,可能会导致APP崩溃。

4. **代码逻辑问题**:您提到在点击update按键后,没有捕捉到wiced_bt_gatt_evt_t event(gatt_attribute_request_evt)。这可能是由于代码逻辑问题导致的。请检查您的代码,确保在执行OTA更新之前,正确处理了所有相关的事件。

5. **文件传输问题**:在OTA更新过程中,如果文件传输出现问题,可能会导致APP崩溃。请检查您的代码,确保文件传输过程中没有错误。

6. **权限问题**:在Android环境下,如果APP没有获得足够的权限,可能会导致崩溃。请检查您的APP权限设置,确保它具有执行OTA更新所需的权限。

为了解决这个问题,您可以尝试以下步骤:

1. 检查设备资源使用情况,确保有足够的资源运行APP。
2. 确保GATT连接稳定,并且在执行OTA更新之前已经建立。
3. 确认使用的OTA库版本与开发环境兼容。
4. 检查代码逻辑,确保在执行OTA更新之前,正确处理了所有相关的事件。
5. 检查文件传输过程中是否有错误。
6. 检查APP权限设置,确保具有执行OTA更新所需的权限。

希望这些建议能帮助您解决问题。如果问题仍然存在,请提供更多详细信息,以便我们能够更好地帮助您。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分