stm32f407 discovery ISP

来源:互联网 发布:项目中多线程编程案例 编辑:程序博客网 时间:2024/05/16 10:58
今天调了一天的ISP程序,把测试经历记录下来吧。

首先下载了ST官网的flash loader demonstrator.exe 但是总是提示“no response from target...”。网上有很多自己写的程序,但是还是觉得官网的更靠谱。


在网上找了一天,总结下来:

1.boot0是否接到了高电平(3v 可以)
2.连接的目标板的串口是否在reference manual中支持的, 比如stm32f407 支持usart1,usart3, 而stm32f373支持usart1,usart2,我当时就是这里有问题,在stm32f407上连接  usart2了当然下载不了啦
3.如果是开发板需要确认是否下载的usart没有被复用,尤其是被其他芯片的output引脚使用,如stm32f407 discovery 的usart1 就是被U6 的pin1复用,因此通过flash loader下载时必然会出现“目标设备没有应答”问题。
4.运行连接的端口以外的输入端口应为固定电平,不应为floating,因为system loader会同时监视多个端口,当有floating引脚输入信号时,也会作为ISP command,从而时传输混乱。以stm32f407为例:如果指定usart 1为ISP传输端口,则suart3 的输入端口(PB11,PC11)应该为固定电平。否则可能引起无法识别设备。


5.网上说flash loader选择串口是校验方式要选择为“偶校验”,我实验过其他模式也可以,这个可能和开发机的串口支持有关系吧。并且如果第四点有floating引脚,强烈建议有设置为有检验的方式。我测试过,当有floating引脚,并且设置为“无校验”,会经常出现无法识别设备或无法设别command.
6.reset设备

总结起来就是,看手册,如果有问题一定要从硬件查起。我就是通过串口发送固定数据,发现发送的数据不正确的。


0 0
原创粉丝点击