【STM32】ST-Link下载调试STM32程序

硬件:

  • STM32C8T6核心板
  • ST-Link -V2

接线:

在这里插入图片描述
在这里插入图片描述

keil5配置

  • 串口只能下载代码,并不能实时跟踪调试,而利用调试工具,比如 ST-LINK,JLINK 和ULINK 等就可以实时跟踪程序,从而找到你程序中的 bug,使你的开发事半功倍。这里我们以 ST-LINK 为例,说说如何在线调试 STM32F1。
  • ST-LINK 支持 JTAG 和 SWD,同时 STM32F103 也支持 JTAG 和 SWD。所以,我们有 2 种方式可以用来调试,JTAG 调试的时候,占用的 IO 线比较多,而 SWD 调试的时候占用的 IO 线很少,只需要两根即可。
  • ST-LINK 的驱动安装比较简单,我们在这里就不说了,在安装 ST-LINK 的驱动之后,我们接上 ST-LINK,并用灰排线连接 ST LINK 和开发板的 JTAG接口,打开之前 3.3 节新建的工程,点击 ,打开Options for Target 选项卡,在 Debug 栏选择仿真工具为 ST-Link Debugger,如图所示:

在这里插入图片描述

  • 上图中我们还勾选了 Run to main(),该选项选中后,只要点击仿真就会直接运行到 main 函
    数,如果没选择这个选项,则会先执行 startup_stm32f10x_hd.s 文件的 Reset_Handler,再跳到
    main 函数。然后我们点击 Settings,设置 ST-LINK 的一些参数:

在这里插入图片描述

  • 我们使用 ST-LINK 的 SW 模式调试,因为我们 JTAG 需要占用比 SW 模式多很多的 IO 口,而在开发板上这些 IO 口可能被其他外设用到,可能造成部分外设无法使用。所以,我们建议大家在调试的时候,一定要选择 SW 模式。

  • Max Clock 我们设置为最大:4Mhz(需要更新固件,否则最大只能到 1.8Mhz),这里,如果你的 USB 数据线比较差,那么可能会出问题,此时,你可以通过降低这里的速率来试试。单击确定,完成此部分设置,接下来我们还需要在 Utilities 选项卡里面设置下载时的目标编程器。
    在这里插入图片描述

  • 图 3.4.3.3 中,我们直接勾选 Use Debug Driver,即和调试一样,选择 ST-LINK 来给目标器
    件的 FLASH 编程,然后点击 Settings,进入 FLASH 算法设置,设置如图 3.4.3.4 所示:

在这里插入图片描述

  • 这里 MDK5 会根据我们新建工程时选择的目标器件,自动设置 flash 算法。我们使用的是STM32F103ZET6,FLASH 容量为 512K 字节,所以 Programming Algorithm 里面默认会有512K型号的 STM32F10x High-density Flash 算法。特别提醒:这里的 512K flash 算法,不仅仅针对512K 容量的 STM32F103,对于小于 512K FLASH 的型号,也是采用这个 flash 算法的。最后,选中 Reset and Run 选项,以实现在编程后自动运行,其他默认设置即可。设置完成之后,如图3.4.3.4 所示。
  • 在设置完之后,点击 OK,然后再点击 OK,回到 IDE 界面,编译一下工程。接下来我们
    就可以通过 ST-LINK 下载代码和调试代码。
  • 配置好 ST-LINK 之后,使用 ST-LINK 下载代码就非常简单,大家只需要点击 LOAD 按钮
    就可以进行程序下载。下载完成之后程序就可以直接在开发板执行。如图 3.4.3.5 所示:

在这里插入图片描述
在这里插入图片描述
参考:“STM32F1开发指南-库函数版本_V3.3.pdf”

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值