[STM32F1] 开源基于CAN总线的Bootloader/IAP,含上位机及单片机源码

[复制链接]
3501|10
 楼主| beyond696 发表于 2016-12-9 14:30 | 显示全部楼层 |阅读模式
功能简介:
  • 利用CAN总线实现对有CAN总线接口的设备进行固件升级;
  • 升级采用一键升级方式,傻瓜式操作,方便使用;
  • 用户可以自己修改上位机源码和下位机源码,实现固件的加密传输;
  • 目前此项目包含了STM32F1,STM32F2,STM32F4系列单片机示例源码,后面会增加其他单片机源码;
  • 上位机界面程序目前是用Qt(C++)实现,后面会增加C#,Labview版本代码;

使用步骤:
1,找到和你所使用的单片机对应的源码,比如为STM32F103芯片,用keil 5打开bootloader/RVMDK目录下的工程,检查下你的CAN总线引脚配置是否跟我代码里面的一样,若是一样的,则可以直接编译下载,若不一样,则需要更改CAN总线引脚配置部分代码;
2,和bootloader同目录下有个app目录,同样打开app/RVMDK目录下的工程文件,并编译工程,若一切正常的,那么在app/RVMDK/Output目录下应该会生成一个.bin文件,这个就是我们后面用来升级的固件;
3,使用Qt5打开software/CANBootloader-Qt/project目录下的CAN_Bootloader.pro文件,点击“构建”->“运行”即可编译运行此程序(若没有Qt开发环境,可以直接下载我打包好的程序,安装后即可运行,百度网盘下载地址:http://pan.baidu.com/s/1hsFjZMk ,在“软件”->“CANBootloader”目录)。
4,运行CANBootloader上位机软件后,点击“操作”->“扫描节点”,此时软件会弹出节点地址范围设置对话框,设置好扫描的节点返回,点击“确定”之后软件就开始扫描节点,同时将扫描到的节点显示在节点列表里面,选择列表里面的节点,然后再点击界面上的“打开文件”按钮,在弹出的文件浏览对话框中找到第2步编译出来的.bin文件,然后再点击“更新固件”按钮,此时就会开始固件更新,固件更新成功后,节点列表里面的节点固件类型会由原来的“BOOT”变成“APP”,到此固件更新完毕。
5,若当前固件是“APP”的情况下,一样是可以进行固件更新的,只是在更新固件之前程序会有一个固件跳转的操作,具体流程可以参考源码。

软件演示:


源码下载:
https://github.com/usbxyz/CAN-Bootloader
上位机软件安装程序下载:http://pan.baidu.com/s/1qY6gkJa
湛只为无双 发表于 2016-12-9 14:33 来自手机 | 显示全部楼层
感谢分享,程序写得不错。
huangcunxiake 发表于 2016-12-9 15:57 | 显示全部楼层
CAn的资料太少了,非常给力。
mmuuss586 发表于 2016-12-9 19:33 | 显示全部楼层
不错,谢谢分享;
 楼主| beyond696 发表于 2016-12-19 12:36 | 显示全部楼层
协议说明文档,Labview程序源码,C#版本程序源码已经提交到github
忒晟 发表于 2017-9-21 21:32 | 显示全部楼层
正在找这方面的资料非常感谢加敬佩楼主的共享精神
lulunlun 发表于 2017-9-26 21:53 | 显示全部楼层
515192147 发表于 2017-9-27 14:56 | 显示全部楼层
我们的 CAN高层协议 可以 修改芯片的 配置参数
见链接:
https://bbs.21ic.com/icview-1945634-1-1.html
simac 发表于 2018-8-11 11:21 | 显示全部楼层
QQ:1519217763  楼主我想开发基于CAN总线的联网门禁系统 !  希望我们能合作
yongwong9901 发表于 2019-3-22 11:00 | 显示全部楼层
mark!正准备试试
shugui007 发表于 2020-8-19 19:31 | 显示全部楼层
感谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:USB转I2C,SPI,CAN,UART,GPIO,PWM,IR,ADC,DAC合一 http://usb2xxx.taobao.com

55

主题

294

帖子

12

粉丝
快速回复 在线客服 返回列表 返回顶部