程序下载是一切的基础,对于搞单片机的人最开始学的就是程序下载,本人在刚开始学习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  程序下载 引用地址:stm32程序下载方式总结

上一篇:STM32 MDK常见错误与解决
下一篇:STM32串口发送数据和接收数据方式总结

推荐阅读

近年来,随着我国智慧物流业的快速发展,供应链端的自动化和信息化程度亦在不断提高,自动化立体仓库在很多行业得到了广泛应用,市场空间不断增大。据相关统计,近十年来我国自动化物流仓储系统市场规模保持平均约20%的增速,到2020年我国自动化立体库的市场规模将达到325亿元;而2016年,该项数据仅为149亿元。 自动化立体仓库对仓库的存储量和仓储效...
伴随着人工智能的火热,机器人行业也是风生水起。但在2019年世界机器人大会上,中国机器人产业联盟理事长、新松机器人自动化股份有限公司总裁曲道奎却透露了一个多少让人吃惊的信息:2018年,包括发展最快、规模最大的中国在内,高歌猛进的全球机器人市场突然出现了一个拐点,由过去的高速发展变成了低速增长,甚至是负增长——全球工业机器人市场的增速...
新浪数码讯 9月1日上午消息,根据日本网站Mac Otakara的一份报告称,苹果公司计划在10月中下旬举行一次活动,届时将发布iPhone 12机型,Apple Watch Series 6和传闻已久的AirTags。  这个时间其实并不意外,因为很多媒体或分析师都认为苹果今年的9月发布会将延期,只是再次见到AirTags的消息有点意外,这个产品在上半年已经传闻许久。据...
- 什么是PWMPWM(脉宽调制),是靠改变脉冲宽度来控制输出电压,通过改变周期来控制其输出频率。(脉冲可以理解为是IO口的一次高低电平改变)- PWM是怎么对直流电机进行调速的使用PWM对电极调速时,是靠改变占空比(改变脉冲宽度)来控制输出电压的,电压较小电机转速就会下降;再通过改变周期(脉冲的周期)来控制其输出频率,脉冲频率对电机的转速有着...

史海拾趣

问答坊 | AI 解惑

刚结完贴再请教一个关于KEIL的错误

错误提示:identifier expected,该错误是指向我的.H的头文件的,请问这个是什么意思?该怎么找错在哪里了?在线等,敬请高手指点!先谢谢了!…

查看全部问答∨

wm5+.net c#下为什么jpg图片显示得很小

在wm5 + .net c#下开发,想在picturebox中显示jpg图片,但是运行后,图片显示得非常小,没法看清楚,其中sizemode试了所有的下拉项都不行。 有高手知道为什么吗?多谢。…

查看全部问答∨

分享嵌入式视频基本原理

网上看到觉得不错,故分之 …

查看全部问答∨

关于srand函数的疑问

我用ADS1.2,有如下代码: 包含了 stdio.h stdlib.h time.h  Draw_Circle(120,160,70,0x8000); 画一个大圆 srand( time( NULL ) ); suiji=rand()%4; Draw_Circle(120,160,50,0x8000)画一个小圆   大圆可以画出来,但 ...…

查看全部问答∨

请教怎么生成目标代码???

我的程序已经编好, 电路设计用的是JTAG接口, 本来是用 IAR Embedded Workbench调入程序,然后利用其中的 debugger 把程序写入430中的 Flash,进入IAR C-SPY debugger 调试界面。 现在我想把程序通过编译、连接生成目标代码,然后把目标代 ...…

查看全部问答∨

msp430f55系列的uCOS代码

在msp430f5525开发板上移植成功的UCOS,给大家参考参考!…

查看全部问答∨

用Launchpad做的频率测量,12864串口显示

今天刚做的,用Launchpad做的频率测量,12864串口显示。…

查看全部问答∨

Beaglebone外围电路ee_fpga_cape调试记录(五) - CAN

最近这几天在调试can,终于有了些紧张,上电图吧 看我的测试平台 连接关系 测试相关结果:root@am335x-evm:~# cansend can1 -i 0x10 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88 interface = can1, family = 29, type = 3, proto = 1 root@am3 ...…

查看全部问答∨

关于XDATA类型变量的存储

各位好,变量定义如下: char xdata ziku[] = {...} _at_ 0x0020; unsigned xdata int shuzu[] = {...}; unsigned xdata long ack; 求教:下面那两个未指定固定位置的xdata类型变量在编译的时候是否会和上面被指定固定位置的变量重叠呢?谢谢…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved