烧录分类

从使用角度来看,分为几种情况:

1、开发时的在线烧录;

这个时候是在VSCode下进行的。可以通过dap-link/JLink/uart烧录。

code和logic是分开烧录的。修改哪个烧录哪个即可。

这部分在“VSCode下的编译、调试、烧录”中的“烧录”章节已有介绍,这里不再赘述。

2、打包成batch.bin后通过downloader工具烧录;

batch.bin是二合一后的bin,通过downloader工具可以在线烧录。

有关batch.bin的生成和烧录的操作,在“VSCode下的编译、调试、烧录”中的“脱机烧录”章节也有介绍。

3、当批量生产时,最终程序要在生产线上烧录完成:

这个时候,需要治具或者工具来方便的脱机烧录。

AGM提供的dap-link烧录器,就是支持这种脱机烧录的。

即:先把最终程序烧录到dap-link烧录器上,然后烧录器脱离PC,通过连接线可以直接对目标芯片进行烧录,非常方便。

本章节的后半部分,会描述这种烧录方法。

4、定制化烧录:

有些客户有自己的管理系统,希望把烧录系统也接入进去便于管理,因而需要自己实现烧录工具。

按照烧录程序所在位置,又分为两种情况:

  • A. 基于PC的烧录;
  • B. 基于第三方单片机的烧录;

如果是基于PC,且PC上可以安装downloader工具的,只是希望把烧录过程集成到自己的PC软件,那就可以抄downloader.exe工具在烧录时的命令行就可以了。downloader工具在烧录时也是调用命令行,自己实现时软件里也同样调用就可以了。

如果是基于单片机,则必须要自己实现烧录的主端逻辑了。这里单独形成一个主题,点击查看

.

脱机烧录

DAP-LINK支持离线烧录。

即:先把要烧录的bin烧录到DAP-LINK中;然后DAP-LINK可以脱离PC,上电后通过按键对目标板进行烧录。

官方DAP-LINK烧录器的示图(需从代理商处购买):

步骤概述:

  1. 先准备好要烧录的batch.bin;
  2. 把batch.bin通过downloader.exe工具下载到DAP-LINK上;
  3. 再用DAP-LINK脱机对目标板进行烧录;

.

详细过程:

1. 先准备好要烧录的batch.bin:

如果是MCU(或MCU+cpld)开发:

通过VSCode左边栏的【Create Batch】命令可以生成batch.bin。

这里命令生成的batch.bin,是code.bin和logic.bin的二合一的bin。这个bin也是可以通过downloader工具在线烧录到芯片的bin。

生成后的batch.bin位于工程目录下,如下图:

如果是纯cpld开发(即:没有用到mcu功能),在supra编译后也会生成xxx_batch.bin,格式与上边的相仿。

2. 把batch.bin通过downloader.exe工具下载到DAP-LINK上:

打开downloader.exe工具(位于SDK根路径下):

把上个步骤生成的batch.bin通过离线方式下载到DAP-LINK:

下载成功后,从下边的信息栏可以看到提示如下:

注意:downloader工具还支持 Dap-link/Jlink/Serial 三种方式的在线烧录,这里不做详述。

3. 再用DAP-LINK脱机对目标板进行烧录:

连接DAP-LINK与目标板,并同时对两者上电;

然后按一下DAP-LINK的SW_IO按键,开始烧录:

烧录完成后,可以看到烧录器的指示灯的D1灯(最左边的)常亮。

烧录成功。

如果要烧录下个目标板,还是连接后直接按SW_IO键烧录即可。

注意:整个过程中,DAP-LINK上按键旁边的跳帽不接的。

(接跳帽是用于烧录老版本fpga程序,不在这里讨论的范畴之内)

.