98
社区成员
发帖
与我相关
我的任务
分享根据贵公司提供的demo和源码进行移植,移植成功后发现无法正常使用,雷达一直检测不到人。后发现使用贵公司的DemoTool和开发板去给固件下载固件时,通过串口抓取数据,发现在开始下载时和下载结束时会发送0x0E指令,故在源码里添加了这个代码(位置在int firmware_download(void)的结尾)
ret = fw_download_end(fw_image_size_read());
if(ret<0)
{
uart_0_send_strings("download end fail size \n");
return ret;
}
int fw_download_end(uint32_t fw_total_size){
int ret;
ret = fwdl_send_end_msg(FWDL_DOWNLOAD_MTU_SIZE, fw_total_size);
if (ret < 0) {
PRINTF_IM("fw download end cmd fail\n");
}
return ret;
}
static int fwdl_send_end_msg(uint16_t mtu_size, uint32_t fw_size)
{
struct fwdl_start_cmd_t fwdl_start_cmd = {
.dl_cmd = 0x02,
.dl_flag = 0,
.dl_len = mtu_size,
.total_size = fw_size
};
return fwdl_send_hif_msg(FW_DOWNLOAD_CTRL_CMD, (uint8_t *)&fwdl_start_cmd, sizeof(struct fwdl_start_cmd_t));
}
请问是否正确,还是说不需要添加end函数?

