烧录分类
从使用角度来看,分为几种情况:
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烧录器的示图(需从代理商处购买):
步骤概述:
- 先准备好要烧录的batch.bin;
- 把batch.bin通过downloader.exe工具下载到DAP-LINK上;
- 再用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程序,不在这里讨论的范畴之内)
.