1. 概述
OTA总体采用异步的流程;
ota_ble_event_callback接收OTA事件后,将其推入到队列中;
ota_ble_rx_handler_thread监听队列,通过对事件的分类,进入的不同的处理流程
2. 代码分析
ota_ble_adapter_init
void ota_ble_event_callback(bes_ble_ota_event_param_t *param) -> ble回调
-> BES_BLE_OTA_CCC_CHANGED
-> BES_BLE_OTA_DISCONN:
-> BES_BLE_OTA_RECEVICE_DATA:
ota_ble_push_rx_data()
osMailPut(ota_ble_rx_event_mailbox_id, event) -> 推送消息到其他线程处理
-> BES_BLE_OTA
-> BES_BLE_OTA_SEND_DONE
ota_ble_rx_handler_thread -> ota_ble_rx_mailbox_get() -> 处理线程-读取队列消息
ota_control_handle_received_data -> ble接收信息
_hand