历史上的今天
今天是:2024年08月22日(星期四)
2018年08月22日 | stm32j_link与串口下载几个问题
2018-08-22 来源:eefocus
1.zet6转c8t6几个改变的地方:
(1)Device类型修改;
(2)C/C++下的Define中的STM32F10X_HD修改为STM32F10X_MD;
(3)Flash Download下要将芯片类型修改为Med_density 128k这种;
(4)工程启动文件startup里面换成startup_stm32f10x_md.s。
2.自动下载电路与j_link的冲突:
我的ISP自动下载电路为:
我用这个自动下载电路将左上角四个跳线帽都接上之后,用j_link下载程序出现如下错误:**JLink Warning: Could not set S_RESET_ST;然后总是出问题,后来再网上找到答案“”“把CPU的复位信号不要连到其它专用复位芯片上就OK了。”将我的电路图的左上角3跳线帽摘掉果然就好了。
接着我又试了一下自动下载电路,这下又将3跳线帽加上,结果完全可以实现自动下载。DTR与RTS的接法可以使用,但是DTR直接接了RESET,这个导致j_link下载失败,以后可以考虑下面我找的一个比较好的自动下载电路:
该电路用三极管将DTR管脚与RSET分开,正常情况下三极管不导通,因此使用j_link下载时不会受影响。
3.STM32的几种启动模式
BOOT0接GND,BOOT1接GND.那就是正常的启动模式,从flash加载代码.
而BOOT0接V3.3,BOOT1接GND.则是ISP模式,也就是串口更新代码.
其次,你要了解STM32 ISP下载代码的过程.
首先BOOT0接V3.3,然后复位STM32.STM32就会加载ISP代码(固化存储在内部),从而进入ISP模式.此时便可以通过串口下载程序了.
最后再来看看一键下载是怎么实现的呢?
从原理图可知:DB9串口的RTS控制BOOT0,DTR控制RST.
我们要达到下载的目的,就必须先让RTS拉高BOOT0(设置BOOT0为1),然后再让DTR控制RST为低(STM32为低电平复位).然后再释放RTS为高(停止复位),然后再开始串口下载代码(此时BOOT0可以为高,也可以为低).
所以我们看到mcuisp连接过程是:
DTR电平置高(3-12V),复位(DTR接了RST)
RTS置低(-3--12V),选择进入BootLoader(RTS接了BOOT0)
...延时100毫秒
RTS电平变高(+3-+12V)释放复位(释放复位,但是此时BOOT0为高,所以进入ISP模式)
开始连接...4, 接收到:1F (连接成功)
在串口COM0连接成功@230400bps,耗时437毫秒
DTR维持高
【需要注意的是 DTR_N是DTR的反相电平 RTS_N是RTS的反相电平】
下一篇:51单片机复位电路详解
史海拾趣
|
4 PDM的功能 目前,各种商品化的PDM软件产品大同小异,大体具有以下主要功能(如图3所示) 。 600)this.width=600\" border=0> 4-1 电子仓库和文档管理 对于大多数企业来 ...… 查看全部问答> |
|
一、 关于手机RF干扰问题的解决 针对GSM手机的RF干扰问题,刘俊勇指出,GSM 手机是TDMA工作方式,RF收发并不是同时进行的,减少RF干扰的基本原则是一定要加强匹配和隔离。 在设计时要考虑到发射机处于大功率发射状态,与接收机相比更容易造成干扰 ...… 查看全部问答> |
|
有调通过marvell wifi 8686 sdio接口驱动来讨论下??? 正在调sdio接口的wifi 8686驱动,sdio确认好的,读写寄存器,加载固件都没问题。有以下问题: 1. 我是直接把驱动放在bsp中编的,wince启动后自动加载wifi驱动, 并且这个wifi驱动会自行搜索热点。我的理解是wifi驱动加载固件启动完wifi芯片注册网络 ...… 查看全部问答> |
|
如何在MDK+ULINK环境下对2400的NAND FLASH 烧写?? FL2440开发板的 NAND FLASH 是挂在 NAND FLASH CONTROLLER 下面的,当做外设来用.所以直接寻址是不行的.问题来了,FL2440除了RAM就只有这块K9F1G08U0c了.那要用ulink把文件写入flash该怎 ...… 查看全部问答> |
|
用电位器输出一个电压值,从我watch窗口看到的ADCresult值都在变化,变化比较大。如0xabc0,b为都会能差4,帮忙分析一下可能那里设置不对。谢谢!… 查看全部问答> |




