目录
- 一、Bootloader简介
- 二、所需知识点
一、Bootloader简介
Bootloader,又称为引导程序,对操作系统非常重要,是计算机和汽车控制器的一个关键组成部分。然而,因为它往往在后台发挥作用,它经常被忽视。其主要用于软件更新。但ECU的软件更新方式有很多,比如通过JTAG调试更新软件,为什么要Boot呢?
由于ECU软件中难免会有BUG存在,以及要满足整车OTA需求,必须可以在不开盖的情况下更新软件。而ECU控制器对外的接口通常只有总线、电源和控制IO等。出于最大化复用接口(减少线束的重量和成本)考虑,通常采用基于UDS的Boot,而最常用的总线为CAN。为什么不用JTAG口呢?主要是ECU装车后,整个外壳都封装好了,开发人员就再也没有JTAG可用了,难以实现远程更新,另外由于JTAG口的权限很高,可以任意修改内部程序,安全风险很大。
基于UDS的刷写过程定义了刷写前、刷写中、刷写后三个阶段。
二、所需知识点
- 要正确理解写bootloader的需求,掌握必要的单片机peripheral底层驱动知识,如SPI&