英飞凌XC2000 CAN总线 Bootloader 实现与应用

需积分: 9 15 下载量 33 浏览量 更新于2024-09-07 1 收藏 271KB PDF 举报
"该文档详细介绍了使用Infineon XC2000系列16位单片机通过CAN总线进行bootload的过程,包括其组成部分、实现方法和具体流程。" Infineon XC2000 CAN Bootload是一种通过CAN(Controller Area Network)总线对微控制器进行在线编程的技术。这个过程允许开发者在不拆卸目标电路板的情况下更新或调试程序,极大地提高了工作效率和系统的可维护性。XC2000系列是Infineon科技公司的一款16位单片机,适用于多种工业和汽车应用。 实现CAN Bootload主要涉及以下三个部分: 1. **CAN卡**:作为硬件接口,用于连接PC和目标电路板。这里推荐使用周立功公司的USB-CAN2A,确保可靠的数据传输。 2. **上位机下载程序**:这是一个软件工具,负责读取由Keil C166编译器生成的H86文件,将数据重新排列以便通过CAN总线传输。它与目标XC2000进行通信,完成程序的发送。 3. **CAN_Boot**:这是在XC2000上的固件,负责接收来自上位机的数据,并将其烧录到Flash内存中。它通过CAN Bootstrap模式与上位机进行交互。 流程如下: 1. **CAN Bootstrap模式**:用户在主程序中调用特定指令进入CAN Bootstrap模式,使单片机准备接收来自CAN总线的编程数据。 2. **上位机下载CAN_BSL程序**:在上位机中启动下载软件,向XC2000发送CAN_BOOT_LOADER命令,开始程序下载过程。 3. **CAN_LOADER运行**:单片机接收到命令后,运行CAN LOADER固件,接收并处理上位机发送的H86文件。 4. **用户应用程序下载**:上位机继续发送用户应用程序的H86文件,CAN_LOADER将这些数据写入Flash内存。 5. **下载结束与重启**:当下载完成后,系统会自动重启,运行更新后的用户应用程序。 此外,文档还涵盖了XC2000的内存结构,PC端的下载软件详情,以及系统硬件连接的示例。在PC端,通常需要Windows 7或更高版本的操作系统,通过USB-CAN2A适配器与目标XC2000 MCU的系统进行连接。 Infineon XC2000 CAN Bootload提供了一种高效、灵活的在系统编程方案,简化了软件开发和调试过程,对于需要频繁更新程序的嵌入式系统尤为适用。