xc3sprog

Project: xc3sprog

Back to FPGA page.

links

xc3sprog, Github: matrix-io/xc3sprog,

History

2021-10-03: I re-created this page on my self-hosted web server.

2018-07-20: e1 - try it out

[tingo@kg-elitebook build]$ ./xc3sprog  -h
XC3SPROG (c) 2004-2011 xc3sprog project $Rev: 795 $ OS: Linux
Free software: If you contribute nothing, expect nothing!
Feedback on success/failure/enhancement requests:
    http://sourceforge.net/mail/?group_id=170565
Check Sourceforge for updates:
    http://sourceforge.net/projects/xc3sprog/develop

Unknown option -h
usage:    xc3sprog -c cable [options] <file0spec> <file1spec> ...
    List of known cables is given with -c follow by no or invalid cablename
    filespec is filename:action:offset:style:length
    action on of 'w|W|v|r|R'
    w: erase whole area, write and verify
    W: Write with auto-sector erase and verify
    v: Verify device against filename
    r: Read from device,write to file, don't overwrite existing file
    R: Read from device and write to file, overwrite existing file
    Default action is 'w'

    Default offset is 0

    style: One of BIT|BIN|BPI|MCS|IHEX|HEX
    BIT: Xilinx .bit format
    BIN: Binary format
    BPI: Binary format not bit reversed
    MCS: Intel Hex File, LSB first
    IHEX: INTEL Hex format, MSB first (Use for Xilinx .mcs files!)
    HEX:  Hex dump format
    Default for FPGA|SPI|XCF is BIT
    Default for CPLD is JED
    Default for XMEGA is IHEX
    Default length is whole device

Possible options:
   -p val[,val...]  Use device at JTAG Chain position <val>.
             Default (0) is device connected to JTAG Adapter TDO.
   -e        Erase whole device.
   -h        Print this help.
   -I[file]  Work on connected SPI Flash (ISF Mode),
             after loading 'bscan_spi' bitfile if given.
   -j        Detect JTAG chain, nothing else (default action).
   -l        Program lockbits if defined in fusefile.
   -m <dir>  Directory with XC2C mapfiles.
   -u        Read usercode form XC2C devices.
   -U val    Set usercode when writing a JED file to XC2C devices.
   -R        Try to reconfigure device(No other action!).
   -T val    Test chain 'val' times (0 = forever) or 10000 times default.
   -J val    Run at max with given JTAG Frequency, 0(default) means max. Rate of device
             Only used for FTDI cables for now
   -D        Dump internal devlist and cablelist to files
             In ISF Mode, test the SPI connection.
   -X opts   Set options for XCFxxP programming
   -v        Verbose output.

Programmer specific options:
   -d        (pp only     ) Parallel port device.
   -s num    (usb devices only) Serial number string.
   -L        (ftdi only       ) Don't use LibUSB.

Device specific options:
   -E file   (AVR only) EEPROM file.
   -F file   (AVR only) File with fuse bits.

list cables

[tingo@kg-elitebook build]$ ./xc3sprog  -c
XC3SPROG (c) 2004-2011 xc3sprog project $Rev: 795 $ OS: Linux
Free software: If you contribute nothing, expect nothing!
Feedback on success/failure/enhancement requests:
    http://sourceforge.net/mail/?group_id=170565
Check Sourceforge for updates:
    http://sourceforge.net/projects/xc3sprog/develop

./xc3sprog: option requires an argument -- 'c'
Known Cables
ftdi                ftdi    1500000   0x0403:0x6010:                                             
papilio             ftdi    6000000   0x0403:0x6010:                                             
minila              ftdi    800000    0x0403:0x6010:                                             
saturn              ftdi    6000000   0x0403:0x6010:                                             
ft232h              ftdi    1500000   0x0403:0x6014:                                             
ft4232h             ftdi    1500000   0x0403:0x6011:                                             
cm1                 ftdi    1500000   0x0403:0x8350:                                             
bbv2                ftdi    1500000   0x0403:0x6010::1:0x00:0x10:0x00:0x0                        
bbv2_2              ftdi    1500000   0x0403:0x6010::2                                           
dlp2232h            ftdi    1500000   0x0403:0x6010:DLP-2232H:1:0x00:0x10:0x00:0x0               
amontec             ftdi    1500000   0x0403:0xcff8::1:0x00:0x10:0x00:0x00                       
olimex              ftdi    1500000   0x15b1:0x0003::1:0x00:0x10:0x00:0x08                       
ikda                ftdi    1500000   0x0403:0x6010::1:0x00:0x00:0x00:0x04                       
llbbc               ftdi    8000000   0x0403:0x6010:LLBBC10:2:0x00:0x00:0x00:0x04                
llif                ftdi    8000000   0x0403:0x6010:LLBBC_INTERFACE1:2:0x10:0x10:0x00:0x00       
llbus               ftdi    1500000   0x0403:0x6010:LLBBC_INTERFACE1:2:0x00:0x10:0x00:0x00       
plugjtag            ftdi    1500000   0x9e88:0x9e8f::1:0x00:0x10:0x00:0x00                       
ftdijtag            ftdi    1500000   0x0403:0x6010:FTDIJTAG:1:0x00:0x10:0x00:0x00               
ft2232test          ftdi    8000000   0x0403:0x6010:FT2232TEST:1:0x00:0x10:0x00:0x80             
l_motctl            ftdi    8000000   0x0403:0x6010:L_MOTCTL:1:0x00:0x00:0x00:0x40               
l_motctl_avr        unknown 8000000   0x0403:0x6010:L_MOTCTL:1:0x00:0x00:0x00:0x00               
knob2usb            ftdi    0         0x0403:0x6010:KNOB2USB:0:0x00:0x10:0x00:0x40               
qm07_pu             ftdi    0         0x0403:0x6010:QM07_PU:0:0x00:0x10:0x00:0x04                
qm07-pu             ftdi    0         0x0403:0x6010:QM07-PU:0:0x00:0x10:0x00:0x04                
xpc                 xpc     0         0x03fd:0x0008                                              
xpc_internal        xpc     0         0x03fd:0x0008                                              
llbbc08             fx2     0         0xfffe:0x0018                                              
qdu16               fx2     0         0xfffe:0x0018                                              
pp                  pp      0         NULL                                                       
dlc5                pp      0         NULL                                                       
jtaghs1             ftdi    1500000   0x0403:0x6010:Digilent Adept USB Device:0:0x80:0x80:0x00:0x0
jtaghs1_fast        ftdi    30000000  0x0403:0x6010:Digilent Adept USB Device:0:0x80:0x80:0x00:0x0
nexys4              ftdi    6000000   0x0403:0x6010:Digilent USB Device:0:0xe8:0xeb:0x00:0x60    
jtaghs2             ftdi    6000000   0x0403:0x6014:Digilent USB Device:0:0xe8:0xeb:0x00:0x60    
turtelizer          ftdi    1500000   0x0403:0xbdc8:Turtelizer JTAG/RS232 Adapter:0:0x00:0x10:0x00:0x0
arm-usb-ocd-h       ftdi    1500000   0x15ba:0x002b::1:0x00:0x10:0x00:0x08                       
tumpa               ftdi    1500000   0x0403:0x8a98:TIAO USB Multi-Protocol Adapter:1            

ok

2018-07-20: e1 - checkout latest version from SourceForge

[tingo@kg-elitebook xc3sprog]$ svn checkout https://svn.code.sf.net/p/xc3sprog/code/trunk xc3sprog-code
[..]
 U   xc3sprog-code
Checked out revision 795.

ok. build it

[tingo@kg-elitebook xc3sprog]$ cd xc3sprog-code/
[tingo@kg-elitebook xc3sprog-code]$ mkdir build; cd build;
[tingo@kg-elitebook build]$ cmake ..
-- The C compiler identification is GNU 8.1.1
-- The CXX compiler identification is GNU 8.1.1
-- Check for working C compiler: /usr/lib64/ccache/cc
-- Check for working C compiler: /usr/lib64/ccache/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/lib64/ccache/c++
-- Check for working CXX compiler: /usr/lib64/ccache/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.4.2")
-- Checking for module 'libftdi1'
--   Found libftdi1, version 1.3
-- Checking for module 'libftd2xx'
--   Package 'libftd2xx', required by 'virtual:world', not found
-- Could NOT find LIBFTD2XX (missing: LIBFTD2XX_LIBRARIES LIBFTD2XX_INCLUDE_DIR)
-- Found Subversion: /usr/bin/svn (found version "1.10.0")
-- Checking for module 'libusb'
--   Found libusb, version 0.1.12
-- Configuring done
-- Generating done
-- Build files have been written to: /zs/tingo/work/fpga/xc3sprog/xc3sprog-code/build
[tingo@kg-elitebook build]$ make
[..]
[100%] Linking CXX executable javr
[100%] Built target javr

files

[tingo@kg-elitebook build]$ l
./           CMakeCache.txt        detectchain*      Makefile    xc3sprog*
../           CMakeFiles/        devices.h      packages/
avrfuseparse*  cmake_install.cmake    javr/          readdna*
bitparse*      CPackConfig.cmake    jedecparse*      srecparse*
cables.h       CPackSourceConfig.cmake    libxc3sproglib.a  xc2c_warp*

ok