我们正在尝试使用 CAN 引导加载程序引导加载
STM32L443CCT 设备。
STLINK V3 的文档详细说明,通过使用跳线 JP7 和 CN5 进行连接,我们应该能够与已触发进入引导加载程序模式的设备进行
通信(仅使用选项字节 - 避免必须设置或清除任何硬件引脚以选择引导加载程序)。这样做的好处是我们应该能够使用每个设备当前使用的标准 CAN 接口对设备进行重新编程,而无需拆开设备以使用 JTAG 或 SWD 访问进行编程。
我们观察到的是来自 CN5 的 T_CAN_TX 和 T_CAN_RX 线是相同的,这意味着信号之间的差异基本上没有。从其他来源观察我们总线上的其他 CAN 消息,很明显 CAN_TX 和 CAN_RX 线应该大致倒置,但我们看到它们是相同的。
我们在需要使用 CAN 收发器的地方使用了 CN7 连接器,在运行 Cube Programmer 时我们至少从系统中获得了看起来合理的数据,但它仍然无法触发 STM32 中的内置引导加载程序设备。
引导加载程序版本是 9.1,它确实支持 CAN,我知道它在引导加载程序中,因为我已经能够通过使用 SWD 连接到设备来检查程序计数器(在系统内存区域中)和选项字节。通过清除选项字节中的 nBOOT0_SW 位,我能够恢复正常运行的应用程序。
我的问题是——还有其他人在使用 CN5 进行 CAN 通信时遇到过问题吗?特别是对于引导加载程序?