# FTDI を Xilinx Platform Cable で使えるようにする

**URL:** <https://forum.spacecubics.com/t/ftdi-xilinx-platform-cable/104>\
**Category:** Community\
**Tags:** lang-ja\
**Created:** [August 6, 2025, 1:28am UTC](https://forum.spacecubics.com/t/ftdi-xilinx-platform-cable/104 "2025-08-06T01:28:49Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![yashi](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.spacecubics.com/yashi/32/10_2.png) [@yashi](https://forum.spacecubics.com/u/yashi)\
**Post date:** [August 6, 2025, 1:28am UTC](https://forum.spacecubics.com/t/ftdi-xilinx-platform-cable/104/1 "2025-08-06T01:28:49Z")

</div>

AMD / Xilinx Platform Cable で XSCD や XSDB を使うには JTAG が使えないといません。最近は FTDI でこれが作れるようになっています。

`ftdi_program` というツールが Vivado / Vitis についてくるので、これで FTDI につながっている EEPROM をプログラムすることが可能です。

詳しくは UG908 Vivado Design Suite User Guide: Programming and Debugging を確認してください。 2022.1 以降の版には「Programming FTDI Devices for Vivado Hardware Manager Support」という章があります。

Linux ユーザーは、 `ftdi_program` を使う前に、デバイスドライバーを `unbind` する必要があります。 `unbind `しないとデバイスが見つからないと怒られます。

```auto
❯ program_ftdi -read

****** program_ftdi v2024.2
  **** Build date : Sep 20 2024-09:46:40
    ** Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
    ** Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.

INFO: Detected 0 devices
ERROR: Must detect atleast 1 device in order to read the eeprom. 

[ERROR] failed reading

```

Unbind の方法はネットに詳しいので、ここではコマンドだけ載せておきます。

```auto
❯ ls /sys/bus/usb/drivers/ftdi_sio
1-2.4:1.0 1-2.4:1.1 1-2.4:1.2 1-2.4:1.3 module bind uevent unbind

❯ ls /sys/bus/usb/drivers/ftdi_sio -l
lrwxrwxrwx - root root 2025-08-06 10:01 1-2.4:1.0 -> ../../../../devices/pci0000:00/0000:00:01.2/0000:20:00.0/0000:21:08.0/0000:2a:00.1/usb1/1-2/1-2.4/1-2.4:1.0
lrwxrwxrwx - root root 2025-08-06 10:01 1-2.4:1.1 -> ../../../../devices/pci0000:00/0000:00:01.2/0000:20:00.0/0000:21:08.0/0000:2a:00.1/usb1/1-2/1-2.4/1-2.4:1.1
lrwxrwxrwx - root root 2025-08-06 10:01 1-2.4:1.2 -> ../../../../devices/pci0000:00/0000:00:01.2/0000:20:00.0/0000:21:08.0/0000:2a:00.1/usb1/1-2/1-2.4/1-2.4:1.2
lrwxrwxrwx - root root 2025-08-06 10:01 1-2.4:1.3 -> ../../../../devices/pci0000:00/0000:00:01.2/0000:20:00.0/0000:21:08.0/0000:2a:00.1/usb1/1-2/1-2.4/1-2.4:1.3
lrwxrwxrwx - root root 2025-08-06 10:01 module -> ../../../../module/usbserial
.-w------- 4.1k root root 2025-08-06 10:01 bind
.-w------- 4.1k root root 2025-08-06 10:01 uevent
.-w------- 4.1k root root 2025-08-06 10:01 unbind

❯ echo -n 1-2.4:1.0 | sudo tee /sys/bus/usb/drivers/ftdi_sio/unbind

```

以下に、 `program_ftdi` のHELP を載せておきます。

```auto
❯ program_ftdi -h   

****** program_ftdi v2024.2
  **** Build date : Sep 20 2024-09:46:40
    ** Copyright 1986-2022 Xilinx, Inc. All Rights Reserved.
    ** Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.

Short Description:
Write/Read to FTDI EEPROM for Xilinx JTAG Tools support

Syntax:
program_ftdi {-write -ftdi=<ftdi_part> -serial=<serial_number> [options] | 
              -write -filein=<cfg_filein> |
              -read [-fileout=<cfg_fileout>] |
              -erase} [-help] 

options: 
Name Description 
------------------------------------------------------------------------------------------------------
-f, -fdti Specify the ftdi device to be programmed <FT232H | FT2232H | FT4232H> 
-s, -serial Serial number to be written into the EEPROM
[-v, --vendor] Vendor information
[-b, --board] Name of the board/product being programmed
[-d, -desc, -description] A short description of the board
-fi, -filein Input file with all fields to be written
[-fo, -fileout] File to which the FDI EEPROM should be read back
[-lh, -longhelp] Get long help description for program_ftdi util     

Examples:
program_ftdi -write -ftdi FT2232H -serial 0ABC01 -vendor "my vendor co" -board "my board" -desc "my product desc" 
program_ftdi -write -filein <path_to_config_file>
program_ftdi -read
program_ftdi -read -fileout <path_to_config_file>
program_ftdi -erase

```
