2、【STM32】新建工程模板、ISP串口程序下载、JLINK程序下载与调试(在线和软件)

本文档详细介绍了在Keil环境下新建STM32F407ZGT6工程的步骤,包括ISP串口和JTAG/SWD程序下载方法。内容涵盖新建工程、设置启动文件、系统代码添加、编译与下载配置,以及串口下载软件FlyMcu的使用。此外,还解析了JTAG/SWD调试原理,讲解了硬件连接、模式配置、程序下载及在线调试过程。

目录

前言

一、新建工程

​编辑

二、ISP串口程序下载

三、LINK程序下载与在线调试

3.1 JTAG/SWD调试原理简析

3.2 硬件连接

3.3 JTAG/SWD模式配置

3.4 程序下载

3.2 在线调试


前言

该文档主要讲解内容有:

  1. 在Keil环境下新建工程——基于寄存器版本
  2. 程序下载方法1——ISP串口下载
  3. 程序下载方法2——JLINK程序下载
  4. JLINK在线调试+软件调试方法

一、新建工程

  • 建立存放工程的文件夹:包含三部分

  • 打开keil软件(MDK5),点击新建工程:

  • 保存新建工程

找到刚才建立的工程文件种的USER文件,选中并保存:

  • 选择芯片型号

这里本人使用的信号型号为:STM32F407ZGT6,找到点击ok选择即可。

如果没有找到相应的芯片请安装支持包:安装Keil.STM32F4xx_DFP.1.0.8.pack  资源链接:

keil软件STM32系列芯片支持包-嵌入式文档类资源-优快云下载请按如下顺序安装:1,安装mdk_514.exe2,安装Keil.STM32F4xx_DF更多下载资源、学习资料请访问优快云下载频道.https://download.youkuaiyun.com/download/ARM_qiao/85498259

  •  添加功能组件

这里会提示你是否添加功能组件,由于这里是建立工程,先不需要添加直接关闭即可。

  • 建立好的工程目录

  • 启动文件设置

关于启动文件详细介绍推荐大家看一下链接里的介绍,非常细致极力推荐:

STM32启动文件详解 | 技术部落

启动代码是一段和硬件相关的汇编代码,主要作用:1、堆栈(SP)初始化;2、初始化程序计数器(PC);3、设置向量表异常事件的入口地址;4、调用函数main函数。

ST公司对于STM32F40X和STM32F41X系列统一使用:startup_stm32f40_41xxx.s启动文件。

由于使用STM32F407ZGT6开发板因此上述启动文件正常使用,但是需要对启动文件做一下修改,这里将寄存器版本代码用不到的代码屏蔽掉,主要是Reset_Handler函数修改。

Reset_Handler PROC
 EXPORT Reset_Handler [WEAK]
 ;IMPORT SystemInit ;寄存器代码,不需要在这里调用 SystemInit 函数, 
                    ;故屏蔽掉,库函数版本代码,可以留下
                    ;不过需要在外部实现 SystemInit 函数,否则会报错.
 IMPORT __main
         LDR R0, =0xE000ED88     ;使能浮点运算 CP10,CP11
         LDR R1,[R0]
         ORR R1,R1,#(0xF << 20)
         STR R1,[R0]
         ;LDR R0, =SystemInit    ;寄存器代码,未用到,屏蔽
         ;BLX R0                 ;寄存器代码,未用到,屏蔽
         LDR R0, =__main
         BX R0
 ENDP

 上述代码:

1、开启了STM32F4硬件FPU的代码,以使能浮点运算单元。其中0xE000ED88就是协处理器控制寄存器(CPACR),该寄存器第20~23位用来控制是否支持浮点运算,这里全部设置为1。

2、由于使用的是寄存器版本的代码,这里屏蔽了SystemInit函数。

由于使能了FPU,在MDK里也需要对FPU进行设置,否则代码无法运行,设置方式:打开Options for Target,如图进行设置

由于开发板上晶振为8MHz所以这里将其改为8 

  •  添加启动文件

将启动文件startup_stm32f40_41xxx.s启动文件拷贝到刚刚新建立的USER文件里面。

  • 编译启动代码

1、目标编译,只编译打开的文件;2、全部编译,编译整个工程文件(事件较长) 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

追逐者-桥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值