你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

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

[复制链接]
wdluo 发布时间:2016-12-9 14:59
功能简介:
  • 利用CAN总线实现对有CAN总线接口的设备进行固件升级;
  • 升级采用一键升级方式,傻瓜式操作,方便使用;
  • 用户可以自己修改上位机源码和下位机源码,实现固件的加密传输;
  • 目前此项目包含了STM32F1,STM32F2,STM32F4系列单片机示例源码,后面会增加其他单片机源码;
  • 上位机界面程序目前是用Qt(C++)实现,后面会增加C#,Labview版本代码;
    3 _+ U( n2 p  \+ }. z
8 V4 q/ G) g/ ]9 j
使用步骤:8 \) d, @- M; {" ^" N
1,找到和你所使用的单片机对应的源码,比如为STM32F103芯片,用keil 5打开bootloader/RVMDK目录下的工程,检查下你的CAN总线引脚配置是否跟我代码里面的一样,若是一样的,则可以直接编译下载,若不一样,则需要更改CAN总线引脚配置部分代码;( Y+ ]* m1 V3 a
2,和bootloader同目录下有个app目录,同样打开app/RVMDK目录下的工程文件,并编译工程,若一切正常的,那么在app/RVMDK/Output目录下应该会生成一个.bin文件,这个就是我们后面用来升级的固件;
, W5 `/ I5 I# t- n3,使用Qt5打开software/CANBootloader-Qt/project目录下的CAN_Bootloader.pro文件,点击“构建”->“运行”即可编译运行此程序(若没有Qt开发环境,可以直接下载我打包好的程序,安装后即可运行,百度网盘下载地址:https://pan.baidu.com/s/1hsFjZMk ,在“软件”->“CANBootloader”目录)。
, N1 V9 ]) ^$ B. s. c0 ~4,运行CANBootloader上位机软件后,点击“操作”->“扫描节点”,此时软件会弹出节点地址范围设置对话框,设置好扫描的节点返回,点击“确定”之后软件就开始扫描节点,同时将扫描到的节点显示在节点列表里面,选择列表里面的节点,然后再点击界面上的“打开文件”按钮,在弹出的文件浏览对话框中找到第2步编译出来的.bin文件,然后再点击“更新固件”按钮,此时就会开始固件更新,固件更新成功后,节点列表里面的节点固件类型会由原来的“BOOT”变成“APP”,到此固件更新完毕。: }) X4 E5 A9 d$ z% i: @' n) k
5,若当前固件是“APP”的情况下,一样是可以进行固件更新的,只是在更新固件之前程序会有一个固件跳转的操作,具体流程可以参考源码。' J4 D+ @  h3 y; ]4 E9 K: d
  n; ~. p# \: b$ N  \6 T2 t
软件演示:  z  z4 D8 ]: t$ c  N7 w" d& X

( p. u9 V& c; c! n
: |" a3 }# C6 }! \* v% u/ N源码下载:
& H: y' g6 M7 l2 ^' jhttp://github.com/usbxyz/CAN-Bootloader
: C6 m9 O7 p; J: v6 Z$ k0 x上位机软件安装程序下载:https://pan.baidu.com/s/1qY6gkJa
* X# U2 V4 Z7 o
收藏 25 评论28 发布时间:2016-12-9 14:59

举报

28个回答
仙人球W 回答时间:2017-9-11 18:43:54
楼主,调试代码过程中出现如下问题,请指教!不胜感激
1 _- k% ~8 A! j( s8 b1 p) f$ G3 p1、扫描设备出现问题[img=0,1]file:///C:\Users\Administrator\Documents\Tencent Files\540709935\Image\C2C\II87NVW_AZ6K}5@2U2[Q70Q.png[/img][img=0,1]file:///C:\Users\Administrator\Documents\Tencent Files\540709935\Image\C2C\II87NVW_AZ6K}5@2U2[Q70Q.png[/img][img=0,1]file:///C:\Users\Administrator\Documents\Tencent Files\540709935\Image\C2C\II87NVW_AZ6K}5@2U2[Q70Q.png[/img] TIM图片20170911184102.png 8 Z3 q0 \1 j4 M0 k0 ]
是不是DLL要先注册一下,WIN7系统
; \. f& r, G' x4 K0 c8 m0 K
- J" y8 Q! f( M5 v1 t* h! y* P9 Z& I0 Y! }% {- H
file:///C:\Users\Administrator\Documents\Tencent Files\540709935\Image\C2C\ICG~)1H)3_L2H{4F%146EVM.png 1.png ( X, p4 H; h: E! _
# J5 f3 b" D2 R3 c+ n- m1 P
; l/ e% n" {0 c( C0 z: f( n) J- T) q5 v
2.png
, d0 v' l" P  a
/ l2 ~/ w2 G2 C4 a0 o$ |" u2、楼主使用的CAN卡为什么牌子,我使用的是周立功的CAN卡,是否CAN卡有问题。谢谢!!" r  H# u; p& L
wdluo 回答时间:2018-5-31 10:16:44
目前这个程序不支持ZLG的CAN卡哟,提示无法加载USB2XXX.dll是由于没安装我们的驱动程序导致,我把最新的软件发上来,安装后就会自动安装驱动程序。3 N, y  Y: K) X1 D
链接:https://pan.baidu.com/s/1F8CAQN9ctMSGMdgz1PgD7w 密码:u9g3
lyn521 回答时间:2017-9-23 09:25:38
仙人球W 发表于 2017-9-11 18:43
- q0 Z: b" {& L8 \* e. B' {$ I楼主,调试代码过程中出现如下问题,请指教!不胜感激
* D5 [3 R& ?  {' c# A: d( M1、扫描设备出现问题6 R7 ]; e& z, I9 o5 [5 @7 N$ m2 ]
是不是DLL要先注册一下,WIN7系 ...
- f4 l) Y" a: h1 g* \
扫描设备的问题解决了吗?我现在也是用的zlg的USB转CAN,发现连接不上。求指教
leo121_3006061 回答时间:2016-12-9 17:12:46
谢谢分享,正好手头有两块STM32板子,可以跟着学习
disheng4688 回答时间:2016-12-9 17:58:16
谢谢分享
luscu 回答时间:2016-12-9 23:09:12
不明白,PC没有CAN 接口 是怎样通过PC软件将数据发送到MCU?新手 不好意思
luscu 回答时间:2016-12-9 23:10:52
不明白,PC没有CAN接口,是通过什么方式将数据发送给MCU?
春眠不觉晓 回答时间:2016-12-10 19:20:31
买个USB转CAN的卡就可以了
斜阳 回答时间:2016-12-11 10:09:18
谢谢分享
wdluo 回答时间:2016-12-19 12:50:39
协议说明文档,Labview程序源码,C#版本程序源码已经提交到github
wdluo 回答时间:2016-12-19 12:51:26
luscu 发表于 2016-12-9 23:09
$ _$ K; c/ Y/ a! J' j+ g不明白,PC没有CAN 接口 是怎样通过PC软件将数据发送到MCU?新手 不好意思
/ T, g6 ]9 P& T/ B( x' z
可以用USB转CAN适配器来实现
peter001 回答时间:2016-12-19 12:57:54
谢谢分享
为你分心 回答时间:2017-4-20 09:47:47
你这个软件不支持周立功的USB-CAN啊?????
wdluo 回答时间:2017-4-20 09:51:32
为你分心 发表于 2017-4-20 09:47
' {3 E5 c$ f! E$ v5 k% G你这个软件不支持周立功的USB-CAN啊?????

( ~1 r- s1 j/ p7 x不支持,若要支持我可以帮你定制开发,Q,188298598
zbber 回答时间:2017-4-20 11:32:35
协议说明文档,Labview程序源码,C#版本程序源码已经提交到github
12下一页

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版