开启DTLS之后,空中写卡失败

1. 开启DTLS之后,空中写卡失败。加大了任务的堆栈空间,成功。但是后面DM更新,出现timeout,之后再回复AT+SOTARESULT=result,没返回OK,看下LOG

阳光说是可能是堆栈空间不够,那么会不会是因为UDP 的socket接收使用的是同一个数组导致的。上面输出的数据不足够512个!

2. 其次是看下AT+SOTARESULT=3的代码执行过程

sys_callback.onEvent = prv_onSySEventHandler;

cissys_init(contextP, configRet.data.cfg_sys, &sys_callback);
cis_ret_t prv_onSySEventHandler(cissys_event_t id, void* param, void* userData, int *len)

同时

AT_RET at_handle_SOTARESULT_cmd_set(uint8 *p_atparams_string)
cis_notify_sota_result(g_context,result);
ctx->g_fotacallback.onEvent((cissys_event_t)eventid, NULL, ctx, 0);

3. 正常情况下,输出应该还有个0,0的,究竟是数据没发完,然后被AT+SOTARESULT打断的,还是DM和MIPLWRITE冲突?

猜你喜欢

转载自www.cnblogs.com/429512065qhq/p/11282688.html