关于实现机制,总的来说有以下几步:
1.通过配置单片机的复位状态寄存器或外部与之相关的引脚,使单片机复位后进入BootLoader模式;
2.上位机通过英飞凌预定义好的传输协议给单片机发送一段程序(下文称为CAN_Loader),CAN_Loader包括和上位机之间的通信协议以及操作单片机Flash的Flash driver;单片机在接收CAN_Loader的过程中自动按顺序逐字节将其写入到PSRAM(单片机Flash中预留的一段空间,可以灵活读写,专门用来存储临时程序)中,接收完毕后自动跳转到PSRAM的起始地址开始执行CAN_Loader程序;
3.使用CAN_Loader中定义的通信协议,对单片机Flash进行操作,先将旧程序所在存储空间擦除,然后将新程序传输给单片机,CAN_Loader便可以依据指令将新程序写入指定的存储空间;
4.新程序写入完毕后,将复位状态寄存器恢复默认状态,即从Flash启动的模式,重启单片机即可执行新的程序代码。
英飞凌官方给了例程代码和说明文档,需要的同学可从官网下载
关于实现机制,总的来说有以下几步:
1.通过配置单片机的复位状态寄存器或外部与之相关的引脚,使单片机复位后进入BootLoader模式;
2.上位机通过英飞凌预定义好的传输协议给单片机发送一段程序(下文称为CAN_Loader),CAN_Loader包括和上位机之间的通信协议以及操作单片机Flash的Flash driver;单片机在接收CAN_Loader的过程中自动按顺序逐字节将其写入到PSRAM(单片机Flash中预留的一段空间,可以灵活读写,专门用来存储临时程序)中,接收完毕后自动跳转到PSRAM的起始地址开始执行CAN_Loader程序;
3.使用CAN_Loader中定义的通信协议,对单片机Flash进行操作,先将旧程序所在存储空间擦除,然后将新程序传输给单片机,CAN_Loader便可以依据指令将新程序写入指定的存储空间;
4.新程序写入完毕后,将复位状态寄存器恢复默认状态,即从Flash启动的模式,重启单片机即可执行新的程序代码。
英飞凌官方给了例程代码和说明文档,需要的同学可从官网下载
举报