|

楼主 |
发表于 2021-6-29 10:22:19
|
显示全部楼层
bin我通过蓝牙下发时有校验和SumA,然后将整个bin写入0x8000开始的地址后,重新读出来计算一遍校验和SumB,将读出来计算的校验和SumB与 上位机发我的SumA相等后,执行toolOsBinUpdate(0x8000);然后toolReboot();板子重启,然后原程序不运行,也没运行下载的bin程序;
void toolOsBinUpdate(u32 DgusAddr){
u8 temp[4]={0};
temp[0] = 0x5A;
temp[1] = 0xA5;
temp[2] = (u8)(DgusAddr >> 8);
temp[3] = (u8)(DgusAddr);
write_dgus_vp(OS_UPDATE, temp, 2);
}
void toolReboot(void){
u8 temp[4]={0};
temp[0] = 0x55;
temp[1] = 0xAA;
temp[2] = 0x5A;
temp[3] = 0xA5;
write_dgus_vp(OS_REBOOT, temp, 2);
} |
|