void test_mbr_update(void) {
uint8_t rd_data[1]={0};
uint16_t crc_val=0;
uint32_t length = 0x21edc; //文件长度
uint32_t i;
OM_LOG_DEBUG("start crc_val =0x%x,length = 0x%x\n",crc_val,length);
for(i=0;i<length;i++)
{
drv_sfs_enable();
drv_sf_read(OM_SF,0,0x34000+i,rd_data,1);
crc_val = om_crc16_ccitt(crc_val,rd_data,1);
}
OM_LOG_DEBUG("end crc_val =0x%x,length = 0x%x\n",crc_val,length);
// mbr
drv_sfs_enable();
// 96 固定标识
// 0x34000 新固件存放地址
// 21edc 新固件长度
// 0x8a38 新固件CRC16校验码
mbr_write_part(96, 0x34000, length/*0x22280*/, crc_val/*0x7d6f*/);
OM_LOG_DEBUG("REBOOT !!\n");
drv_pmu_force_reboot();
}