历史上的今天
今天是:2024年09月01日(星期日)
2018年09月01日 | stm32程序下载方式总结
2018-09-01 来源:eefocus
程序下载是一切的基础,对于搞单片机的人最开始学的就是程序下载,本人在刚开始学习51单片机的时候就只是知道串口下载,以至于什么usb-转串口的芯片的作用也没有去了解,直到现在学习使用了stm32都快两年了,才第一次深入的考虑这些问题,想总结一下,当然这个都是参考网络上的一些牛人,借鉴一下别人的,然后自己整理了一下,为刚入门单片机的新手们简单解释一下,这些完全是本人的理解,不对之处,还请指正。
先总体说一下,stm32的程序下载方式(这里我主要讲解采用jlink,isp(串口在线编程),而用u-link,st-link应该也是可以的,不过本人没有真实的接触过),
大概有一下三种方式:
(1)j-flash下载(需要用到j-link),这个网上的说明很多,参考一下这个网址http://blog.chinaunix.net/uid-20788517-id-263475.html
(2)MDK配置下载(需要用到j-link),同样参考上面的网址。
(3)串口isp下载,这个我要重点的说明一下,说道这个用过51单片机的朋友都是非常熟悉的,我们下载程序的时候,都是借用第三方软件来对可执行程序进行下载的,而32单片机的这个下载方式被我们大家所熟知的是这个j-link下载,但是他的本意是对程序进行在线调试用的,如果单纯的下载程序使用,这个还是很大的,不如串口下载来的经济实惠。(只是现在已经习惯了用j-link的下载方式)。
下面先说说采用isp 下载的常用的两种电路。
这个是第一种下载电路,下面是第二种电路。
大家看到这两张图就会问 ch340和pl2303这两个是干神马用的,现在小编就开始给大家好好解释一下。
给大家讲讲 max232,ch340,pl2303,hl340的区别于联系。
首先大家要知道 ch340,pi2303,是同一类的芯片都是将USB信号转化为单片机的TTL串口信号(为什么要用这个芯片转呢,因为下载的程序最终要和单片机的串口引脚发送接受引脚进行连接,而他们的引脚只能识别TTL电平,没办法,咱们只能顺从他了,否则下载不了程序啊)。而max232芯片的作用是将TTL电平与RS232电平进行相互的转化。再说这个hl340,这是一个USB转串口线的型号,它等价于 ch340芯片+max3232芯片。
所以你就可以看明白了上图中的1是怎么转化的了,下面说一下过程,电脑-->USB线-->ch340-->max3232(以上三个部分相当于我们的一个usb转串口线hl340,输出的是TTL电平)-->串口九针接口-->max3232(再转化为TTL电平,因为单片机的串口只能接受TTL电平)-->单片机。结束了。
看来这个图1好像有点折腾的意思,当然图2就好一点,原来我们使用的51单片机开发版这两种电路都是有的,但是我们使用的都是第二种,连线简单不易出错。下面给大家上个截图吧!我原来在大学的时候用过的51单片机开发版!
当然如果是我们的stm32单片机开发版的话一般是么有线路2的,只有线路1这一种的。
但是这个想要用串口下载的时候,应该对这个stm32的boot 引脚进行一下设置,然后采用用ISP下载的,不细说了,就说常用的方法,把stm32的boot1引脚直接接地,然后用boot0引脚接拨码开关就可以了!开关控制其0-1状态,在flash和stm32出厂时预先装的bootloader程序,拨到bootload启动以后,要按一下复位,用第三方软件获取一下芯片信息,然后再下载,下载完以后,再拨会到flash,复位一下程序就可以执行了。
再说一下用j-link下载的时候,可以采用j-tag接口和swd接口,这个据说swd比较好,这个没有细研究,那就说说接线情况,最少接几根,在实际项目应用的时候,有些场合对板子大小有要求,所以希望下载用的引脚越少越好,下面是j-tag下最小引脚图(参考网址http://www.it165.net/embed/html/201308/2332.html)。
下一个图是swd引脚图
上面两个图就是验证一下,能否下载进去,最终是可以下载进去的。
上一篇:STM32 MDK常见错误与解决
史海拾趣
|
这也只是我写的一段简单的程序,但是硬件方面我就完全不懂了 哪位高手帮下忙啊.............. 用的是汇编语言的说 ORG 8000H AJMP DAMOT ORG 8100H DAMOT: MOV DPTR,#9000H MOV A,#80H MOVX @DPTR,A ...… 查看全部问答> |
|
昨天对一个8位计数器进行了DC综合到modelsim仿真的过程,记录我的操作如下. 首先,要求的文档有:工艺库,工艺库中的内容很多,网上下的不一定全,而且工节库的一至性也无保证.我这里是用的一个ICC示例中用到的工艺库,因为这个示例我跑过,可以用,这样就 ...… 查看全部问答> |
|
Hi,最近用PB5编译了一个模拟器的SDK,安装之后,VS.NET2005 新建智能设备向导对话框,弹出空白警告窗体,导致无法建立 项目程序; 通过 vs.net 2005主菜单“工具|设备仿真器管理器”提示 由于前面的错误,Smart Device Configuration Package ({D ...… 查看全部问答> |
|
用protel软件已经有半年的时间了,在做低速电路板设计时感觉还行,但现在要设计八层的核心板,protel软件已经是力不从心了。改用Cadence了,刚开始学习真有点摸不住头脑了,里面的设置比protel复杂得多。在学习完一个月后,里面遇到的问题实在是太 ...… 查看全部问答> |
|
用周立功的M0板子(LPC1114)烧写时说仿真器不能初始化,报错为 AGDI fatal error :initialize fail,硬件自检不到,是不是芯片坏掉了… 查看全部问答> |
|
【四】【FPGA助学系列—NIOS篇】软核也疯狂1—图解NIOS建立 【FPGA助学系列—NIOS篇】软核也疯狂(1)—图解NIOS建立1. NIOS是什么在与NIOS第一次亲密接触之前,你的底线是什么?不是是懂非懂的问NIOS有多快,NIOS能不能替代单片机,而是要搞清楚到底NIOS是什么。老样子 ...… 查看全部问答> |




