3. 如何用DAP仿真器下载程序

3.1. 仿真器简介

本书配套的仿真器为Fire-Debugger,遵循ARM公司的CMSIS-DAP标准,支持所有基于Cortex-M内核的单片机, 常见的M3、M4和M7都可以完美支持,其外观见图 DAP下载器外观

Fire-Debugger支持下载和在线仿真程序,支持XP/WIN7/WIN8/WIN10这四个操作系统,免驱, 不需要安装驱动即可使用,支持KEIL和IAR直接下载,非常方便。

DAP下载器外观

3.2. 硬件连接

把仿真器用USB线连接电脑,如果仿真器的灯亮则表示正常,可以使用。然后把仿真器的另外一端连接到开发板, 给开发板上电,然后就可以通过软件KEIL或者IAR给开发板下载程序。

仿真器与电脑和开发板连接方式

3.3. 仿真器配置

在仿真器连接好电脑和开发板且开发板供电正常的情况下,打开编译软件KEIL, 在魔术棒选项卡里面选择仿真器的型号,具体过程看图示:

3.3.1. Debug选项配置

Debug选择CMSIS-DAP Debugger

3.3.2. Utilities选项配置

Utilities选择 Use Debug Driver

3.3.3. Debug Settings 选项配置

Debug Settings 选项配置

3.4. 放置下载算法

KEIL及 IAR 在下载程序的时候要针对目标芯片使用相应的下载算法。

绝大部分STM32系列芯片或者类似Kinetis系列控制器内部都具有 FLASH 存储器用于存储程序, 安装芯片包后即自带相应的 FLASH 下载算法,在工程里直接选择。

而STM32H750系列芯片内部只有一个128KB的 FLASH 存储器,代码量稍微大一点就放不下了, 所以其程序代码需要存放在外部的存储器中,使用时需要自己提供对应 FLASH 的下载算法给 KEIL软件, 野火STM32H750系列开发板使用单片32MB SPI NOR FLASH芯片存储程序,相应的下载算法我们提供在资料的如下目录:

A盘(资料盘)\3-开发软件\ 0-下载算法\ embedFire-H750V-W25Q256-SDRAM.FLM

把这两个文件都复制到 KEIL的如下安装目录即可,如:

D:\Keil_v5\ARM\Flash

放置后效果图如 放置相应的下载算法 所示:

放置相应的下载算法

3.5. 选择下载算法

下载时需要针对目标存储器,选择对应的下载算法, 此处野火STM32H750 Pro开发板根据工程的版本选择前面放置的外部FLASH 存储器的下载算法。

对于需要外部FLASH的工程,选择下载算法的方式见图 选择下载算法, 在“Debug->Settings->Flash Download->add”页面中选择针对FLASH版本的下载算法, embedFire-H750V-W25Q256-SDRAM.FLM。

选择下载算法

按图点击 Add 按钮后即可添加寄存器版本的下载算法。

3.6. 设置算法空间

由于本下载算法相比默认的需要更大的空间,所以还要在配置界面中增大算法空间,见图 设置下载算法空间

设置下载算法空间

关于KEIL的这个Flash Download配置有个小技巧,就是把Reset and Run也勾选上, 这样程序下载完之后就会自动运行,否则需要手动复位。擦除的FLASH大小选择Sectors即可,不要选择Full Chip, 不然下载会比较慢,说明见图 Flash_Download页面的说明,设置完成后点OK按钮即可。

Flash_Download页面的说明

3.7. 选择工程版本

我们提供的大部分示例程序包含不同的版本,分别支持从内部FLASH运行、 从外部FLASH运行,此处我们选择从外部FLASH运行的工程版本进行编译, 见图 选择工程版本,若工程中相应的版本下拉框可选择, 那么选择“Fire_H7_ExtFlash_Single”版本,若无其它选择则保持默认即可。 关于这些工程版本在后续的章节会进行讲解。

选择工程版本

3.8. 编译程序

选择好工程版本后,点击软件的编译按钮进行编译,见图 编译程序

编译程序

若编译正常,可以看到软件的输出,生成一个“xxx.axf”文件,见图 编译提示

编译提示

若使用我们配套的例程编译失败,请确认Keil软件已注册正常,并且重新使用我们提供的代码进行编译。

3.9. 下载程序

如果前面步骤都成功了,接下来就可以把编译好的程序下载到开发板上运行。下载程序不需要其他额外的软件, 直接点击KEIL中的LOAD按钮即可。

下载程序

程序下载后,Build Output选项卡如果打印出 Application running…则表示程序下载成功。 如果没有出现实验现象,按复位键试试。

程序运行成功