打印
[应用相关]

有关STM32多芯片编程问题

[复制链接]
1709|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zwei97|  楼主 | 2016-6-28 09:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在实际应用过程中,需要使用20片STM32的MCU,在进行编程下载时,希望使用一个JTAG对折20芯片进行编程,目前有那种方法可以实现这种功能,技术难度怎么样,在电路设计上需要注意什么,希望牛人帮忙指点,万分感谢。
沙发
aozima| | 2016-6-28 10:56 | 只看该作者
买个脱机编程器不就好了,不用留完整JTAG口,只留SWD两根线即可(还要GND,VCC,RST)

使用特权

评论回复
板凳
forrest11| | 2016-6-28 12:29 | 只看该作者
JTAG组成菊花链,就能依次进行编程。

使用特权

评论回复
地板
mcuisp| | 2016-6-28 13:46 | 只看该作者
这样的编程器要定制了。
菊花链用作量产不太合适吧,有故障不好排查

使用特权

评论回复
5
mmuuss586| | 2016-6-28 20:29 | 只看该作者
还不如果一个个烧写

使用特权

评论回复
6
皈依| | 2016-6-28 20:42 | 只看该作者
一次没烧进去。。。挨个查原因可浪费时间了。。。

使用特权

评论回复
7
it_yrj| | 2016-6-28 21:14 | 只看该作者
批量我们都是烧hex文件,硬件预留一个串口和启动模式选择端口即可

使用特权

评论回复
8
mohanwei| | 2016-6-28 22:28 | 只看该作者
我们的做法:
贴片前,先批量烧好Bootloader;
贴片;
通电,用串口、以太网等接口自动升级程序……

正常使用时,也是对联网的所有设备批量升级(广播包,所有节点收到后无条件转发,所以升级1台跟升级几百台用的时间都一样)

使用特权

评论回复
9
zwei97|  楼主 | 2016-6-29 11:27 | 只看该作者
现在方案是有一个主CPU,可以使用jtag进行对该CPU进行编程,然后用该CPU对20个从CPU进行编程,使用I2C总线,进行下载,问题时,这20个从CPU需要单独下载bootload代码,还是芯片内部自带bootloader,同时I2C的地址都是一样的吗?

使用特权

评论回复
10
zwei97|  楼主 | 2016-6-29 11:28 | 只看该作者
@8楼方法挺好的,是每个CPU即使slave接收,也做host发送来写数据,bootloader必须先下载吗,芯片中有固化的代码吗?

使用特权

评论回复
11
294479435| | 2016-6-29 12:19 | 只看该作者
zwei97 发表于 2016-6-29 11:27
现在方案是有一个主CPU,可以使用jtag进行对该CPU进行编程,然后用该CPU对20个从CPU进行编程,使用I2C总线 ...

20片应该要单独下载bootload程序吧

使用特权

评论回复
12
zwei97|  楼主 | 2016-6-30 17:13 | 只看该作者
通过设置boot0和boot1,可以启动内部固化的bootload代码,让后通过i2c、SPI或uart等接口方式进行下载固件。目前i2C应该是可行的,但当多个MCU在连接在同一I2C总线时,其固化在内部的bootload如何设置自身的I2C地址?还是
所有芯片在bootload启动后,i2c的地址为默认值,都是一样的?

使用特权

评论回复
13
Stannis| | 2016-6-30 20:31 | 只看该作者
JTAG组成菊花链

菊花链是什么,怎么做的

使用特权

评论回复
14
Rollo| | 2016-6-30 21:16 | 只看该作者
贴片前,先批量烧好Bootloader

用的什么工具,贴片前怎么做,不同的芯片

使用特权

评论回复
15
zwei97|  楼主 | 2016-7-1 09:12 | 只看该作者
多个ARM器件的调试就需要将硬件连接成“菊花链”的形式,在JATG设计规范中是支持“菊花链”连接的,这样只需要一个JTAG接口,就能够对菊花链上的任意ARM器件进行仿真调试。
如下图 ,系统中菊花链上存在两个ARM器件,一个是ARM7TDMI内核,另一个是Cortex-M3内核。此时,连接JTAG接口TDO的器件为菊花链上的第一个器件,连接JTAG接口TDI的器件为菊花链上的最后一个器件。前一个器件的TDI和后一个器件的TDO连接在一起,菊花链上所有ARM器件的TMS、TCK信号连接在一起,这样一个JTAG菊花链的物理连接就完成了。

使用特权

评论回复
16
liudijiang| | 2017-4-17 14:09 | 只看该作者
zwei97 发表于 2016-7-1 09:12
多个ARM器件的调试就需要将硬件连接成“菊花链”的形式,在JATG设计规范中是支持“菊花链”连接的,这样只 ...

我对这个菊花链挺感兴趣。请问下载程序的时候怎么区分下载到哪个芯片上?要自己做一个上位机吗?有详细点的技术实现吗?

使用特权

评论回复
17
liudijiang| | 2017-4-17 14:11 | 只看该作者
forrest11 发表于 2016-6-28 12:29
JTAG组成菊花链,就能依次进行编程。

我对这个菊花链挺感兴趣。请问下载程序的时候怎么区分下载到哪个芯片上?要自己做一个上位机吗?有详细点的技术实现吗?

使用特权

评论回复
18
forrest11| | 2017-4-17 20:23 | 只看该作者
liudijiang 发表于 2017-4-17 14:11
我对这个菊花链挺感兴趣。请问下载程序的时候怎么区分下载到哪个芯片上?要自己做一个上位机吗?有详细点 ...

不能区分,下载是按照顺序一个一个下载的。

使用特权

评论回复
19
liudijiang| | 2017-4-18 14:59 | 只看该作者
forrest11 发表于 2017-4-17 20:23
不能区分,下载是按照顺序一个一个下载的。

请问你用的下载工具是什么?想研究一下这个技术实现。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

14

帖子

0

粉丝