• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

STM32的串口程序下载?

fb4b43ef0e26d840 2018-06-06 浏览量:3785
STM32单片机如何用串口进行程序烧录?需要专门的电路支持吗?还是说只需要的ch340的串口转换电路就行?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 串口下载不需要特定电路支持,但是需要对boot进行设置,boot0=1,boot1=0,并且串口下载只支持串口1,使用flash_loader_demonstrator_V2.1.0_setup或者mcuisp都行。以mcuisp为例:先选好联机下载时程序文件,然后读器件信息,读取到器件信息后,点击开始编程等待完成无标题.png
    • 发布于 2018-06-06
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:20
  • 一、 STM32串口下载程序步骤 
    1)安装《CH340驱动(USB串口驱动)_XP_WIN7共用》 
    2)打开串口下载软件《STM32F4串口下载软件(FLYMCU)》 
    3)开发板USB接口连接到电脑USB口,给开发板供电 
    4)下载软件设置如下;点搜索串口,选择正确的串口号,波特率不用管,选择HEX文件,点开始编程就可以下载了。 
    这里写图片描述 
    二、 硬件连接 
    USB转串口CH340接线图如下。 
    ARM串口TXD连接到CH340G的RXD脚,RXD连接到CH340G的TXD脚; CH340是5V供电,可以由USB供电。boot0置1(接到3.3V) ,boot1置0(接地)。 
    这里写图片描述 
    三、说明:对于已加密的STM32芯片可以通过串口下载程序来解锁下载程序,然后就可以用仿真器下载程序了。 
    四、STM32用串口下载程序注意事项: 
    stm32单片机的USART只能用usart1。其他几个USART是都不行的。切记。设计电路的时候就要注意这一点。 
    最后一步,还是要还原BOOT设置。 boot0置0,boot1置0.一定要还原设置。不然程序是不会运行的。
    • 发布于2018-06-06
    • 举报
    • 评论 0
    • 1
    • 0

  • 是的,STM32是可以像51一样,通过串口下载程序。ch340是一个USB转TTL电平串口的一个芯片。

    当然最常用的还是使用仿真器下载:jlink STlink都可以,还支持硬件仿真,这个功能很好用。

    最后:也可以自己写BOOT,采用程序跳转方式。总之有很多的方式,ST官网有很多实例代码。

    • 发布于2018-06-06
    • 举报
    • 评论 0
    • 1
    • 0

  • 不需要,stm32,内部一般都有串口写入的rom code,写死在flash上,在flash前面的一块区域有块代码。启动的时候选择一下boot的模式既可,你可以查下boot0和boot1的启动方式的说明。具体的下载代码见IAP相关的内容。你没有指定哪块芯片,所以只能告诉你大部分stm32芯片是有这个功能的。

    • 发布于2018-06-06
    • 举报
    • 评论 0
    • 1
    • 0

  • 可以直接使用STM32的串口1功能实现串口下载,对应的管脚 PA10 与PA9,对接一个USB转串口模块,然后使用串口下载工具(flymcu),使用串口下载时,需要注意BOOT0与BOO1的配置关系。
    • 发布于2018-06-06
    • 举报
    • 评论 0
    • 1
    • 0

  • 不需要特别的电路,只用常用的TTL串口就够了,但是要注意BOOT1和BOOT0的配置:开机时boot1=0,boot0=1进入bootloader区,在这个模式下,可以用串口工具烧录。
    • 发布于2018-06-06
    • 举报
    • 评论 0
    • 1
    • 0

  • STM32烧录程序有三种:Jlink ,Ulink和串口烧录,使用工具分别为:Jlink,Ulink以及USB转TTL线。

    Ulink 烧录程序

    在安装MDK过程中,会有提示是否安装驱动,该驱动就为Ulink驱动,如果选择是就不需要再安装驱动了,否则就需要自己手动下载驱动并安装,驱动安装完毕之后我们需要告诉我们的MDK我们使用的是什么烧录工具,右键Target目录选择Options for Target…..在弹出的Options for target 选项卡中选择Debug选项,在其右上方的下拉框中选择Ulink/ME Cortex Debugger 即是选择了Ulink进行程序烧录。 
    这里需要注意的是Ulink接上电脑之后不一定能被安装的MDK正确识别,我们点击下拉框右边的Setting按钮将会弹出Cortex-M Target Driver Setup界面,在该界面下,如果在JTAG Device Chain区域显示No Ulink Device Found 或者就是一片空白都表示我们的MDK没有识别到你已经接到电脑上的Ulink,此时就需要你查找一下Ulink端的原因了。

    Jlink 烧录程序

    Jlink驱动并没有集成在MDK安装程序中所以一定需要我们手动下载Jlink驱动并安装,驱动安装完毕之后我们需要告诉我们的MDK我们使用的是什么烧录工具,右键Target目录选择Options for Target…..在弹出的Options for target 选项卡中选择Debug选项,在其右上方的下拉框中选择Jlink/J-TRACE Cortex 即是选择了Jlink进行程序烧录。 
    同样的,需要注意的是Jlink接上电脑之后不一定能被安装的MDK正确识别,我们点击下拉框右边的Setting按钮将会弹出Cortex Jlink/JTrace Target Driver Setup界面,在该界面下,如果在JTAG Device Chain区域显示Cannot redad Jlink version number 或者就是一片空白都表示我们的MDK没有识别到你已经接到电脑上的Jlink,如果右边J-link / J-Trace Adaper下方的ort下拉框可选,选择成为另外一个试试(原本JTAG选为SWD,原本SWD选为JTAG),如果可以识别就代表可以进行程序烧录了。

    串口烧录程序

    我们使用串口烧录程序,使用USB转TTL线,USB转TTL驱动根据我们内部的转换芯片安装相应的驱动,常见的有一下几种:CH340,PL2303,FTDI,CP210x等,驱动完成之后,右键Target目录选择Options for Target…..在弹出的Options for target 选项卡中选择Output选项,勾选上Create Hex File复选框,这样我们在编译代码时,便会在工程目录下生成Hex文件,我们串口烧录程序其实就是使用外部工具将该Hex文件中的内容,烧录到STM32 FLASH中去。需要使用到的烧录软件可以使用Jlink 官方提供的串口烧录软件,也可以使用 mcuisp USB一键下载工具也叫作FlyMcu进行烧录。 
    使用FlyMCU时,首先需要指定软件使用的串口号和波特率,在进行程序烧录之前必须设置我们STM32的烧录模式,需要将STM32 BOOT0设置为高电平,BOOT1设置为低电平,然后复位STM32,在FlyMcu中首先选择好要下载的HEX文件(编译生成的HEX文件在工程目录下生成),然后选择STMISP选项卡,点击开始编程按钮,便可以进行程序烧录了。

    • 发布于2018-06-06
    • 举报
    • 评论 0
    • 0
    • 0

  • swd研究一下吧,也可以用bootloader,然后串口发送数据,booloader写flash
    • 发布于2018-06-06
    • 举报
    • 评论 0
    • 0
    • 0

  • 不需要外部的电路,直接连接都串口1就可以进行烧录
    • 发布于2018-06-06
    • 举报
    • 评论 0
    • 0
    • 0

  • 下载时需要控制RST和BOOT0,但没必要做专门的电路,用镊子短接一下就可以。
    • 发布于2018-06-06
    • 举报
    • 评论 0
    • 0
    • 0

  • 没必要,找根杜邦线搭一下即可,如果是给学徒用的pcb,那画个插针焊盘吧
    • 发布于2018-06-06
    • 举报
    • 评论 0
    • 0
    • 0

  • stm32可以直接用串口1烧录程序,只要使用一个ISP软件就行了
    • 发布于2018-06-06
    • 举报
    • 评论 0
    • 0
    • 0

  • 没有特殊要求,就是串口一,不同的串口工具都可以,其实装了驱动大家都差不多。用ISP软件就可以了。
    • 发布于2018-06-07
    • 举报
    • 评论 0
    • 0
    • 0

  • 调整boot引脚,使用串口1,使用一个下载软件就可以了
    • 发布于2018-06-07
    • 举报
    • 评论 0
    • 0
    • 0

  • STM32自带串口,CH340是USB转串口的芯片,STM32也可以用USB进行升级,方法跟串口升级差不多的
    • 发布于2018-06-08
    • 举报
    • 评论 0
    • 0
    • 0

  • STM32本来就支持串口下载的,设置好boot引脚 就可以下载了

    但是要使用特定的下载软件才可以,并不是一个串口就可以下载的,下载是有时序与协议的。

    • 发布于2018-06-08
    • 举报
    • 评论 0
    • 0
    • 0

  • 串口用FlyMCU烧写就行了,记得BOOT0和BOOT1设置一下
    • 发布于2018-06-08
    • 举报
    • 评论 0
    • 0
    • 0

  • 用一个USB转串口的模块,再把boot0上拉就可以使用软件进行串口烧写了
    • 发布于2018-06-10
    • 举报
    • 评论 0
    • 0
    • 0

  • STM32只能通过串口1下程序,设置BOOT0为高电平之后可以用官方的FLASH LOADER软件来下程序,或者通过flymcu软件下程序。


    • 发布于2018-06-15
    • 举报
    • 评论 0
    • 0
    • 0

  • STM32不需要什么外部的串口下载电路的,直接使用340芯片就可以下载的,直接将T和R的线对应接上就可以的。但是需要更改boot1和boot2引脚的电平状态,以便切换到相应的启动方式。网上的一些串口下载电路是就是为了自动切换boot引脚的电平而设置的。
    • 发布于2018-06-06
    • 举报
    • 评论 0
    • -1
    • 0

相关问题

问题达人换一批

STM32的串口程序下载?