通过CAN BSL(引导加载程序)进行闪存编程
英飞凌 XC2000/XE166 系列微控制器的 CAN 引导加载程序(CAN BSL)支持通过 CAN 总线实现内部闪存编程。文档详细介绍了硬件配置要求,包括使用 UConnect-CAN XE164 作为主机、XE167FM EasyKit 作为从机,以及必要的 CAN 总线连接和工具链(如 HiTOP53 调试器)。系统通过 CAN 帧交互实现初始化、数据传输与命令控制,主机的 Transmitter Program 负责发送数据,从机的 Receiver Program 包含闪存驱动与通信协议处理。通信协议定义了扇区擦除(0x03)、页面编程(0x01)、复位启动(0x20/0x21)等指令,支持 128 字节页编程与 4KB 扇区擦除操作。应用示例展示了如何通过终端指令(如 'a' 下载代码、'r' 复位启动)实现固件升级,并提供了针对硬件问题(如晶振启动时间不足)的软件解决方案。该方案适用于工业控制、汽车电子等需远程更新固件的场景,确保高效可靠的闪存编程。 通过CAN BSL(引导加载程序)进行闪存编程.pdf(1.45 MB)
2025-3-30 18:37 上传
点击文件名下载附件
AP1616410:通过 CAN 总线引导加载程序(BSL)对 XE16x 系列微控制器闪存进行编程
在嵌入式系统开发中,对微控制器的闪存进行编程以更新固件是常见操作。XE16x 系列微控制器在工业控制、汽车电子等众多领域广泛应用,而通过 CAN(Controller Area Network,控制器局域网)总线的引导加载程序(BSL)来对其闪存编程具有诸多优势。CAN 总线具有高可靠性、抗干扰能力强、通信距离远等特点,非常适合在复杂的工业和汽车环境中使用。引导加载程序则提供了一种便捷的方式来更新微控制器的固件,无需复杂的编程设备。AP1616410 文档详细介绍了如何利用 CAN 总线和 BSL 对 XE16x 系列微控制器的闪存进行编程。它首先阐述了 CAN 总线和 BSL 的基本原理,包括 CAN 总线的通信协议、数据帧格式,以及 BSL 的工作流程和功能。接着,文档会说明如何配置 CAN 总线接口和初始化 BSL,使其能够与 XE16x 微控制器进行通信。在编程过程方面,文档会详细描述闪存编程的数据格式、传输协议和具体步骤。例如,如何将固件数据打包成适合 CAN 总线传输的格式,如何通过 BSL 将数据写入到微控制器的闪存中。为了帮助开发者更好地理解和应用,文档中包含了完整的代码示例,这些示例展示了如何编写程序来实现 CAN 总线通信和闪存编程。同时,还提供了常见问题的解决方案和调试建议,以确保开发者能够顺利完成对 XE16x 系列微控制器闪存的编程工作,提高开发效率和系统的可维护性。 AP1616410:通过 CAN 总线引导加载程序(BSL)对 XE16x 系列微控制器闪存进行编程.zip.zip(1.6 MB)
多功能CAN-网关功能无需CPU交互
英飞凌 MultiCAN 模块的网关功能支持两个 CAN 总线间的自动数据传输,无需 CPU 干预,适用于多总线系统的数据交互场景。该功能通过消息对象配置实现,每个 CAN 节点可独立设置波特率与引脚分配。通过配置消息对象的功能控制寄存器(MMC、CUR 指针等),可自动复制数据、标识符及 DLC,并触发目标对象的发送请求(GDFS 位)。扩展功能包括 FIFO 结构与远程请求处理,支持灵活的数据缓存与异步响应。示例代码基于 XC2287 展示了初始化流程,包含 CAN 节点配置、消息对象参数设置及传输控制,验证了 500Kbps 速率下的跨总线数据透明转发能力,有效减轻 CPU 负载,适用于汽车电子、工业控制等对实时性与可靠性要求较高的领域。 多功能CAN-网关功能无需CPU交互.pdf(265.13 KB)