在软硬件调试阶段,通过JTAG仿真器,利用代码调试器(codecomposerstudio,CCS)向控制器主芯片存放引导程序的Flash扇区烧写引导程序;在升级应用程序阶段,由于主芯片的编译环境支持HEX文件生成,基于CAN通信,使用上位机软件将待烧写应用程序的HEX文件发送给主芯片的引导程序,引导程序接收解析HEX文件,并将解析后的数据写入存放应用程序的Flash扇区后,主芯片运行新的应用程序,实现控制器程序升级。
系统设计基于CAN通信的固件升级系统设计包括3个部分:引导程序、应用程序和上位机。
1.引导程序
1.1 划分Flash存储空间
主芯片的Flash存储空间为512Kibyte,划分为FlashA~FlashAB共28个扇区,存储地址为0x080000~0x0FFFFF。
为了实现固件升级,将TMS32F28377S芯片的Flash空间分成2部分:一部分地址为0x080000~0x083FFF,占用FlashA和FlashB2个扇区,用于存放引导程序;另一部分地址为0x084000~0x0FFFF,占用扇区FlashC~FlashAB,用于存放应用程序。