programmer下载常见问题总结-v14

汇鼎金融 25-07-14

一、通过命令行烧写

参考文档Efinity Programmer User Guide部分,内容如下:

具体操作如下:

Efinity版本:2024.2

安装路径:C:Efinity2024.2

Hex文件路径:E:FPGA_Demo1_Ti181j484pgm_test

(1)打开cmd

(2)把路径转到C:Efinity2024.2bin,并运行setup.bat

(3)把路径转换到hex存储的目录

(4)先配置jtag_bridge文件,指令如下【注意fitd_program.py在.pgabinefx_pgm路径下】:

C:efinity2024.2binpython3 C:efinity2024.2pgmbinefx_pgmftdi_program.py -m jtag C:Efinity2024.2pgmflititaniumu00690A79.bit

其中bridge文件的路径在programmer中可以看到

(4)再烧写flash

执行指令如下:

c:efinity2024.2binpython3 c:efinity2024.2pgmbinefx_pgmftdi_program.py -m jtag_bridge_new mem_test.hex

执行效果如下:

说明:关于ftdi_program.py的用法可以执行如下操作

c:efinity2024.2binpython3 c:efinity2024.2pgmbinefx_pgmftdi_program.py –help

二、programmer下载常见报错

(0)连接下载器之后什么也读不出来

说明 :一般为驱动没有安装,在device manger里面查看是否有libusbK

(1)打开Programmer异常

原因:(1)更换USB接口

(2)USB有限制,需要联系客户IT ;

(3)如果电脑不接仿真器,可以打开programmer,然后再插入仿真器还可以下载程序。有可能是下载器接触不良导致。换了个下载器,试了好几次都没有提示了

运行以上两句可以打开programmer.看看报什么错?

(3)右键->显示设置-》时间和语言->管理语言设置->更改系统区域设置,确认Beta使用Uniocode UTF-8是否勾选,要求是不能勾选。通过指令运行显示以下错误 。

(2)Unable to configure from flash device;

解决方案:(1)用烧写器烧写时没有连接VREF,VREF如上图。

(2)可以考虑才JTAG的TCK上加个10pf电容到地。

(3)UsbError: [Errno None] b'libusb0-dll:err

1. 在下载过程中拔掉USB 这时候报“周四 十二月 16 21 2234 - Caught IOError from JtagEngine.configure() for url "ftdi://0x04030:ff/1".”的错误

2. 如果在第1步以后,不关闭programmer,再次插上USB后,刷新或者点下载,就会出现“周四 十二月 16 21 2239 - UsbError: [Errno None] b'libusb0-dll:err [control_msg] sending control message failed, win error: xc7xebxc7xf3xb5xc4xd7xcaxd4xb4xd4xdaxcaxb9xd3xc3xd6xd0xa1xa3rnn'. Check the usb driver installation for Windows”的错误

3. 在第1步拔下USB以后,刷新或者切换JTAG,Programmer就会闪退

4. 这个时候,关掉programmer重新打开,即可恢复正常下载

(4)Failure to configure was detected

(2)Ti180A版本,下载过程要要把SSL_N拉低或者把flash取掉。

(3)可能上电复位时序没有处理好

(4)电源纹波可能比较大

(5)Ti60可能是Efulse坏了。

(6)上电没有检测到CSI或者TEST_N为高;

(7)在tck上接个10pF的电容。

(8)flash从0地址开始第一个镜像位置存放的数据为乱码。这种现象可以 1)在上电时先把flash的ssl_N与GND短接让FPGA进入ps加载模式,

2)然后烧写jtag bridge让FPGA先进入user mode

3)在不断电的情况下释放SSL_N;

4)把flash的内部擦除,之后再操作即可恢复。

总之原则上不能让FPGA读取flash乱码数据进行AS加载,并且要把flash的数据清除。要想证明是否是这个原因引起的,可以想办法读出flash的内部去对比。根本的原因可能是clock source的配置被修改成了External Clock,而外部又没有时钟提供。

(5)Programer页面选择Jtag闪退

(1)用JAG烧录完bit文件后,再去加载Hex文档,烧录界面会闪退

发现客户hex文件有个小锁,应该是加密的问题

(2)客户出现,驱动安装问题

(5.1)efinity programmer 加载 flash 桥接 bit 就会闪退,另外 JTAG 模式,下载程序结束后软件也会闪退,但程序是可以下到板子的.

解决方法:让客户把当前用户下./AppData/Local/efinity下的信息删除之后可以解决问题。当然如果不能解决问题可以把该路径下的信息提供给AE帮忙分析退出原因。

(6)ERROR:Flash verify unsuccessfull... mismatch found

原因:(1)首先要确定是哪个下载器,从网上买的电缆很可能驱动不够;

(2)下载器,tck tdi加100pf电容试试

(3)Bridge使用的时钟频率最好不要超过50兆

(4)flash是否使能power down

(5)确认FLASH型号,在客户这边发现MT25,支持的型号可以读出型号和容量【GigaDevice GD25LQ128 16 MiB】,有些读出来的很奇怪 。遇到过两次了。

(6)确认JTAG bridge是否管脚分配正确

(7)如果不安装驱动,不能添加bit文件,不能生成bit文件。

(8)ERROR:Unknown error trying to read flash device,abrting

Aborting flash programming

解决方案:(1)烧写固件。按下图执行x1的批处理操作。直接双击x1.bat

(2)烧写flash的时候要把CRESET_n接地。。

(9)Invalid device ID found by JTAG, cannot confirm JTAG instance

说明:在连接eclipse时不能下载programmer,需要把eclipse断开

(10)下载程序时卡在Detecting device status...

解决方案:

(1)Flash芯片可能有问题。

(2)AS模式设置成External Clock模式。通过提供外部时钟或者把SSL_N拉低修改成PS模式,再烧写flash再退出External Clock模式。

(11) JTAG下载卡在 "-...finished with JTAG programming"

(1) 电源有问题,客户更换电源适配器之后就好了。

(12)ERROR:could not find USB backend cannot perform any USB operations

Exception: No backend available

(1)FWE-Software-Programmer-Exception: No backend available解决办法

(13)Invalid device ID found by JTAG,Can't confirm Jtag instance.

审核编辑 黄宇