OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子全套STM32开发资料,上千讲STM32视频教程,RT1052教程免费下载啦...
查看: 14920|回复: 42

基于CAN总线的Bootloader,包括上位机和单片机端源码下载

  [复制链接]

  离线 

27

主题

191

帖子

8

精华

金牌会员

Rank: 6Rank: 6

积分
1776
金钱
1776
注册时间
2012-8-23
在线时间
53 小时
发表于 2014-1-20 15:48:04 | 显示全部楼层 |阅读模式
USB-CAN Bootloader.jpg


基于CAN总线的Bootloader,功能如下:
1、自动检测连接到CAN总线上的节点,并自动为每个节点分配一个唯一的地址;
2、自动检测节点是否在线,若离线则从列表中删除;
3、可以升级更新指定节点的程序,同时可以发送命令控制程序的执行;
PC端程序所需硬件为纬图的Ginkgo USB-CAN适配器。
PC端程序为Qt环境下的C++程序,源码下载:
CAN Bootloader.rar (440.04 KB, 下载次数: 0)
单片机端程序为基于STM32F103的程序,源码下载:
can_bootloader.rar (647.22 KB, 下载次数: 0)
数据传输为自定义协议,协议文档下载:
CAN Bootloader协议.rar (5.14 KB, 下载次数: 0)
可执行程序包:
CAN Bootloader.rar (4.12 MB, 下载次数: 0)
回复

使用道具 举报

  离线 

4

主题

31

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2013-7-7
在线时间
0 小时
发表于 2014-1-20 16:06:01 | 显示全部楼层

好东西

回复 支持 反对

使用道具 举报

  离线 

34

主题

1198

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1529
金钱
1529
注册时间
2012-6-15
在线时间
10 小时
发表于 2014-1-20 16:27:28 | 显示全部楼层
顶!!!
回复 支持 反对

使用道具 举报

  离线 

0

主题

2

帖子

0

精华

新手入门

积分
22
金钱
22
注册时间
2014-1-20
在线时间
0 小时
发表于 2014-1-20 16:34:47 | 显示全部楼层
回复【楼主位】beyond696:
---------------------------------
谢谢分享。
回复 支持 反对

使用道具 举报

  离线 

2

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
72
金钱
72
注册时间
2014-1-20
在线时间
8 小时
发表于 2014-1-20 16:35:58 | 显示全部楼层
用CAN总线来升级程序。那就是所有的设备都挂在CAN总线上面。这么牛X!顶!
回复 支持 反对

使用道具 举报

  离线 

0

主题

2

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2013-5-8
在线时间
3 小时
发表于 2014-1-20 16:37:26 | 显示全部楼层
顶顶顶!
回复 支持 反对

使用道具 举报

  离线 

3

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2012-3-2
在线时间
6 小时
发表于 2014-1-20 16:52:48 | 显示全部楼层
这个对开发项目很有用,
回复 支持 反对

使用道具 举报

  离线 

27

主题

191

帖子

8

精华

金牌会员

Rank: 6Rank: 6

积分
1776
金钱
1776
注册时间
2012-8-23
在线时间
53 小时
 楼主| 发表于 2014-1-20 17:06:34 | 显示全部楼层
程序可能有些地方不够完善,如果用在自己产品上面还可能需要一些修改,这个仅仅只是实现最基本的功能
回复 支持 反对

使用道具 举报

  离线 

2

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2013-4-13
在线时间
4 小时
发表于 2014-1-20 18:50:18 | 显示全部楼层
从原子那板子没白买
回复 支持 反对

使用道具 举报

  离线 

0

主题

1

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2013-1-22
在线时间
1 小时
发表于 2014-1-20 21:30:36 | 显示全部楼层
相当不错,前段时间正研究这个呢,多谢分享,辛苦了。
回复 支持 反对

使用道具 举报

  离线 

511

主题

9万

帖子

31

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
133718
金钱
133718
注册时间
2010-12-1
在线时间
1278 小时
发表于 2014-1-20 22:05:49 | 显示全部楼层
谢谢分享,cool
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

  离线 

27

主题

191

帖子

8

精华

金牌会员

Rank: 6Rank: 6

积分
1776
金钱
1776
注册时间
2012-8-23
在线时间
53 小时
 楼主| 发表于 2014-1-21 08:58:30 | 显示全部楼层
回复 支持 反对

使用道具 举报

  离线 

27

主题

191

帖子

8

精华

金牌会员

Rank: 6Rank: 6

积分
1776
金钱
1776
注册时间
2012-8-23
在线时间
53 小时
 楼主| 发表于 2014-1-21 10:05:21 | 显示全部楼层
如果没安装USB-CAN的驱动可能会提示找不到 libusb0.rar文件,我把这个文件上传下来,下载下来解压到程序目录即可。

libusb0.rar

32.29 KB, 下载次数: 1466

回复 支持 反对

使用道具 举报

  离线 

0

主题

2

帖子

0

精华

新手入门

积分
22
金钱
22
注册时间
2014-1-21
在线时间
0 小时
发表于 2014-1-21 10:38:06 | 显示全部楼层
多谢分享!
回复 支持 反对

使用道具 举报

  离线 

0

主题

2

帖子

0

精华

新手入门

积分
22
金钱
22
注册时间
2014-1-21
在线时间
0 小时
发表于 2014-1-21 10:56:13 | 显示全部楼层
还有些DLL没有打包进去,需要完善。可以自己从安装好的QT环境下找到。
回复 支持 反对

使用道具 举报

  离线 

0

主题

1

帖子

0

精华

新手入门

积分
21
金钱
21
注册时间
2014-1-21
在线时间
0 小时
发表于 2014-1-21 16:15:19 | 显示全部楼层
牛气,这想法绝了,我顶。
回复 支持 反对

使用道具 举报

  离线 

7

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2012-6-25
在线时间
24 小时
发表于 2014-2-8 10:16:34 | 显示全部楼层
不错,好,顶顶
回复 支持 反对

使用道具 举报

  离线 

2

主题

20

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2014-2-26
在线时间
0 小时
发表于 2014-3-3 11:47:18 | 显示全部楼层
不知道能不能做一个串口更新程序的,但是对stm32内部的flash分区不是很了解,希望指导
回复 支持 反对

使用道具 举报

  离线 

27

主题

191

帖子

8

精华

金牌会员

Rank: 6Rank: 6

积分
1776
金钱
1776
注册时间
2012-8-23
在线时间
53 小时
 楼主| 发表于 2014-3-4 12:05:25 | 显示全部楼层
回复【18楼】豪放的笔杆:
---------------------------------
串口更新程序的很多,ST官方就给有个程序
回复 支持 反对

使用道具 举报

  离线 

44

主题

318

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
294
金钱
294
注册时间
2013-12-12
在线时间
46 小时
发表于 2014-5-3 20:39:48 | 显示全部楼层
兄弟,对于CAN我还只是停留在一个初学者的阶段,想问一下,你的这个CAN总线的Bootloader对于初学者有什么作用?
呵呵~菜鸟一个,还请大师讲的细致点!尤其是第三点!好神奇!
回复 支持 反对

使用道具 举报

头像被屏蔽

  离线 

275

主题

327

帖子

0

精华

禁止访问

积分
1065
金钱
1065
注册时间
2011-7-7
在线时间
34 小时
发表于 2014-5-4 07:22:21 | 显示全部楼层
好,牛呀
回复 支持 反对

使用道具 举报

  离线 

27

主题

191

帖子

8

精华

金牌会员

Rank: 6Rank: 6

积分
1776
金钱
1776
注册时间
2012-8-23
在线时间
53 小时
 楼主| 发表于 2014-5-4 11:34:04 | 显示全部楼层
回复【20楼】小Y:
---------------------------------
利用CAN总线升级更新固件...
回复 支持 反对

使用道具 举报

  离线 

15

主题

104

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
222
金钱
222
注册时间
2013-7-12
在线时间
13 小时
发表于 2014-7-24 11:07:07 | 显示全部楼层
敢问楼主,按你的做法 岂不是要每个板子一个程序?有什么好办法让代码统一吗?别说加一个薄码开关?
回复 支持 反对

使用道具 举报

  离线 

0

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
86
金钱
86
注册时间
2014-4-29
在线时间
13 小时
发表于 2014-8-1 10:56:29 | 显示全部楼层
谢谢楼主分享!!!
回复 支持 反对

使用道具 举报

  离线 

27

主题

191

帖子

8

精华

金牌会员

Rank: 6Rank: 6

积分
1776
金钱
1776
注册时间
2012-8-23
在线时间
53 小时
 楼主| 发表于 2014-8-8 11:11:40 | 显示全部楼层
回复【23楼】zxcmcu:
---------------------------------
没明白你说的什么意思,没程序你怎么实现在线升级啊?肯定要提前烧好Bootloader程序啊
回复 支持 反对

使用道具 举报

  离线 

15

主题

104

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
222
金钱
222
注册时间
2013-7-12
在线时间
13 小时
发表于 2014-8-8 14:27:18 | 显示全部楼层
回复【25楼】beyond696:
---------------------------------
我意思是:你不是在boot中需要事先设置一个唯一的MAC,这样的话岂不是一个板子一个MAC,也即一个板子一个程序吗?
回复 支持 反对

使用道具 举报

  离线 

27

主题

191

帖子

8

精华

金牌会员

Rank: 6Rank: 6

积分
1776
金钱
1776
注册时间
2012-8-23
在线时间
53 小时
 楼主| 发表于 2014-8-11 11:56:53 | 显示全部楼层
回复【26楼】zxcmcu:
---------------------------------
如果你用STM32,你可以用芯片的ID来做这个MAC,如果你用的芯片没这个功能,可以在烧程序的时候在指定的Flash地址区烧写自定义的序号即可
回复 支持 反对

使用道具 举报

  离线 

1

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
136
金钱
136
注册时间
2014-11-11
在线时间
19 小时
发表于 2015-4-15 11:18:33 | 显示全部楼层
多好的东西哟
回复 支持 反对

使用道具 举报

  离线 

0

主题

1

帖子

0

精华

新手入门

积分
21
金钱
21
注册时间
2015-7-3
在线时间
0 小时
发表于 2015-7-3 20:45:14 | 显示全部楼层
您好 我是个初学者 这个很高大上的样子,请问怎么运行呀/羞愧
回复 支持 反对

使用道具 举报

  离线 

21

主题

125

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
259
金钱
259
注册时间
2013-1-10
在线时间
10 小时
发表于 2015-9-10 17:39:17 | 显示全部楼层
感谢分享 正在学习
个人博客www.xiaovdiy.cn
https://shop100764513.taobao.com/
回复 支持 反对

使用道具 举报

  离线 

0

主题

2

帖子

0

精华

新手入门

积分
22
金钱
22
注册时间
2015-11-7
在线时间
0 小时
发表于 2015-11-7 09:13:14 | 显示全部楼层
LZ牛叉,准备学习
回复 支持 反对

使用道具 举报

  离线 

28

主题

190

帖子

0

精华

高级会员

Rank: 4

积分
597
金钱
597
注册时间
2012-8-23
在线时间
33 小时
发表于 2016-3-19 22:51:17 | 显示全部楼层
楼主强悍,学习了
一介草民……
回复 支持 反对

使用道具 举报

  离线 

2

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2013-1-20
在线时间
50 小时
发表于 2016-7-12 16:26:27 | 显示全部楼层
楼主问一下,can一次只能发送8个字节的数据,那你写入flash是每收到8个字节都写还是说收到后先存到一个buf中然后等到一定的数量再写进去?
回复 支持 反对

使用道具 举报

  离线 

27

主题

191

帖子

8

精华

金牌会员

Rank: 6Rank: 6

积分
1776
金钱
1776
注册时间
2012-8-23
在线时间
53 小时
 楼主| 发表于 2016-7-13 13:28:59 | 显示全部楼层
gesang 发表于 2016-7-12 16:26
楼主问一下,can一次只能发送8个字节的数据,那你写入flash是每收到8个字节都写还是说收到后先存到一个buf ...

看代码,时间太久,不记得了,好像是先传输一部分数据之后再写入Flash
回复 支持 反对

使用道具 举报

  离线 

18

主题

239

帖子

3

精华

金牌会员

Rank: 6Rank: 6

积分
1823
金钱
1823
注册时间
2014-8-5
在线时间
211 小时
发表于 2016-7-13 21:01:40 | 显示全部楼层
谢谢楼主分享,太牛逼了 。。。。。
回复 支持 反对

使用道具 举报

  离线 

14

主题

85

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
225
金钱
225
注册时间
2012-10-11
在线时间
65 小时
发表于 2016-7-15 19:30:15 | 显示全部楼层
标记,CAN总线的bootloader
回复 支持 反对

使用道具 举报

  离线 

1

主题

50

帖子

0

精华

高级会员

Rank: 4

积分
935
金钱
935
注册时间
2015-11-30
在线时间
168 小时
发表于 2016-10-9 15:21:27 | 显示全部楼层
好东西      学习了
回复 支持 反对

使用道具 举报

  离线 

1

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2016-3-8
在线时间
34 小时
发表于 2016-11-18 09:05:15 | 显示全部楼层
果断收藏,说不定哪天用上了
回复 支持 反对

使用道具 举报

  离线 

8

主题

45

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2016-10-25
在线时间
14 小时
发表于 2016-11-18 13:16:57 | 显示全部楼层
标记一下
回复 支持 反对

使用道具 举报

  离线 

16

主题

153

帖子

0

精华

高级会员

Rank: 4

积分
589
金钱
589
注册时间
2014-12-4
在线时间
188 小时
发表于 2016-11-24 11:06:51 | 显示全部楼层
好东西,标记下
回复 支持 反对

使用道具 举报

  离线 

0

主题

7

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2016-12-22
在线时间
4 小时
发表于 2016-12-25 21:42:53 | 显示全部楼层
怎么下载不了啊!
回复 支持 反对

使用道具 举报

  离线 

27

主题

191

帖子

8

精华

金牌会员

Rank: 6Rank: 6

积分
1776
金钱
1776
注册时间
2012-8-23
在线时间
53 小时
 楼主| 发表于 2016-12-31 22:33:00 | 显示全部楼层
回复 支持 反对

使用道具 举报

  离线 

5

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
90
金钱
90
注册时间
2016-3-30
在线时间
9 小时
发表于 2018-2-9 14:43:43 | 显示全部楼层
Mark!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则




关闭

报名原子哥新品发布会&粉丝见面会上一条 /1 下一条

正点原子公众号

QQ|联系我们|手机版|官方淘宝店|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2018-10-18 08:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表
/* */