ST意法半导体
直播中

回头太晚

9年用户 794经验值
擅长:可编程逻辑 电源/新能源
私信 关注
[问答]

在STLINK-V3SET上使用CN5进行CAN通信时出现的问题求解

我们正在尝试使用 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 通信时遇到过问题吗?特别是对于引导加载程序?







回帖(1)

h1654155275.5782

2022-12-26 11:35:38
我应该补充一点,恢复到正常操作是通过在选项字节中设置 nBoot0_SW 位而不是清除它来实现的。我在前文中的错误。当我应用这个修改后的值时,它会报告“选项字节已成功更新”,并且重置会导致应用程序而非引导加载程序运行。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分