一:项目背景
做过一个项目,基于can总线的设备板卡有三块,有一个PC电脑,板卡升级的时候经常要拿jlink到现场升级,很是费劲。得空了,做了一个基于can总线的升级协议,这样就可以远程通过软件进行升级了。
二:一些说明
涉及到项目机密,我将业务代码全部摘了出去,只留下OTA部分。整理后慢慢优化,对自己也是总结,有需要的也可以拿去参考。
三:工具准备:
1:一块基于STM32F103C8T6的电路板(如果手头富裕,可以准备三块)
2:一个PC电脑
3:一个can分析仪:创芯科技can卡 CANalyst-II分析仪
四:架构图
1:整体硬件图示
2:MCU代码架构:
代码相对简单,
底层运用了STM32的固件库,
bsp部分就是一些外设:uart/can/gpio/flash/timer/delay等
应用部分分为两个:bootloader与ota应用
3:PC代码架构:
(1)语言:C#,开发环境vs2015(windows)
五:代码
1:pc代码
https://download.csdn.net/download/yushiqian2012/87369657?spm=1001.2014.3001.5503
2:mcu代码