为了提高车载设备在复杂工作环境下固件升级的稳定性及可靠性,深入分析并研究bootloader机制,以汽车无刷直流电机控制器为载体,提出了一种基于CAN总线通信方式的数据无损代码更新方法。将上位机解析后的用户应用程序以链表队列的方式存储并根据数据无损的BLC通信协议通过CAN总线发送给控制器,控制器结合数据无损的代码备份和Flash加密机制实现用户代码的更新和错误回退等功能。实验结果表明,本设计方法具有很强的容错能力,可实现20 Hz以下的数据无损代码更新,并为其他复杂工作环境下的产品提供了一种固件升级的新思路。