打印
[开发工具]

ISP测试情况反馈

[复制链接]
23413|42
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mxchip_sh|  楼主 | 2008-8-30 14:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
可能标题写得不对,有点个人的主观。引起大家误会了。

主要是我们目前也没有找到根本的原因。也是希望大家一起讨论,把ISP解决。
来自 2楼
McuPlayer| | 2008-9-1 00:01 | 只看该作者

这个确实有ST的干系

STM32在Reset后,其IO处于Floating状态,此事MAX3232的Input处于Floating状态,意味着Out可能是逻辑0或者逻辑1。

当PC发送0x7F做波特率校准时候,STM32的Loader开始初始化串口,居然会突然来个下降沿,并且会保持一会(具体时间未测,并且不是每次都有),于是PC会接受到一个0x00。
这个0x00的来到,在PC Open串口并发送0x7F之后。

本来PC期望的ACK(0x78),变成了(0x00 0x79)两个字节,这时候ST的ISP Demo会报告失败,但是力源的ISP Utility会聪明的只抓取后面这个0x79。

这也是我为什么第一次给客户安排量产烧录用的力源的工具。
我也开始怀疑力源ISP Utility的作者发现了STM32的这个陷阱,所以才会避开。

后来,我发现ST的Demo只要连接OK,烧录从来没出问题,就用串口监控看数据流,然后就发现了这个0x00。
而且我这里发现,美信的MAX3232出这个0x00机会远远低于国产MAX3232芯片。

所以,上拉个电阻就好了,原因就是解决了MAX3232的TxdIn的floating问题。
ST其实可以在一开始就初始化串口所用的IO,迅速脱离TXD的Floating状态。
PC在Open串口时候,此前的Receive Buffer收到的0x00会自动丢弃。


----------------------------------------------------
另:力源ISP Utility速度慢的原因之一是,每次只传0x18个字节。
ST的Demo是每次0xFC个字节,其实完全可以做到0x100个数据。
Hot徒弟那个Utility速度慢的原因没找到蛛丝马迹,估计是控件上捆绑功能太多,累了吧。

使用特权

评论回复
板凳
pheavecn| | 2008-8-30 14:58 | 只看该作者

关注,是什么情况不一样呢?ISP烧录得不对吗?

如果是所有的ISP都不行,那就等于ST的BootLoader存在大问题。

我怀疑楼主碰到的问题就是堆栈未初始化的问题,呵呵。

不清楚“STM32片内的BOOTLOAD程序没有关闭与ISP无关的管脚”会存在什么问题?
貌似Bootloader只要负责把程序正确烧录到flash里就完事了。去理与ISP无关的管脚干嘛?

另外请教,你们的脱机型编程器是在线烧录,还是用烧录座烧录呀?

使用特权

评论回复
地板
sszxxm| | 2008-8-30 17:18 | 只看该作者

晕了,难道ST就做这种不稳定的东西来忽悠咱?

反正楼主和ST总有一个存在问题,我这个菜鸟不知道该信谁了:(

等待周一香版的评论。

使用特权

评论回复
5
yewuyi| | 2008-8-30 17:59 | 只看该作者

请问一下,JLINK能不能烧写 ?

烧写软件是什么?

ST-LINK能不能烧写?

使用特权

评论回复
6
liuq| | 2008-8-30 18:03 | 只看该作者

是谁动了咱的奶酪

周一再发四张照片,看看是不是适合生产。

使用特权

评论回复
7
香水城| | 2008-8-30 18:37 | 只看该作者

哦,楼主如何得出这个结论?有何直接证据?

原因:STM32片内的BOOTLOAD程序没有关闭与ISP无关的管脚。

使用特权

评论回复
8
grant_jx| | 2008-8-30 19:45 | 只看该作者

我很想知顶楼的是根据什么原因推倒出的结论

是由于STM32片内的BOOTLOAD程序没有关闭与ISP无关的管脚导致ISP的错误?



Re 4楼
JLink支持编程,使用JFlash,去http://www.segger.com下载JLink的最新驱动,安装后里面自带JFlash软件,前提是你必须要有JFlash的Lic。

使用特权

评论回复
9
simon21ic| | 2008-8-30 22:48 | 只看该作者

真的有这个问题?

具体有会怎么样?新项目就是使用ISP来下载STM32(客户要求),看来要换芯片了。

使用特权

评论回复
10
pheavecn| | 2008-8-30 23:29 | 只看该作者

呵呵,这下麻烦大了。我的ISP程序也白费力气了。

stm32f没人敢用了。

用JTAG占用管脚不说,还可能被应用程序锁死。
本来BootLoader是终极的编程手段,现在爆出这么神秘的隐患。

还是要回头去搞LPC2000 ISP下载。。。

使用特权

评论回复
11
香水城| | 2008-8-31 00:23 | 只看该作者

STM32的所有外设管脚复位后默认为高阻输入状态

在Bootloader中根本就没有对ISP之外的管脚初始化和模块,也没有必要初始化没用的管脚和模块,哪里会出来什么“STM32片内的BOOTLOAD程序没有关闭与ISP无关的管脚”?所谓关闭是什么意思?

所以希望楼主出来澄清一下,否则有混淆视听之嫌。

使用特权

评论回复
12
starm| | 2008-8-31 01:33 | 只看该作者

脱机型编程器

脱机型编程器 和  联机的STM32 ISP下载工具 采用不同的ISP方法吗?

个人认为,要么两者都没有问题, 要么都有问题。根本上取决于 bootloader 是否有问题而已。
 
bootloader 不会知道是 脱机型编程器 还是 联机的STM32 ISP下载工具 在对STM32 进行 ISP 吧?

或者 脱机型编程器 采用 JTAG 方式, 而非 ISP 方式烧录?

使用特权

评论回复
13
vat1power| | 2008-8-31 10:39 | 只看该作者

晕了,难道ST就做这种不稳定的东西

晕了,难道ST就做这种不稳定的东西

使用特权

评论回复
14
grant_jx| | 2008-8-31 11:09 | 只看该作者

都在吓猜,怎么顶楼的不出来了?

正如11楼的说的,除非它的编程器使用的是JTAG方式。不过没有看到这方面的资料,顶楼的应该出来解释一下,我在等着呢。


实在想不明白为何Bootloader要去关闭与ISP无关的引脚,既然无关应用就该不会去初始化,没有初始化就不存在关闭啊?

使用特权

评论回复
15
sszxxm| | 2008-8-31 13:19 | 只看该作者

感觉顶楼就是卖那个脱机编程器的托儿

来个莫名其妙的帖子,就是卖编程器的,反而把自己的名声搞臭了。

使用特权

评论回复
16
teltium| | 2008-8-31 19:38 | 只看该作者

哈哈,楼主真幸运 俺咋没这福气呢

从来没遇到过 也许我用的量小吧 用STM32替代LPC2132后一共做了700多套产品

使用特权

评论回复
17
McuPlayer| | 2008-8-31 20:11 | 只看该作者

楼主有“阳谋”啊

是谁动了咱的ISP奶酪,是ST,是刘工,还是楼主,哈哈哈

使用特权

评论回复
18
mxchip_sh|  楼主 | 2008-8-31 22:18 | 只看该作者

讨论这个问题

绝对不影响STM32芯片的使用,关键是把ISP问题解决好。
编程器只是我们销售芯片的配套工具。大家不要理解错了,,,

使用特权

评论回复
19
McuPlayer| | 2008-8-31 22:40 | 只看该作者

于行业分工而言

ST只要把IC内置的ISP Loader做好就足够了。

Protocol都已经Open出来了,大家就各显神通吧。

使用特权

评论回复
20
simon21ic| | 2008-8-31 22:43 | 只看该作者

能否详细请ST说明一下会有什么问题

我做的方案没有留出JTAG接口(因为做IO口用了),目前正好要定板,准备做一批。但下载方式使用ISP方式,如果确实有问题的话,我可以立即通知客户延期,我好换芯片(程序使用C语言,移植很方便)。
虽然对ST的STM32没有什么贡献,但也做过STM32的开源工具,希望大家不要彼此耽误。

使用特权

评论回复
21
mxchip_sh|  楼主 | 2008-8-31 23:05 | 只看该作者

STM32 ISP

补充一点,在ST原装的开发板,STM32-SK上面测试一点问题都没有。
在一些用户板上面就有这个情况,可能还是和自己设计的电路有关。我们正在努力寻找原因,推荐用户的ISP电路和ST官方发布的开发板一致,应试没有问题。

解决方法:在几块板子UART1的Tx引脚上拉一个电阻到3.3V后,ISP连接成功,但没有找到根本原因。
 
 


使用特权

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

本版积分规则

23

主题

241

帖子

0

粉丝