|
打算通过 CAN 接口对单个节点进行固件升级。 总共有 3 个节点组网:节点 1 负责下发新版固件,节点 2 接收固件,节点 3 保持待机。CAN 常规通讯波特率为 500kbit/s。 我的设计方案如下: 节点 1 发送一条指令报文,令总线上所有节点暂停自身业务报文发送; 节点 1 再发送指令,让节点 2 进入 Bootloader 模式;同时让节点 3 执行HAL_CAN_DeInit(&hcan2)反初始化 CAN,再调用MX_CAN2_Init_125()将 CAN 重新初始化为 125kbit/s 波特率; 节点 3 配置 CAN 过滤器,屏蔽所有标准帧 ID 报文。 但实际下发同步指令0x80后,节点 2 跳出了 Bootloader,升级流程中断。 总线存在多个节点时,CAN 固件升级的标准实现思路应该是什么? |
Error[Lp015]: section placement failure内容占用溢出
STM32F7由USB FS读写QSPI flash
STM8L050J3使用SWIM下载方式,无法下载,总是报错
用SDRAM刷ltdc有白线会出现是啥情况
在keil中仿真程序时,结构体变量出现错乱
什么是 GPIO 事件?如何将事件关联到外设
中断服务程序抖动
STM32L562DK探索板——如何启用蓝牙功能?
自己写驱动深入学习与调用Hal库的取舍
关于最近学习C语言回调和钩子函数的想法,以及对HAL库回调函数的困惑
微信公众号
手机版
或者说保证它通讯信息独立既可。