零死角玩转stm32初级篇2-STM32如何编译和下载程序

这篇具有很好参考价值的文章主要介绍了零死角玩转stm32初级篇2-STM32如何编译和下载程序。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.程序的编译

Keil uVision5 工具中有四个编译如图stm32程序下载过程,stm32(标准库),stm32,单片机,编译,程序下载,他们分别表示什么意思,下面进行介绍,解释来源于<<零死角玩转stm32>>。

  • 第一个按钮: Translate 就是翻译当下修改过的文件,说明白点就是检查下有没有语法错误,并不会去链接库文件,也不会生成可执行文件。
  • 第二个按钮: Build 就是编译当下修改过的文件,它包含了语法检查,链接动态库文件,生成可执行文件。
  • 第三个按钮: Rebuild 重新编译整个工程,跟 Build 这个按钮实现的功能是一样的,但有所不同的是它编译的是整个工程的所有文件,耗时巨大。

综上:当我们编辑好我们的程序之后,只需要用第二个 Build 按钮就可以,即方便又省时。第一个跟第三个按钮用的比较少。

对于前面3个按钮<<零死角玩转stm32>> 进行了介绍,但是对于第四个按钮并没有进行介绍,因为该书使用的是Keil uVision4,对于这部分的介绍来源于这篇博文:https://blog.csdn.net/weixin_41344412/article/details/114151424。

stm32程序下载过程,stm32(标准库),stm32,单片机,编译,程序下载

综上:对于第四个按钮,在一个workbench下有多个项目时进行使用,当一个workbench下有多个项目需要同时进行Build 时,就可以点击第四个按钮的Batch Build进行编译。

程序的编译主要是生成单片机需要的.hex文件

stm32程序下载过程,stm32(标准库),stm32,单片机,编译,程序下载

项目输出文件的hex文件目录是可以进行设置的,首先点击stm32程序下载过程,stm32(标准库),stm32,单片机,编译,程序下载然后选择stm32程序下载过程,stm32(标准库),stm32,单片机,编译,程序下载,最后点击stm32程序下载过程,stm32(标准库),stm32,单片机,编译,程序下载按钮即可选择相应目录。

stm32程序下载过程,stm32(标准库),stm32,单片机,编译,程序下载

程序的编译前不要忘了勾选stm32程序下载过程,stm32(标准库),stm32,单片机,编译,程序下载,否则无法生成相应的hex文件,至于更多的设置请参照这篇博文零死角玩转stm32初级篇3-从零创建STM32工程模板。

stm32程序下载过程,stm32(标准库),stm32,单片机,编译,程序下载

二.程序的下载

常见的程序下载方式有ISP,SWD,SWIM和 JTAG下载,具体使用哪一种下载方式需要根据硬件设计来看,如果硬件设计的程序下载方式有多种时,则选择其中的一种进行下载即可,我们怎么知道单片机上面有几种程序下载方式了,最直接的方式就是通过看硬件原理图,所以我们首先需要知道则四种方式的硬件接线图;对于这四种方式来源于这篇博文程序如何下载到单片机中?单片机常用的四种烧写程序方式介绍。

1.ISP方式

ISP方式这种烧写方式是通过单片机的UART串口来实现的,所需要的工具也比较简单USB/TTL。这个USB/TTL的芯片可以通过MAX232、CH340G等芯片来实现,通过MAX232实现的UART烧写电路如下所示:

stm32程序下载过程,stm32(标准库),stm32,单片机,编译,程序下载

当然上面的接线图看起来或许比较复杂,一般我们只需要留出MCU的TXD,RXD和GND即可,然后在淘宝上面买一个USB/TTL的烧写器,将烧写器的TXD和单片机的RXD相连,烧写器的RXD和单片机的TXD相连,最后再连接GND即可;转换模块的5V也可以给单片机提供电源,有时可能因为模块电压不足出现电脑无法识别的情况,这时需要再额外接一根3.3V电源线到模块和单片机板子上(有可能是我的转换器被烧过,如果不接3.3V的话会出现电脑无法识别的情况,接一根3.3V就可以了)。

stm32程序下载过程,stm32(标准库),stm32,单片机,编译,程序下载

上图说的boot0接到VCC出,指的是STM32的最小模块上的帽扣,如下图所示( 一定不要忘了:烧写时将boot0接到VCC,烧写完后重写接到GND ):

stm32程序下载过程,stm32(标准库),stm32,单片机,编译,程序下载

在结合该最小系统帽扣的原理图就更加明了

stm32程序下载过程,stm32(标准库),stm32,单片机,编译,程序下载

对于硬件是否有ISP方式,我们看最小系统中是否额外留出TXD,RXD和GND。

stm32程序下载过程,stm32(标准库),stm32,单片机,编译,程序下载

按到上面硬件的连接图将单片机和PC进行连接,由于ISP方式并不能够直接通过Keil uVision5软件进行程序的烧写,而是需要依靠其他第三方软件 FlyMcu进行程序的烧写,你可以参照这篇博文进行了解使用FlyMCU往STM32中烧写程序,使用FlyMcu进行程序烧写时,经常会遇到芯片超时问题,你可以试试这篇博文的解决方法关于flymcu烧录stm32芯片超时的问题解决。

stm32程序下载过程,stm32(标准库),stm32,单片机,编译,程序下载

2.JTAG方式

JTAG接口是一种标准的测试协议,可以实现编程时在线调试,利用单步追踪可以很方便的查找代码的Bug,大多数的单片机都支持这种接口。这种接口除了电源线和复位引脚之外,还要用到单片机的四个引脚,分别是:TDI、TMS、TCK、TDO,他们所代表的含义如下所示:

  • TDI–数据输入,所有写入寄存器的数据都是通过TDI接口串行输入的;
  • TMS–模式选择,Jlink输出给目标CPU的时钟信号;
  • TCK–时钟信号,所有数据的输入输出都是以该时钟信号为基准的;
  • TDO–数据输出,所有从寄存器读出的数据都是通过TDO接口串行输出的;

以上这四个引脚都是协议里强制要求的( 意思就是上面四个引脚必须进行连接 ),而且协议建议在设计电路时要选用上拉电阻。JTAG接口有多种形式,常用的20引脚、14引脚和10引脚。以20引脚JTAG为例,所设计的JTAG烧写电路如下图所示:

stm32程序下载过程,stm32(标准库),stm32,单片机,编译,程序下载

上面的连接图看起来或许比较麻烦,我们可以直接在淘宝上搜索JTAG下载器或jlink仿真器,直接看产品的详细信息即可。

stm32程序下载过程,stm32(标准库),stm32,单片机,编译,程序下载

如果硬件单片机留出来的是引脚排针,按到下图进行连接即可:

stm32程序下载过程,stm32(标准库),stm32,单片机,编译,程序下载

当然大多数情况都是使用如下这种排座形式,这种方式直接插上去就可以了:

stm32程序下载过程,stm32(标准库),stm32,单片机,编译,程序下载

使用JTAG方式进行程序的烧写并不需要其他第三方软件,可以直接通过Keil uVision5进行程序烧写,你可以参照这篇博文KIEL 5如何烧录程序到STM32芯片。

stm32程序下载过程,stm32(标准库),stm32,单片机,编译,程序下载

使用JTAG方式进行烧写前,需要安装相应的驱动,在商品的详情界面有相应驱动的百度网盘地址或者直接找客户要即可。

stm32程序下载过程,stm32(标准库),stm32,单片机,编译,程序下载

3.SWD方式

SWD是一种串行调试接口,与JTAG相比,SWD只需要两根线,分别为:SWCLK和SWDIO。他们的含义如下:

  • SWDIO–串行数据线,用于数据的读出和写入;
  • SWDCLK–串行时钟线,提供所需要的时钟信号;

一般来说,大多数单片机的JTAG接口和SWDIO接口是复用的,SWD也是用J-Link工具来实现的。所以在使用的时候,只需要在软件界面做一下选择,使用SWD方式还是JTAG方式,硬件上无需改动。除了J-Link外,意法半导体的ST-Link也是支持SWD模式的。

stm32程序下载过程,stm32(标准库),stm32,单片机,编译,程序下载

当然有时候也会有没有复用的接口,对于单独的SWD方式我们只需要将单片机和连接器对应引脚相连即可。

  • 单片机上的SWD的四个引脚VCC3V3,SWDIO,SWDCLK,GND

stm32程序下载过程,stm32(标准库),stm32,单片机,编译,程序下载

  • 连接器如下图所示,下面分别指出了相应的引脚说明,和上面单片机的对于相连即可

stm32程序下载过程,stm32(标准库),stm32,单片机,编译,程序下载
stm32程序下载过程,stm32(标准库),stm32,单片机,编译,程序下载

SWD方式与JTAG方式相同的是也不需要其他第三方软件,可以直接通过Keil uVision5进行程序烧写,你可以参照这篇博文KIEL 5如何烧录程序到STM32芯片。

stm32程序下载过程,stm32(标准库),stm32,单片机,编译,程序下载

4.SWIM方式

这种下载方式是针对STM8系列的单片机,这种方式只需要一根线即可实现程序的下载,所使用的工具为ST-Link,如下图所示:

stm32程序下载过程,stm32(标准库),stm32,单片机,编译,程序下载

从淘宝的详情界面可以看到,该方式有四根线TVCC,SWIM,GND和REST( 实际只需要一根SWIM ),只需要和单片机对应引脚相连即可。

stm32程序下载过程,stm32(标准库),stm32,单片机,编译,程序下载

对于程序的烧录,你可以通过这篇博文进行了解为了更快普及STM8,我做了一个STM8串口下载程序教程。

stm32程序下载过程,stm32(标准库),stm32,单片机,编译,程序下载

上面这个教程使用的是STVP软件,你可以通过这篇博文进行了解STM32下载编程工具 | STVP介绍、下载、安装和使用教程

stm32程序下载过程,stm32(标准库),stm32,单片机,编译,程序下载文章来源地址https://www.toymoban.com/news/detail-774367.html

到了这里,关于零死角玩转stm32初级篇2-STM32如何编译和下载程序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于MDK-Keil环境如何把STM32程序直接下载到SRAM运行

    对于 Cortex-M 内核的微控制器,它们都可以支持在 RAM 中执行程序,有些非 ARM 的微控制器是不支持的。 在内部 SRAM 执行程序,有基于以下几方面的原因: 1、所使用的设备可能具有OTP(One-time Programmable,一次性可编程)ROM区域,还没有确定最终代码之前,还不会把程序编程到

    2024年02月07日
    浏览(29)
  • 在M2芯片上配置Clion编译和下载stm32

    本文以我在M2 pro芯片的Mac os系统上配置Clion来完成我学习和开发stm32工程的经历,分享在配置过程中的问题和解决。本文当然不限于M2芯片,而是对于整个Apple Sillicon ARM芯片的mac电脑适用。 首先中,无论是windows还是macOS,使用Clion配置stm32环境都需要你安装stm32CubeMX,当然安装

    2024年01月23日
    浏览(27)
  • STM32LCD--基于HAL库(选中高亮?一文看懂如何玩转高亮显示)

    相关说明: 开发板:CT117E-M4(STM32G431RB 蓝桥杯嵌入式比赛板) 开发环境: CubeMX+Keil5 第六届到第十二届省赛题中,高亮显示考察了四次,分别是第六、七、九、十届,第十一届和第十二届没有考察,今年考察几率仍然较大。 说明: 如何看这块LCD的坐标?将单片机 顺时针旋转

    2023年04月08日
    浏览(27)
  • STM32程序下载——ISP下载

    ISP (Iin-System Programming)在系统可编程,ISP是一种通用的程序下载方式。 串口下载方式即ISP方式。在PC端可以通过专用软件,比如 FlyMCU 、MCUISP等,通过串口将 hex 文件下载到芯片中。 工具: 一块stm32f103c8t6开发板(或者最小系统板);若干跳线;面包板一块;电源(或者电源模

    2024年02月12日
    浏览(38)
  • STM32 使用串口下载程序

    在ROM区的0x0800 0000位置,存储的就是编译后的程序代码,你把什么程序写入到这个位置,STM32就执行什么样的程序。如果想使用串口下载程序的话,我们只需要把数据通过串口发送给STM32,STM32接收数据,然后刷新到0x0800 0000这一块位置就行了。但是接收并转存数据,这个过程本

    2024年02月05日
    浏览(29)
  • STM32_串口下载程序

    使用调试器下载程序又快有稳定还能使用调试功能,当然是下载调试的首选。但是拓展下串口下载程序的知识作为下载的备选方案也是很有必要的。 ICP :使用SWD接口进行烧录,如J-Link烧录器和J-Flash软件配合使用。 ISP :使用引导程序(Bootload)加上外围UART/USB等接口进行烧录

    2024年01月16日
    浏览(37)
  • stm32之使用串口下载程序

    1 stm32常用的程序下载方式 将程序下载到stm32芯片通常有以下三种方式: 串口转USB:需要用到一个CH340芯片,网上购买stm32基础套件时一般会有使用该芯片连接USB的模块,连接该芯片时需要占用芯片的USTART_TX和USTART_RX,分别对应芯片的PA9和PA10 SWD方式:例如,st-link v2,需要使用

    2024年04月13日
    浏览(31)
  • 如何下载stm32 pack包

    新安装的keil软件,很多芯片没有安装pack包就无法正常编译,所以需要取对应网站下载对应的pack包。 keil device配置页面: 官网地址:https://www.keil.com/ 下拉找到STMicroelectronics: 找到对应的F4系列: 点击下载: 等待下载完成,双击安装即可。 本文主要介绍如何去keil官网下载对

    2024年02月12日
    浏览(36)
  • 【STM32】STM32F103ZET6程序下载(串口方式)

    STM32 的程序下载有多种方法:USB、串口、JTAG、SWD 等,这几种方式,都可以用来给 STM32 下载代码。不过,我们最常用的,最经济的,就是通过串口给 STM32 下载代码。我们将向大家介绍,如何利用串口给 STM32 下载代码。 STM32 的串口下载一般是通过串口 1 下载的,STM32开发板,

    2024年02月04日
    浏览(44)
  • STM32 keil如何下载STM32芯片F1/F4固件库 .pack文件

    1.用keil打开STM32F407的程序,结果提示下面的问题,就是没有安装固件库 2.然后去keil官网下载对应的固件库,官网地址:https://www.keil.com/ 3.然后选中对应的芯片类型,譬如我这个就是STM32F407IGTx 4.双击下面的图标,即.pack可以直接点击安装,并且目录直接默认是keil安装的目录。

    2024年02月13日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包