打印
[STM32F1]

请教关于STM32下载方式

[复制链接]
1115|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gdszzyq|  楼主 | 2015-5-10 10:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教大家实际实用中采用什么下载方式下载程序?从网上了解到有2种方式,但到底采用哪一种还没有底,万一到时板子做好了,却发现不行就麻烦了,因为假如采用了SD下载方式我就会把串口全部用掉,万一到时又有的下载得有的下不了这块板子就废了
1、串口下载方式,好处就是电路简单,下载操作也简单,但要在板上设置运行开关,下载完成后还要将BOOT0重新设置成0,或者在出厂后别人动了这个拔码开关就运行不了。
2、用JLINK通过SWD端口下载,这种方式是不用设置运行方式了,但用我现在这个JLINK除了要接4根线(Vref、Gnd、TMS、TCK)外,还要另外给板子供电才能下载,不知道别的JLINK能不能提供3.3V电源给MCU。还有这种下载方式感觉不太可靠,如果我用KEIL下载过程序到MCU,然后再用JLINK工具来下载的话就能连接上,但不能下载,又要将它BOOT0设置成1才能下载,下载的都是同一个程序,不明白为什么会这样,但在工厂不可能用KEIL来下载,每次都要打开工程才能下载这很麻烦。
沙发
heelary| | 2015-5-10 10:50 | 只看该作者
STM32 ST-LINK Utility不用keil

使用特权

评论回复
板凳
gdszzyq|  楼主 | 2015-5-10 11:00 | 只看该作者
现在用的就是这个ST-LINK Utility,KEIL能下载过它就不能下载,必须BOOT0设置成1才能下载,之后BOOT0设置成0又可以下载了,而且还要另外给MCU供电。

使用特权

评论回复
地板
mmuuss586| | 2015-5-10 11:45 | 只看该作者
用JLINK和串口就可以了;

对于串口BOOT,你可以自己写程序,就不用开关啥的了;

使用特权

评论回复
5
gdszzyq|  楼主 | 2015-5-10 12:09 | 只看该作者
谢谢超版的指点,你是指通过在自己的代码里加一段ISP程序,就可以直接进入系统程序区来涮写FLASH?能否说详细点,万分感谢。

使用特权

评论回复
6
runningwzf| | 2015-5-10 18:16 | 只看该作者
建议用SWD的模式,没有比这个更可靠的方式了,SWD是串行调试模式,四线就是VCC3.3、GND、SWDIO、SWCLK,现状很多调试器都可以输出3.3V的电压。
调试的硬件建议你用Jlink,不需要打开项目就可以使用他配套的JFlash软件直接把二进制代码烧进去

使用特权

评论回复
7
runningwzf| | 2015-5-10 18:19 | 只看该作者
另外,在Boot引脚上用跳针、复位按钮的都是实验室做法,实际产品上怎么可能允许你那么玩?哪个产线会帮你跳线啊?
所以一般Boot都是接死的,nRst也都是没有什么按钮的电路,要不用最简单的一个0.1uF的电容,要不使用一个看门狗电路

使用特权

评论回复
8
gdszzyq|  楼主 | 2015-5-10 20:45 | 只看该作者
runningwzf 发表于 2015-5-10 18:16
建议用SWD的模式,没有比这个更可靠的方式了,SWD是串行调试模式,四线就是VCC3.3、GND、SWDIO、SWCLK,现 ...

我就是JFlash用SWD模式下载的,我的JLINK没有3.3伏输出,所以要外接电源才能下载,但为什么会出现用KEIL下载完后再用JFlash就不能下载?一定将BOOT0设置为1才能下载成功,所以才觉得JLINK好象不可靠。

使用特权

评论回复
评论
runningwzf 2015-5-10 22:55 回复TA
建议你可以考虑使用JLINK ODB 
runningwzf 2015-5-10 22:55 回复TA
一直在用JLink没发现这个问题,可能是你的工程哪里设置错了。 而且你把BOOT0设置为1本来就错了,正常启动应该是用户模式,BOOT0设置为0 
9
gdszzyq|  楼主 | 2015-5-10 20:47 | 只看该作者
runningwzf 发表于 2015-5-10 18:19
另外,在Boot引脚上用跳针、复位按钮的都是实验室做法,实际产品上怎么可能允许你那么玩?哪个产线会帮你跳 ...

对啊,我也觉得实际应用怎么可能再搞运行模式设置和复位键呢?能不能推荐下哪种JLINK有3.3伏输出的,这样接4根线就可以直接下载了

使用特权

评论回复
10
mcuisp| | 2015-5-11 12:10 | 只看该作者
用串口ISP的时候,Boot0用1K电阻下拉到地(抗干扰要求高的话,再并个103电容),然后烧录工具灌入高电平。就不存在跳线问题了。

swd烧录速度快,但抗干扰能力较低,现场升级,串口ISP还是首选。

使用特权

评论回复
11
gdszzyq|  楼主 | 2015-5-11 12:18 | 只看该作者
mcuisp 发表于 2015-5-11 12:10
用串口ISP的时候,Boot0用1K电阻下拉到地(抗干扰要求高的话,再并个103电容),然后烧录工具灌入高电平。就 ...

那要自己编ISP程序才行,这样子就要再接一根线才行吧,我现在用的就是MCUISP,请问这个程序是你开发的吗

使用特权

评论回复
12
gdszzyq|  楼主 | 2015-5-11 12:22 | 只看该作者
请问是不是利用USB转串口芯片430的RTS脚输出的电平来控制进入BOOTLOADER?

使用特权

评论回复
13
lkl0305| | 2015-5-11 12:37 | 只看该作者
学习了

使用特权

评论回复
14
周董| | 2015-5-11 21:57 | 只看该作者
不是都是调试的硬件用Jlink吗??

使用特权

评论回复
15
gdszzyq|  楼主 | 2015-5-11 22:05 | 只看该作者
我指的是生产中下载程序到板子上用哪种方式好

使用特权

评论回复
16
懒人| | 2015-5-12 17:57 | 只看该作者
up

使用特权

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

本版积分规则

46

主题

322

帖子

3

粉丝