热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

stm32程序下载方式总结

程序下载是一切的基础,对于搞单片机的人最开始学的就是程序下载,本人在刚开始学习51单片机的时候就只是知道串口下载,以至于什么usb-转串口的芯片的作用也没有去了解,直到现在学习使用了stm32都

程序下载是一切的基础,对于搞单片机的人最开始学的就是程序下载,本人在刚开始学习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引脚图


上面两个图就是验证一下,能否下载进去,最终是可以下载进去的。


推荐阅读
  • Python学习:环境配置与安装指南
    Python作为一种跨平台的编程语言,适用于Windows、Linux和macOS等多种操作系统。为了确保本地已成功安装Python,用户可以通过终端或命令行界面输入`python`或`python3`命令进行验证。此外,建议使用虚拟环境管理工具如`venv`或`conda`,以便更好地隔离不同项目依赖,提高开发效率。 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • 本文深入探讨了IO复用技术的原理与实现,重点分析了其在解决C10K问题中的关键作用。IO复用技术允许单个进程同时管理多个IO对象,如文件、套接字和管道等,通过系统调用如`select`、`poll`和`epoll`,高效地处理大量并发连接。文章详细介绍了这些技术的工作机制,并结合实际案例,展示了它们在高并发场景下的应用效果。 ... [详细]
  • C++ 开发实战:实用技巧与经验分享
    C++ 开发实战:实用技巧与经验分享 ... [详细]
  • CSS3 @font-face 字体应用技术解析与实践
    在Web前端开发中,HTML教程和CSS3的结合使得网页设计更加多样化。长期以来,Web设计师受限于“web-safe”字体的选择。然而,CSS3中的`@font-face`规则允许从服务器端加载自定义字体,极大地丰富了网页的视觉效果。通过这一技术,设计师可以自由选择和使用各种字体,提升用户体验和页面美观度。本文将深入解析`@font-face`的实现原理,并提供实际应用案例,帮助开发者更好地掌握这一强大工具。 ... [详细]
  • Windows环境下RabbitMQ安装详尽指南
    Windows环境下RabbitMQ安装详尽指南 ... [详细]
  • FastDFS Nginx 扩展模块的源代码解析与技术剖析
    FastDFS Nginx 扩展模块的源代码解析与技术剖析 ... [详细]
  • 本文详细探讨了Zebra路由软件中的线程机制及其实际应用。通过对Zebra线程模型的深入分析,揭示了其在高效处理网络路由任务中的关键作用。文章还介绍了线程同步与通信机制,以及如何通过优化线程管理提升系统性能。此外,结合具体应用场景,展示了Zebra线程机制在复杂网络环境下的优势和灵活性。 ... [详细]
  • 本文探讨了如何在C#中实现USB条形码扫描仪的数据读取,并自动过滤掉键盘输入,即使不知道设备的供应商ID(VID)和产品ID(PID)。通过详细的技术指导和代码示例,展示了如何高效地处理条形码数据,确保系统能够准确识别并忽略来自键盘的干扰信号。该方法适用于多种USB条形码扫描仪,无需额外配置设备信息。 ... [详细]
  • 如何创建和使用快捷链接:掌握打开链接的快捷方式技巧 ... [详细]
  • Java能否直接通过HTTP将字节流绕过HEAP写入SD卡? ... [详细]
  • 如何使用Python去除字符串中的非中文字符[Python编程技巧]
    在 Python 中,可以通过正则表达式来实现去除字符串中的非中文字符。具体方法是使用 `re` 模块中的 `re.sub()` 函数,配合正则表达式 `[^u4e00-u9fa5]` 来匹配并替换掉所有非中文字符,从而保留字符串中的中文部分。这种方法简洁高效,适用于多种文本处理场景。 ... [详细]
  • 本文详细介绍了使用响应文件在静默模式下安装和配置Oracle 11g的方法。硬件要求包括:内存至少1GB,具体可通过命令`grep -i memtotal /proc/meminfo`进行检查。此外,还提供了详细的步骤和注意事项,确保安装过程顺利进行。 ... [详细]
  • 全面解析:Hadoop技术栈中的Linux操作系统概览
    全面解析:Hadoop技术栈中的Linux操作系统概览 ... [详细]
  • 程序员的“语言奇缘”续篇:计算中心管理员小C的非正式编程之旅
    (以下故事纯属虚构,旨在为编程爱好者提供一丝轻松时光,如有雷同,纯属巧合,敬请读者勿过度联想)在操作系统课程中,我们认识了计算中心的管理员小C。小C虽然并非科班出身,却凭借对编程的浓厚兴趣和不懈努力,逐渐在技术领域崭露头角。她不仅熟练掌握了多种编程语言,还经常利用业余时间开发一些实用的小工具,帮助同事提高工作效率,成为了团队中的技术明星。小C的故事激励着每一个热爱编程的人,证明了技术之路不问出处,关键在于不断学习与实践。 ... [详细]
author-avatar
mobiledu2502900255
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有