3. 如何用DAP仿真器下载程序¶
3.1. 仿真器简介¶
本书配套的仿真器为Fire-Debugger,遵循ARM公司的CMSIS-DAP标准,支持所有基于Cortex-M内核的单片机, 常见的M3、M4和M7都可以完美支持,其外观见图 DAP下载器外观 。
Fire-Debugger支持下载和在线仿真程序,支持XP/WIN7/WIN8/WIN10这四个操作系统,免驱, 不需要安装驱动即可使用,支持KEIL和IAR直接下载,非常方便。
3.2. 硬件连接¶
把仿真器用USB线连接电脑,如果仿真器的灯亮则表示正常,可以使用。然后把仿真器的另外一端连接到开发板, 给开发板上电,然后就可以通过软件KEIL或者IAR给开发板下载程序。
3.3. 仿真器配置¶
在仿真器连接好电脑和开发板且开发板供电正常的情况下,打开编译软件KEIL, 在魔术棒选项卡里面选择仿真器的型号,具体过程看图示:
3.3.1. Debug选项配置¶
3.3.2. Utilities选项配置¶
3.3.3. 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按钮即可。
3.7. 选择工程版本¶
我们提供的大部分示例程序包含不同的版本,分别支持从内部FLASH运行、 从外部FLASH运行,此处我们选择从外部FLASH运行的工程版本进行编译, 见图 选择工程版本,若工程中相应的版本下拉框可选择, 那么选择“Fire_H7_ExtFlash_Single”版本,若无其它选择则保持默认即可。 关于这些工程版本在后续的章节会进行讲解。
3.8. 编译程序¶
选择好工程版本后,点击软件的编译按钮进行编译,见图 编译程序 。
若编译正常,可以看到软件的输出,生成一个“xxx.axf”文件,见图 编译提示 。
若使用我们配套的例程编译失败,请确认Keil软件已注册正常,并且重新使用我们提供的代码进行编译。
3.9. 下载程序¶
如果前面步骤都成功了,接下来就可以把编译好的程序下载到开发板上运行。下载程序不需要其他额外的软件, 直接点击KEIL中的LOAD按钮即可。
程序下载后,Build Output选项卡如果打印出 Application running…则表示程序下载成功。 如果没有出现实验现象,按复位键试试。