我公司推出的28nm制程工艺的SA5Z-30 系列FPGA 器件,其 CM3 核通过 SOC 方式集成在芯片内部, CM3 的 GPIO、URAT、 Timer、I2C、ADC、SPI 等外设连接在内部 APB 总线,与 FPGA 之间通过 AHB 总线进行通信,因其使用简便,慢慢获得市场的普遍认可。本文主要阐述对其内嵌CM3核用低价格下载器SWD 进行独立下载,进而达到独立Debug的目的。
第一种方式,常见的合并之后下载,如下图
将Keil5 生成的BIN 文件和FPGA生成的BIN 文件,利用Hqfpga下载器工具合并之后生成新的BIN文件,文件路径默认在HQ工程路径下,之后像正常下载FPGA一样,下载合并之后的BIN文件,基础的操作方式,可以参见提供的DEMO 程序包里有 SA5Z-30 嵌入式ARM参考例程手册_v1.6_20230517.pdf,如没有,可以联系我方FAE和相关人员。
第二种方式也就是我们今天重点要实践的方式,如何用Jlink 下载工具单独下载 CM3 程序。
首先需要买到一个J_Link 或者ST_Link 下载器,下面以St_Link 低成本下载器为例进行简单介绍。上网站购买,这里不做推荐,驱动安装成功之后需要在设备管理器中查看电脑是否已经正确识别到下载器。
如下图,打开电脑“设备管理器”查看通用串行总线设备中的“STM32 ST-LINK” (如果识别到出现感叹号提示,就是未安装驱动的状态)示例
安装厂家提供的驱动之后,重新拔插St_Link 下载器 ,打开设备管理器 ,如下所示:
这一点是往下做的基础,所以非常重要。
1. 下载器线路连接
【解决方法】
检查您的接线,按正确接线重新连接ST-LINK与您的STM32系统板,并重新上电既可解决此问题;
【注意事项】
A.以上四个针脚接错都会导致无法连接,3.3V/5.0V针脚请勿接错,如接错可能会对您的主板造成损伤,影响您的使用;
B.如果目标板已经采用独立供电,就不再需要接3.3V/5.0V针脚,仅需接入SWDIO/SWCLK/GND针脚,我们这次就采用的这种方式,30K demo 板子上独立有供电,即只要接SWDIO/SWCLK/GND 。
打开Keil5 魔术棒工具,选择Debug 选项,如下图所示,选择ST_Link Debugger ,之后选择Setting:
打开之后可以看到下载器的设置 ,但是在SW Device 中没有看到此下载器类型,这一把是由于部分版本的Keil5可能无法识别,下面可通过Keil5官方软件进行固件更新(降级),达到适配软件的版本并解决问题。
【解决方法】
A.按照图片中的文件夹路径,找到“ST-LinkUpgrade.exe” ;(此路径为keil5安装的默认路径,具体需根据亲安装时的选择查找)
B.插入ST-LINK V2下载器,打开 “ST-LinkUpgrade.exe” ;
C.先点击“Device connect”识别,再点击 “Yes”进行升级 ;
D.当升级软件提示“Upgrade is successful”后,代表此次升级完成;
E.将ST-LINK V2重新与STM32系统板正确连接,打开keil5软件检查debug页面,可以正确识别到芯片, 可以看到如下界面,证明下载链接没有问题,可以进行下一步操作。
设置 Flash Download 栏,点击“add”按钮,选择“XIST Micro 128k Flash V1.0”文件,具体设置如图
此文件在我们的DEMO包里会提供,文件名称是 SA30K_EFlash.FLM,请注意区分。
成功之后如图所示:
至此,下载前的准备工作基本完成。
成功编译完程序之后,build output 提示生成相应的BIN文件,点击 Load 按钮 ,如下所示
下载成功之后,界面会提示已经下载成功。
这样,我们就可以不用再进行合并文件,可以单独更新CM3的程序,方便快捷,提升调试效率。
文章来源:智多晶