最近买了块Xilinx Kria KV260,发现底板板载的调试器是FT4232H,感觉有点意思,因此花了点时间把EEPROM的内容(俗称固件)dump出来并做了少许修改。在用于Xilinx调试器时,FT4232H的ChannelA是JTAG,ChannelB和ChannelC可用于串口,ChannelD可以忽略,因此是1xJTAG+2xUART,看起来性价比相对FT2232H做成的调试器(Digilent JTAG-SMT3-NC)更高。
亲测可用于Xilinx Vivado烧录任意器件,不过手头只有一个Memblaze(XC7K325T)可供测试,欢迎大家自行测试后反馈结果。如果需要原理图,可以参考KV260底板的原理图,Xilinx官网搜索XTP682就有。
晒张图证明可用:
最后贴一下工程和编译好的二进制文件:
FT4232H EEPROM Modify.zip
最近编辑记录 metro (2021-05-28 01:12:01)
离线
谢谢分享,有没有lattice FPGA烧录器资料啊
离线
KV260底板的原理图 这个能贴一个上来吗?
xilinx网站好像login访问不了了,我翻墙进去也老是不能登录密码
离线
离线
JTAG可以支持30M吗?图片上只有15M
离线
离线
xtp681-kria-k26-carrier-card-layout.zip
LAYOUT,
allegro 格式的
离线
谢谢分享,有没有lattice FPGA烧录器资料啊
Lattice调试器直接用FT232H就可以了,EEPROM不焊接或者擦除掉均可。
需要原理图的话,参考他家的官方开发板。
离线
JTAG可以支持30M吗?图片上只有15M
默认15M,最高30M,和其它FTx232H芯片一样。
离线
lcfmax 说:谢谢分享,有没有lattice FPGA烧录器资料啊
Lattice调试器直接用FT232H就可以了,EEPROM不焊接或者擦除掉均可。
需要原理图的话,参考他家的官方开发板。
谢谢了
离线
ft232如何作为intel fpga的下载器比如ep4c系列
离线
ft232如何作为intel fpga的下载器比如ep4c系列
Quartus默认不支持FTDI的芯片,不过我在网上看到一个号称可以通过替换dll支持的方法,链接如下:https://mil.ufl.edu/3701/docs/quartus/quartus18.1_installation.pdf。
手头没有Altera的FPGA板子(严格来说有但是板载了下载器233)所以没法测试,可以试一下好不好用。
离线
@metro 没说替换吧,只是增加,估计用的插件技术增加一个编程器类型
离线
刚画了个FT4232H的核心板和配套的多功能扩展板,就看到了这个帖子,积分不够,之后来下:D
离线
以前玩矿板的时候,用FT2232HL做过,那时候芯片挺便宜,现在翻了几番
离线
有ch552的ft232克隆 价钱还是比较便宜
离线
楼主,我下载的FT4232H EEPROM Modify压缩包里没有目标文件,麻烦确认一下,多谢啦
离线
@david 这倒是挺有趣的,FT232应该是实现调试Xilinx系列FPGA的最简JTAG方案了,大多都是抄的Digilent固件,不知道这个ch552如何模拟的FT232?我记得FT系列的芯片上位机由其自身专门的驱动,USB要完全模拟FT232的行为还是要费点功夫,不知道有没有相关的实现连接?谢谢
离线
@llinjupt
用 FT2232HL 实现,也是 dump 原厂的固件。
使用 FTDI 的 FT_Prog 程序就可以 dump 到 EEPROM 的固件,但是烧录不了的,会丢失一半的数据。有 256 字节的数据,FT_Prog 默认烧录成 0xFF。
离线
@llinjupt
用 FT2232HL 实现,也是 dump 原厂的固件。
使用 FTDI 的 FT_Prog 程序就可以 dump 到 EEPROM 的固件,但是烧录不了的,会丢失一半的数据。有 256 字节的数据,FT_Prog 默认烧录成 0xFF。
我记得Xilinx 的Vivado就只用了其中的一些字段判定是否是Digilent的固件,这个CH552方案,应该要完全模拟相关上位机的请求,并反馈相同应答,如果这个方案真实存在,(网上说是打磨芯片,不确定是否是WCH),那么逆向工程做的还挺有趣的,因为它还模拟了FT_Prog的一套请求,也即USB这一套指令,应该使用了内部FLASH做EEPROM,这种模拟确实很新奇,可以推广用于模拟其他USB方案的芯片,这样成本就大大降低了
离线
@llinjupt
确实是这样
下面数据是从 FT232HL 里头 dump 出来的:
(其他的也可以从读出 EEPROM 里头的数据,但是要写进去的话,需要编写一个终端程序,github上有其代码实行)
Device: 0 [Loc ID:0x111]
Word MSB
0000: 0001 0403 6014 0900 FA80 0008 0000 12A0 ....`...........
0008: 28B2 1ADA 0000 0000 0000 0000 0000 0056 (..............V
0010: 0001 92C7 356A 0152 3090 744A 6761 7348 ....5j.R0.tJgasH
0018: 0032 0000 0000 0000 0000 4400 6769 6C69 .2........D.gili
0020: 6E65 2074 544A 4741 482D 3253 0000 0000 ne tTJGAH-2S....
0028: 0000 0000 0000 0000 0011 0000 0000 0000 ................
0030: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0038: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0040: 0000 0000 0000 0000 0000 0048 0000 0000 ...........H....
0048: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0050: 0312 0044 0069 0067 0069 006C 0065 006E ...D.i.g.i.l.e.n
0058: 0074 0328 0044 0069 0067 0069 006C 0065 .t.(.D.i.g.i.l.e
0060: 006E 0074 0020 0055 0053 0042 0020 0044 .n.t. .U.S.B. .D
0068: 0065 0076 0069 0063 0065 031A 0032 0031 .e.v.i.c.e...2.1
0070: 0030 0032 0034 0039 0039 0038 0031 0038 .0.2.4.9.9.8.1.8
0078: 0037 0037 0302 0000 0000 0000 0000 16D0 .7.7............
离线
楼主,十分感谢分享,我试了一下,是可以配置成功的。我想把FT4232配置成2路JTAG+2路uart,不知道如何修改?手册上好像没描述256字节的定义。楼主能否给点建议?多谢啦!
离线
@metro
楼主,十分感谢分享,我试了一下,是可以配置成功的。我想把FT4232配置成2路JTAG+2路uart,不知道如何修改?手册上好像没描述256字节的定义。楼主能否给点建议?多谢啦!
离线
@metro
楼主,十分感谢分享,我试了一下,是可以配置成功的。我想把FT4232配置成2路JTAG+2路uart,不知道如何修改?手册上好像没描述256字节的定义。楼主能否给点建议?多谢啦!
试过改成两个JTAG的配置,确实可以有两个JTAG,但是Vivado只能识别出其中一个,这个应该是软件的限制。
如果对这方面感兴趣,可以看看libftdi的源代码,里面有你想要的答案。
离线
@metro
你配置成2个jtag之后,是不是没有把2个jtag的id号改不一样了?
离线
@metro
能否把您修改的2个jtag的eeprom文件分享一下,我这边研究一下,如果能搞定的话,我发出来大家共享。
离线
@metro
能否把您修改的2个jtag的eeprom文件分享一下,我这边研究一下,如果能搞定的话,我发出来大家共享。
当时尝试的结果没有保存。期待这边的好消息😋
离线
请问下载的附件程序怎么用?能生成新的.xml文件吗?
离线
请问下载的附件程序怎么用?能生成新的.xml文件吗?
理论上来说拿个FT4232H的板子上烧录就行 不过友人说eeprom需要时93LC56的
离线
想问一下楼主的memblaze卡怎么淘的
离线
最近再用这个FT4232H 注意下 EEPROM,必须16-bit 的低电压的才行。93lc56B,93lc66B。都可以。
离线
正好最近做了个底板也用了这颗FT4232H,手上有个KV260的底板。发现如果只是用FT_PROG工具把KV260的底板template保存并写到自己板上的EEPROM里面是不能被Vivado识别的。比对了一下EEPROM里面原始数据,KV260底板里面的0x0D~0x17有内容,而FT_PROG是不会碰这个区域,不知道Vivado是不是用这个字段来做识别。折腾了两个小时,终于在linux找到一个FTDI的EEPROM工具的全dump和flash工具ftdi-eeprom,可以参考这个工具进行备份和flash。
安装方法:sudo apt-get install libftdi1 ftdi-eeprom
使用方法:https://manpages.debian.org/testing/ftdi-eeprom/ftdi_eeprom.1.en.html
最近编辑记录 zhangqasd (2021-12-21 11:00:22)
离线
@zhangqasd
是的,FT_PROG不会改这个区域,但是Vivado会使用上面的数据进行验证,包括Digilent的调试器也是一样的。
FTDI的驱动中有提供EEPROM烧录相关的API,可以直接调用,当然用ftdi-eeprom也是可行的。
离线
请问这个固件怎样下载到eeprom中?
离线
离线
这里的固件和下载方法有用
https://github.com/dragonlock2/ftdi_dumps
离线
如何修改啊?有什么资料吗?谢谢
离线
请问这个固件怎样下载到eeprom中?
离线
eeprom的配置如何按照自己的需求进行配置,有没有教程啊?
离线
https://whycan.com/t_8054.html
来白嫖这里的,更方便
离线
好东西,FT的芯片越来越开源了
离线
再加一个uart就完美了,之前一直用的2232,jtag+uart组合
离线
= =。 下载了附件,执行了.exe,插上FT4232可以看到识别到了,但是找不到FPGA,没法烧写,还需要其他操作吗?还是我少了哪个环节?
离线
= =。 下载了附件,执行了.exe,插上FT4232可以看到识别到了,但是找不到FPGA,没法烧写,还需要其他操作吗?还是我少了哪个环节?
你是不是没加eeprom,或者接的不对
离线
好东西,FT的芯片越来越开源了
也不算开源,只是FT的片子 特别好用,而且基本全平台支持。我们之前用过FT的USB3.0芯片 比赛普拉斯的片子好用太多,而且提供包括树莓派、英伟达嵌入式GPU等ARM芯片的驱动
离线
VCU128开发板也是用的FT4232,一个JTAG接口,三个串口!附文件第34页 https://whycan.com/files/members/9311/vcu128_sch.pdf
离线
@zhangqasd 我在用sudo ftdi_eeprom--flash-eeprom flash_digilent.conf时只能刷128B,后面的128B写不了,请问有没有遇到过这样的问题,谢谢
最近编辑记录 merlinbbs (2022-05-18 12:16:02)
离线
eeprom的配置如何按照自己的需求进行配置,有没有教程啊?或者有没有对应的xml文件
离线
请问想让第二个通道为uart,修改哪里啊?
离线
感谢大佬们分享,请教用编程器写入eeprom再焊到板上可以吗?
离线
谢谢分享,有没有lattice FPGA烧录器资料啊
离线
这里的固件和下载方法有用
https://github.com/dragonlock2/ftdi_dumps
用这个可以烧录k26i吗,我试过可以烧zc702,但是k26i一直提示错误,还在排除是硬件问题还是eeprom问题
离线
@metro 楼主,Memblaze(XC7K325T)这个是memblaze pblaze3这个板子吗?可玩性如何?
离线
这个和FT2232做的有什么区别吗
离线
谢谢分享,请问EEPROM FT232HL可以用吗?
离线
我烧写成功,但是只识别到三个串口
离线
应该是用ft prog下载吧
离线
串口能都用起来就好了,不知道ft的那些配置是啥意思
离线
用ch347+openOCD也可以,可能更方便点
离线
wangdong 说:= =。 下载了附件,执行了.exe,插上FT4232可以看到识别到了,但是找不到FPGA,没法烧写,还需要其他操作吗?还是我少了哪个环节?
你是不是没加eeprom,或者接的不对
你好,我也碰到这个问题,请问现在解决了吗。我本来是设备识别不到,然后通过vivado 2022的那个版本写入指令到FTDI里面,但是现在识别不到FPGA。
离线
我烧写成功,但是只识别到三个串口
你好,我通过vivado2022烧写FTDI成功(通过FT_Drog可以看到写入了),但是fpga任然检测不到
离线
A port是jtag,其他3个显示串口吗?
离线
用ft_prog写进去吗?
离线
JTAG识别不到,只有串口,不知为何
离线
dear all friend,
i have ftdi4232h mini module i need to make jtag but he not show eprom i use ft_prog than he show no eprom device blank
but 4 uart port working fine please help me...
thanks
离线
@metro
大佬,我最近在研究Memblaze(XC7K325T)这个板子,大佬能否分析一下板子电路JTAG还有转接板方面的资料
离线
JTAG接口可以用ChannelB吗?
离线
@a73362262
我也遇到这个问题了,请问你解决了吗
离线
我需要VCU128上FT4232的eeprom数据,哪位大哥用FT_Prog读出来发下。
离线
楼主,我自己做了一个仿真器,但是无法检测到EEPROM,是怎么回事啊
离线
请问win有能直接4232烧录eeprom的软件吗
离线
ch347+xvc的方式应该是OK的,或者用openocd
离线
自己也做了个FT4232的下载器,vivado里显示能显示hardware target了,但是连接板卡以后搜不到FPGA,也是memblaze,提示ERROR: [Labtools 27-2269] No devices detected on target localhost:3121/xilinx_tcf/Xilinx/15051A,折腾半天没思路了,测试串口功能ok没问题,怀疑是固件问题了,试试楼主的固件去
离线
刚好有两个这个,给刷了当jtag用,谢谢大佬
离线
您好,想问一下,如果想用一个FT4232H同时出两个JTAG口,分别访问zynq7000和Lattice的MXO2,需要外加eeprom吗?
离线
请问谁有 jtag + openocd 的 固件 或者源码
离线
用其他人的exe 刷完显示成功但是vivado没能识别到下载器
离线
@zhangqasd
有意思的发现,这也解答了我心中的疑惑,看来并非是简单用FT prog就能解决EEPROM写入实现Digilent JTAG。在论坛里看到一篇逆向SMT3的论文也挺有趣的:
http://file.whycan.com/files/members/1510/An%20Example%20of%20PCB%20Reverse%20Engineering%20%E2%80%93%20Reconstruction%20of%20Digilent%20JTAG%20SMT3%20Sche.pdf
离线
支持FT232 FT2232 FT4232都支持?
离线