精华内容
下载资源
问答
  • stm32 串口下载(ISP下载

    千次阅读 2019-12-31 12:53:43
    ISP下载 一直使用jlink进行下载,突然使用串口进行下载,折腾了好久都没弄出来。 干脆开一篇文章,方便以后再用到。 原理 STM32直接通过两个引脚Boot0Boot1设置启动模式 下载步骤 DTR低电平复位,RTS高电平进...

    ISP下载

    一直使用jlink进行下载,突然使用串口进行下载,折腾了好久都没弄出来。
    干脆开一篇文章,方便以后再用到。

    原理

    STM32直接通过两个引脚Boot0和Boot1设置启动模式
    在这里插入图片描述

    下载步骤

    1. DTR低电平复位,RTS高电平进bootloader(第四个选项)
    2. Boot0接3.3,Boot1接GND
    3. 按复位按键,实现下载

    程序运行

    1. Boot0接GND,Boot1接任意,按一次复位。

    PCB

    STM32F103C8T6pcb在这里插入图片描述
    需要注意,下面的是boot0,上面的是boot1。

    总结

    简单的画一张表

    功能boot0boot1
    下载10
    运行0X

    注意

    若勾选了“编程后执行”,下程序下载好后自行执行。但需注意,下一次使用的时候要将boot切换到运行模式。
    在这里插入图片描述

    展开全文
  • ISP串口下载

    2015-06-06 15:06:07
    STM32位单片机学习人员,下载调试单片机接法。串口通讯。
  • stm32 isp串口下载工具

    2019-03-14 15:48:14
    stm32 isp串口下载工具
  • USB 转串口模块在开发板上是一个独立的模块,可以通过调帽与其他串口连接,USART1/2/3/4/5,只有USART1才具有串口下载的功能 一、硬件连接: 1、BOOT0BOOT1接地,RXD/TXD接PA9/PA10,开发板默认的调帽,不需要动 2...

    USB 转串口模块在开发板上是一个独立的模块,可以通过调帽与其他串口连接,USART1/2/3/4/5,只有USART1才具有串口下载的功能

    一、硬件连接:

    1、BOOT0BOOT1接地,RXD/TXDPA9/PA10,开发板默认的调帽,不需要动

    2、用USB线连接电脑和开发板的USB转串口接口

    3、打开电源开关,给开发板供电

    二、软件下载与使用:

    1、使用FLYMCU软件:

    可前往mcuisp官网下载:点击进入
    在这里插入图片描述

    2、下载程序需要用到.hex文件,由Keil MDK编译生成,需要设置,打开Keil MDK,点击魔术棒按钮Options for Target,在Output栏目中勾选Create HEX File
    在这里插入图片描述
    这样,编译Keil MDK工程时会自动生成.hex文件

    经过【新建 Keil MDK 5 工程】的设置,生成的.hex文件存放在OBJ文件夹下

    3、使用方法:
    在这里插入图片描述

    1、找到相应串口,串口波特率通过bps设置,对于STM32F103,可以设置为最高:460800,而如果是STM32F4系列,则建议最高设置为:76800即可

    2、选择Keil MDK生成的.hex文件

    3、勾选编程前重装文件选项之后,flymcu会在每次编程之前,将.hex文件重新装载一遍,这对于代码调试的时候是比较有用的

    4、勾选校验编程后执行,当选中编程后执行选项之后,可以在下载完程序之后自动运行代码,否则,还需要按复位键,才能开始运行刚刚下载的代码

    5、选择DTR的低电平复位,RTS高电平进BootLoaderflymcu会通过DTRRTS信号来控制板载的一键下载功能电路,以实现一键下载功能(在BOOT0GND的条件下)

    6、点击开始编程

    4、下载完成:
    在这里插入图片描述

    展开全文
  • 在学习单片机进行单片机产品开发过程中,我们通常使用仿真器作为调试程序的有力工具。但仿真器价格昂贵,对于初学者一般个人... 具有ISP 下载串口通讯功能的下载线的电路如图1 所示。该下载线成本低廉,元件易
  • 本文详细介绍了串口、51单片机的ISP下载等基础知识,已经学过单片机的也可以看看,加强一下对这方面的了解。 串口 串行接口简称串口,也称串行通信接口,是采用串行通信方式的扩展接口。 我们比较熟悉的USB接口,...
  • 下载器是我所设计的,可以使用USB连接电脑,然后,通过电脑将程序下载到STM32上面,同时,还可以把它当成一个USB转串口、USB转TTL使用,既方便又实用!非常不错!如果有不明白的地方可以我讨论。
  • 在AVR单片机的学习过程中,ISP编辑下载器是一个必不可少的调试工具。在Atmel官方网站也分布并开源了简易ISP下载器的原理图与BOM。
  • stm32 ISP串口下载

    2021-09-13 16:36:51
    1 ISP概念 ISP(In-System Programming)在系统可编程,指电路板上的...其主要任务是通过一种可用的串行外设( USART、 CAN、USB、 I2C 等)将应用程序下载到内部 Flash 中。每种串行接口都定义了相应的通信协议...

    1 ISP概念

            ISP(In-System Programming) 在系统可编程,指电路板上的空白器件可以编程写入最终用户代码, 而不需要从电路板上取下器件,已经编程的器件也可以用 ISP 方式擦除或再编程。ISP 的时候需要用到(bootloader)自举程序,自举程序存储在 STM32 器件的内部自举ROM 存储器(系统存储器)中。其主要任务是通过一种可用的串行外设( USART、 CAN、USB、 I2C 等)将应用程序下载到内部 Flash 中。每种串行接口都定义了相应的通信协议,其中包含兼容的命令集和序列。ISP是一种通用的程序下载方式,AVR单片机都有ISP下载接口。可以通过ISP下载线或者STK500百度把程序下载到单片机中。 ISP下载线成本低廉,制作简单,一个并口ISP下载线只需几十元即可得到。开发工具成本低也是AVR单片机的优势之一。

            ISP、IAP的区别与联系:

            ISP是指可以在板级上进行编程,而不用把芯片拆下来放到烧写器中,即不脱离系统,所以称作“在系统编程”,它是对整个程序的擦除和写入,通过单片机专用的串行编程接口对单片机内部的Flash存储器进行编程。即使芯片焊接在电路板上,只要留出和上位机接口的串行口就能进行烧写。IAP同样是在板级上进行编程,MCU获取新代码并对程序的某部分重新编程,即可用程序来改变程序,修改程序的一部分达到升级、消除bug的目的,而不影响系统的其它部分,烧写过程中程序可以继续运行,另外接口程序是自已写的,这样可以进行远程升级而不影响应用。IAP的实现更加灵活,通常可利用单片机的串行口接到计算机的RS232口,通过专门设计的固件程序来编程内部存储器。

            从基本功能来看,IAP程序与ISP程序所做的事情好像是一样的,都是引导加载程序,所以网上有很多文章把IAP程序与ISP程序都称为BootLoader程序,要注意区分。但是,ISP与IAP还是有点区别的。
            STM32内部Flash分为两部分,System Flash和User Flash。上电之后执行哪个Flash里的程序有boot脚来控制。System Flash内存放的是ST官方编写的自举程序(ISP程序),我们是没有办法改变的。User Flash是我们可以使用的Flash空间,我们编写的代码就是要烧录到User Flash中。我们可以把User Flash分为两部分,前面一部分空间用于烧写我们编写的IAP程序,后面一部分用于烧写我们编写的应用程序。其中,IAP程序用于更新我们的应用程序。ISP程序用于把我们编写的程序更新到0x08000000地址上,如果我们的产品中的程序有IAP程序+应用程序,则此时0x08000000地址存放的程序就是IAP程序。ISP程序、IAP程序、应用程序的关系示意图如下:

             如果我们的产品中的程序只有应用程序,则此时0x08000000地址存放的程序就是应用程序。ISP程序、应用程序的关系示意图如下:

    2 BOOT配置

    主闪存存储器 (Main Flash memory,X0)STM32内置的Flash,一般我们使用JTAG或者SWD模式下载程序时,就是下载到这个里面,重启后也直接从这启动程序。主闪存存储器被映射到启动空间(0x0000 0000),但仍然能够在它原有的地址(0x0800 0000)访问它,即闪存存储器的内容可以在两个地址区域访问, 0x0000 0000 或 0x0800 0000。
    系统存储器 (System memory,01)从系统存储器启动,这种模式启动的程序功能是由厂家设置的。系统存储器是芯片内部一块特定的区域,STM32在出厂时,由ST在这个区域内部预置了一段BootLoader, 也就是我们常说的ISP程序, 这是一块ROM,出厂后无法修改。一般来说,我们选用这种启动模式时,是为了从串口下载程序,因为在厂家提供的BootLoader中,提供了串口下载程序的固件,可以通过这个BootLoader将程序下载到系统的Flash中。但是这个下载方式需要以下步骤: Step1:将BOOT0设置为1,BOOT1设置为0,然后按下复位键,这样才能从系统存储器启动BootLoader Step2:最后在BootLoader的帮助下,通过串口下载程序到Flash中 Step3:程序下载完成后,又有需要将BOOT0设置为GND,手动复位,这样,STM32才可以从Flash中启动。主闪存存储器被映射到启动空间(0x0000 0000),但仍然能够在它原有的地址(0x0800 0000)访问它,即闪存存储器的内容可以在两个地址区域访问, 0x0000 0000 或 0x0800 0000。
    内置SRAM ( Embedded Memory,11)内置SRAM没有程序存储的能力,这个模式一般用于程序调试。代码中一个小小的地方的修改,需要重新擦除整个Flash自然是比较的费时,可以考虑从这个模式启动代码(也就是STM32的内存中),用于快速的程序调试,等程序调试完成后,再将程序下载到SRAM中。只能在0x2000 0000开始的地址区访问SRAM。

            为什么设置从System Memory启动就可以使用串口来下载我们的程序呢?那是因为在芯片出厂前ST官方已经把一段自举程序(BootLoader程序)固化到这一块存储区。对于STM32F103ZET6来说,System Memory的起始地址为0x1FFFF000,可在芯片手册的内存映射图里找到:

            其通过串口来接收数据并烧写到用户闪存存储器的起始地址(0x08000000)。只能烧写到这个地址,若keil里设置的地址不是这个地址,则编译出来的文件将烧录不成功。(用户闪存,即User Flash,同时也称为Main Flash)。
            这一段BootLoader程序源码是没有开源出来的,用户是不可修改的。IAP程序通过FlyMCU软件进行烧录,烧录的地址就是0x08000000。
            注意:不同系列不同型号的STM32固化的BootLoader是不同的,即使用的通讯接口是不同的。如STM32F1xxx系列只支持USART1:

             STM32F4xxx系列只支持USART1、USART3、CAN2等接口:

            在项目实际应用中的Boot设置:默认使用程序代码存储在主闪存存储器,配置方式:BOOT0=0,BOOT1=0,但是要预留boot0上拉电阻工位,便于将其电平拉高,实现串口烧录。

            1)配置BOOT为ISP模式,如上图所示,只需要通过改变RTS电位使S8550是否导通,通过控制RTS引脚电路导通时实现Boot0高电平(即RTS为低电平),此时BOOT1为低电平接地。
            2)一旦完成Boot0与Boot1的10设置后,需要实现通过复位从系统存储器启动,RESET为低时系统复位,让系统重新进入ISP模式,通过上图可发现,复位脚RESET通过10K电阻默认接高电平,若需要复位则需要该脚置为低电平,即通过S8050导通(即DTR为高电平)使得RESET下拉电阻端电位与RTS都处于低电位,完成复位启动操作。
            通断时间以及为何使用模拟开关而不是直接将这两端通过硬件相连:右端100K电阻情况下,3.3V对电容充电至2V的时间约为1s–大概计算公式参考RC串联电路:uC=E(1−e^(-t/RC)) (数字电路中,由TTL电子器件组成电路使用的电平。规定输出高电平>2.4V,输出低电平<0.4V。最小输入高电平和低电平:输入高电平>=2.0V,输入低电平<=0.8V,噪声容限是0.4V。),当达到最小输入高电平时EN使能端为1,模拟开关的1端与2端导通,这就很好的滤除了CH340G下载开始时DTR与RTS不稳定所引起的复位问题【通常是500ms】–☆这是串口ISP下载电路一个优化方案,想缩短时间可以改小R或者C(通常减小R)。
            3)系统进入ISP模式后,让BOOT0(为低电平,即RTS高电平)和RESET(为高电平,即DTR为低电平)还原成原来的状态即可(通过上位机控制RTS和DTS引脚实现),复位后一段时间后会锁存两个Boot脚的电位。(在STM32F10XXX手册里的解释为:在系统复位后,SYSCLK的第4个上升沿,BOOT管脚的值将被锁存。锁存后Boot值的更改不会造成影响----一般上位机控制RTS和DTR实现)
            4)ISP下载完毕后,程序自动运行。 

            我们需要注意一点:CH340G上电后DTR#和RTS#都为高电平,在用MCUISP烧写软件时,我们在软件下方选择“DTR的低电平复位,RTS高电平进BootLoader”,CH340G IC在实际操作时引脚的变化为“DTR#拉高,RTS#拉低”,即软件设置和实际情况是取非的,相反的
            首先,FlyMcu软件控制DTR输出低电平,则DTR#引脚输出高, 然后RTS置高,则RTS#引脚输出低,这样Q3导通了,BOOT0被拉高,即实现设置BOOT0为1,同时Q2也会导通,STM32的复位脚被拉低,实现复位。
            然后,延时100ms后,FlyMcu软件控制DTR为高电平,则DTR#引脚输出低电平,RTS维持高电平,则RTS#引脚继续为低电平,此时STM32的复位引脚,由于Q2不再导通,变为高电平,STM32结束复位,但是BOOT0还是维持为1,从而进入ISP模式,接着mcuisp就可以开始连接STM32,下载代码了,从而实现一键下载。​

            DTR#和RTS#信号的时序图如下图所示:​ 

            程序下载完毕后,如果设置了编程后执行,STM32会再次被复位,此时DTR#引脚为高,RTS#引脚为低,STM32复位后,DTR#引脚设置为低,RTS#引脚设置为高,那么Q2和Q3都不导通,此时,STM32重新开始启动后,检测到BOOT0为0,程序开始正常运行,一键下载至此就完成了。

    3 ISP普通下载

            1)电脑通过 USB 转串口线连接 STM32 的 USART1,并打开电脑端的上位机
            2)设置跳线保持 BOOT0 为高电平,BOOT1 为低电平
            3)复位单片机使其进入 bootloader 模式,通过上位机下载程序
            4)下载完毕,设置跳线保持 BOOT0 为低电平,BOOT1 为低电平
            5)复位单片机即可启动用户代码,正常运行

    4 串口下载程序mcuisp

            1)搜索串口,设置波特率 115200(或者更低的波特率,否则容易出错
            2)选择要下载的 HEX 文件,勾上“编程前重装文件”       
            3)选择校验、编程后执行
            4)选择DTR 低电平复位,RTS 高电平进入bootloadermcuis软件就是按RS232标准设计的,所以这里采用负逻辑
            5)开始编程。如果出现一直连接的情况,按一下复位键

            CH340G芯片的作用:USB线连接传过来的是USB电平,而单片机使用的是TTL电平,则需要这么一个转化器件。

            特别注意:STM32的ISP下载,只能使用串口1,也就是对应串口发送接收引脚PA9,PA10。不能使用其他串口(例如串口2:PA2,PA3)用来ISP下载。

            如果isp不能正常下载,请检查如下功能:
                    1)复位电路是否正常,RST默认应该是高电平的。
                    2) PA9和PA10与RXD和TXD是否接反了。
                    3)每次下载之前按复位按键。
                    4)boot0接vcc,boot1接地。
                    5)电路上,stm32的电源去耦电容是否都有加?至少需要4个以上的去耦电容,越靠近stm32的电源引脚越好。
                    isp下载与外部晶振无关,是使用内部的晶振。

    展开全文
  • 因为51系列单片机片上的资源有限本身的ROM空间限制,串口的波特率设置在9600的情况下,下载速度还可以让人接受,但是随着工程项目的bin或者hex文件的增大,串口下载速度未免有些捉襟见肘。当然这种经典的程序...

    相信很多老的工程师在学习或调试8051系列单片机的时候,使用最多的单片机下载方式应该就是串口UART下载了。在芯片厂家没有特殊定义功能的情况下,芯片的程序下载使用串口方式最为方便;

    51系列单片机因为片上的资源有限和本身的ROM空间限制,串口波特率设置在经典的9600bps情况下,下载速度还可以接受,但随着工程项目的bin或者hex文件的增大,较大的程序文件下再用串口的方式进行下载,等待时间上估计很难让人再接受。这种经典的程序下载方式在32位单片机上被保留下来了。

    今天以ARM-Cortex-M内核的32位单片机为例,详细讲讲使用串口ISP程序下载的方法和步骤。本博文内容将以兆易创新的GD32F103ZET6为例,其他系列或型号的操作方法类似,大家可以以此作为参考,举一反三。

    一、准备工作

    ①:GD32F103ZET6或其他单片机的板卡

    ②:USB转TTL工具

    ③:GD官方推荐的串口ISP程序下载软件:https://download.csdn.net/download/praguejing/19600339;(强烈推荐使用芯片原厂的ISP软件或其推荐的软件)

    ④:对应的HEX或者bin文件;

    二、操作步骤:

    和51系列单片机不同,Cortex-M内核的功能极为丰富,性能也非常强大,所以引入了BOOT的启动选择功能;在对应的编程手册中有介绍:GD32F103ZET6编程手册中的BOOT引导模式描述如下:

    从表1-3中可以看出:当Boot0设置为高电平,当Boot1设置为低电平时,程序的引导源为引导装载程序,也就所谓的串口ISP程序下载方式(为什么称之为引导装载程序:因为芯片在出厂时在芯片ROM内部固定区域已经固化了串口ISP方式的引导代码,选择串口ISP下载的方式就是选择芯片内部引导装载程序,通过内部固化的程序进行芯片ROM的编程或烧写);详细操作步骤如下:

    1、选定引导源:需要注意的是:在单片机上电前需要先选定BOOT引脚的状态,确定引导源的选择。因为我们需要串口程序下载,所以我们设置Boot0为高电平,当Boot1为低电平;然后再给板卡上电;

    2、将USB转TTL工具插入电脑,并将其GND/RX/TX引脚分别连接到GD32F103ZET6板卡上的GND/PA9/PA10引脚;如下图所示:

     

     

    3、打开GD官方的串口程序下载工具《GigaDevice MCU ISP Programmer》(强烈建议在桌面下打开此软件,确保软件打开的路径中不要有空格或中文),

    软件打开界面如下图所示:

    在此界面下需要确认的是:USB转TTL工具的COM端口被电脑分配具体的COM序号,需要在电脑的设备管理器面板进行确认,如下所示:

    4、选择正确的COM端口,其他参数可保持默认,然后再点击"NEXT"按钮;如果芯片之前有打开写保护功能,将会出现如下界面:

    5、点击"Remove Protection"按钮,将读保护功能移除;移除成功后可以看到MCU的相关信息描述,点击"NEXT"按钮:

    6、在Device的下拉选项框中选择正确的MCU型号,然后点击"NEXT"按钮:

    7、选择需要执行的操作(芯片的擦除/程序下载/程序读取/选项字编辑),下图以程序下载为例,点击"NEXT"按钮(注意:打开的任何路径中都要避免含有空格或中文字符等):

    8、根据自己项目中HEX或bin文件的大小不同,串口下载的用时会略有差异,等待进度条提示"Finish! 100%",点击最终的"Finish"按钮即可完成单片机的程序下载。

    9、然后关闭此软件,将Boot0设置为低电平,恢复单片机的引脚方式从主FLASH存储器方式启动,给单片机复位或重新上电,观看程序运行的效果是否符合程序的预期。

     

    至此,使用串口ISP下载程序的方法和步骤就已经完成,需要设置注意的点再梳理下:

    ①推荐使用官方提供或推荐的串口ISP烧录工具;

    ②涉及到的所有路径不要包含中文或空格;

    ③BOOT的引脚电平设置(引导源选择)需在上电前完成,否则会导致引导失败;

    ④串口COM号的选择一定要正确(有些工程师电脑上有很多的COM口,避免选择错误);

    ⑤串口工具和MCU的串口连接记得交叉连接和共地;

    ⑥引导源选择一定要在板卡上电前完成;

     

    温馨提示:MCU的引导状态改变必须是建立在boot引脚电平的不同设置,设置必须在MCU上电前完成或者设置后复位MCU才能进入到对应的引导模式;针对MCU而言,必须是物理改变boot引脚状态后进行复位或重新上电。

    以上就是针对单片机串口ISP程序烧录的方法的简单说明,希望可以帮助到大家,更多的详细说明也可以访问官方的《GigaDevice ISP Programmer User Manual》进行学习,如有疑问欢迎大家随时评论区留言交流。

    ------------------------------------------------------------------------------------------------------------------------------------------

    因为小编自己能力水平有限,文中难免有错误或表达不到的信息,还望广大阅读者留言批评指正,谢谢。

    展开全文
  • USB串口ISP下载软件

    2018-01-26 12:18:42
    内有软件串口,以及USB串口-USB驱动层序,附带下载说明。
  • 上一篇笔记分享了STM32的串口IAP实例:STM32串口IAP分享其中,下载IAP程序时用ISP的方式进行下载。这里的ISP又是什么呢?ISP方式下载程序原理ISP:In System Programing,在系统中编程在STM32F10xxx里有三种启动方式...
  • 一、ISP ISP(In-System Programming) 在系统可编程,...其主要任务是通过一种可用的串行外设( USART、 CAN、USB、 I2C 等)将应用程序下载到内部 Flash 中。每种串行接口都定义了相应的通信协议,其中包含兼容的命令
  • GD32F303系列串口ISP下载程序
  • 位机源代码N76E003 ISP源码都有。 注意1:N76E003的代码放在LDROM中,建议从18KB的flash中切出4KB做LDROM 注意2:目前代码里默认APROM的大小是8K,如果要烧录的APROM的bin大于8K请到ISP_USER.h中修改APROM_SIZE为...
  • 自制廉价STC89c52串口ISP下载器,学习单片机的福音
  • AVR串口ISP下载线全套资料。 AVR串口ISP下载线
  • 串口调试助手、网络调试助手、STC_ISP_V483程序下载
  • /* --- 使用主芯片对从芯片(限STC15系列)进行ISP下载举例 -----------------*/ /* --- Mobile: (86)13922805190 ----------------------------------------*/ /* --- Fax: 86-755-82905966 ------------------------...
  • CH341A转串口和ISP下载线原理图,PDF格式方便于开发AVR51单片机
  • 串口ISP模式下载原理– -------------------------- 先放几张火哥的教程截图: 图1 图2 图3 图4 通过图1可以了解到,不同的下载方式中所需要的不同启动模式: 内部Flash (Main Flash memory,0x) STM32...
  • STC89c52串口ISP下载

    2009-12-01 19:45:46
    STC89c52串口ISP下载器 STC89c52串口ISP下载
  • 普中ISP自动下载软件

    2018-12-19 09:33:36
    STC、STM32f103系列单片机可用串口ISP下载,只需TTL转串口下载器,四线制。
  • 串口ISP下载器.pdf

    2021-09-30 12:21:38
    串口ISP下载器.pdf
  • ISP串口下载线及软件

    2010-01-20 23:01:35
    里面有ISP下载线的接口电路配套的下载软件,对于初学者很有用的。如果你的电脑没有LPT口,一定要看呀!
  • stm32学习笔记(二)ISP串口下载

    千次阅读 2019-05-08 20:20:39
    ISP下载线就是一根用来在线下载程序的线,类似USB线,但不一样 in-system programming 在线系统编程 一种无需将存储芯片(如EPROM)从嵌入式设备上取出就能对其进行编程的过程,缩略为ISP。在系统编程需要在目标板上...
  • STC51单片机串口下载程序,可以方便得下载单片机的程序。
  • STC-ISP4.88串口调试助手,非常好用!!!!!!!!!!!

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,069
精华内容 2,827
关键字:

串口下载和isp下载