Commit Graph

974 Commits

Author SHA1 Message Date
Gwenhael Goavec-Merou 800ad1ce2c rawParser: simple class to read raw binary content with an optional reverse order 2020-09-05 07:49:57 +02:00
Gwenhael Goavec-Merou ad4dd39cdd main: pass write mode to anlogic constructor 2020-08-24 08:55:27 +02:00
Gwenhael Goavec-Merou 3349e65079 anlogic: add SPI flash support 2020-08-24 08:54:45 +02:00
Gwenhael Goavec-Merou bfd7e9b6ed anlogicBitParser: allows to reverse (or not) bytes 2020-08-24 08:53:30 +02:00
Gwenhael Goavec-Merou 31bc9cf988 spiFlash: drop annoying message in write_enable method 2020-08-24 08:52:00 +02:00
Gwenhael Goavec-Merou cd124d2830 gowin: add missing stdexcept required by runtime_error
fix:
src/gowin.cpp:73:11: error: 'runtime_error' is not a member of 'std'
      throw std::runtime_error("both write-flash and write-sram can't be set");
            ^
src/gowin.cpp:81:10: error: 'runtime_error' is not a member of 'std'
      throw std::runtime_error("incompatible file format");
            ^
2020-08-24 08:16:48 +02:00
Gwenhael Goavec-Merou 4aab60a2e0 ftdispi: implement spiInterface 2020-08-23 17:17:51 +02:00
Gwenhael Goavec-Merou b3ef97f95e spiInterface: increase spi_put len param 2020-08-23 17:16:21 +02:00
Gwenhael Goavec-Merou 4bfb764e75 spiFlash: fix base addr, add method to read flash content and (non)volatile registers + cleanup 2020-08-23 17:14:21 +02:00
Gwenhael Goavec-Merou d64f6f5055 anlogic: add bit file support. SVF conversion is no more required 2020-08-21 14:07:28 +02:00
Gwenhael Goavec-Merou 4a9fcaf1b9 add minimal support for anlogic bit file 2020-08-21 14:01:07 +02:00
Gwenhael Goavec-Merou e0d763c4b5 add basic support for anlogic eagle s20 FPGA and lichee tang board 2020-08-20 16:59:34 +02:00
Gwenhael Goavec-Merou c41911d039 introduce anlogic JTAG adapter (tested with sipeed lichee tang 2020-08-20 16:57:25 +02:00
Gwenhael Goavec-Merou fc503e5b27 usbBlaster: fix build 2020-08-19 17:21:20 +02:00
Gwenhael Goavec-Merou 4a70675ea6 lattice:cppcheck 2020-08-19 17:00:44 +02:00
Gwenhael Goavec-Merou 7e763dcc25 xilinx:cppcheck 2020-08-19 16:57:07 +02:00
Gwenhael Goavec-Merou 2b3c9f0f8f cppcheck 2020-08-19 16:53:49 +02:00
Gwenhael Goavec-Merou 050aa94b8b main: delete jtag if someone is wrong 2020-08-19 15:15:37 +02:00
Gwenhael Goavec-Merou 4a3d1b3009 introduce intel usb blaster cable and de0nano board 2020-08-19 15:15:13 +02:00
Staf Verhaegen ced3363ee5 Support Arty S7-50
Added Xilinx xc7s50 device to part.hpp; added support for generating
spiOverJtag bitstream file for that device and added bitstream to repo.
Converted xdc file from DOC line endings to native line endings.
2020-08-08 11:42:38 +02:00
Gwenhael Goavec-Merou 75f160ef00 add CLI args to provide pin mapping for bitbang mode (ft232 and ft231x) 2020-08-04 17:36:33 +02:00
Gwenhael Goavec-Merou 16ef55875d ftdipp_mpsse: fix build failure with gcc 4.8 2020-08-04 16:41:12 +02:00
Ed Bordin c86dae6b62 link against winsock system lib rather than implementing ad-hoc ntohs, fix warning about redefined macro on windows 2020-07-25 16:21:27 +10:00
Ed Bordin d24c63ec8a trabucayre/openFPGALoader#38 minor adjustments for MinGW build - use memset instead of bzero, errno_t may be replaced by int, provide ad-hoc ntohs on windows (alternative is link against winsock) 2020-07-25 12:55:41 +10:00
Gwenhael Goavec-Merou 3f4086ec89 cxxopts: fix option_matcher regex 2020-07-24 08:34:44 +02:00
Gwenhael Goavec-Merou 9c42aecef5 replace argp by cxxopts 2020-07-23 18:32:18 +02:00
Gwenhael Goavec-Merou b6681c5430 adapt and copy cxxopts.hpp from https://github.com/jarro2783/cxxopts 2020-07-23 18:31:53 +02:00
Gwenhael Goavec-Merou c1741b4300 prepare release 0.1 2020-07-11 08:47:54 +02:00
Gwenhael Goavec-Merou e95a6a1792 display: use isatty() for (no)color 2020-07-11 07:56:11 +02:00
Gwenhael Goavec-Merou d85fc68add main: use printError instead of cerr 2020-07-11 07:47:27 +02:00
Gwenhael Goavec-Merou 447e3e47b2 catch exception when claiming cable 2020-07-11 07:23:24 +02:00
Gwenhael Goavec-Merou 23b8e61bc0 dirtyJtag: add () to fix operator priority 2020-06-24 07:19:15 +02:00
Gwenhael Goavec-Merou e28dbdfb2f ftdiJtagMPSSE: read mpsse_write return in toggleClk 2020-06-23 10:13:35 +02:00
Gwenhael Goavec-Merou d5b3073e78 ftdiJtagMPSSE: drop debug message 2020-06-18 06:49:45 +02:00
Gwenhael Goavec-Merou 27b0c8a664 introduce DirtyJTAG cable 2020-06-14 15:41:00 +02:00
Gwenhael Goavec-Merou ace902cb98 jtag: call toggleClk instead of playing with TMS 2020-06-14 15:20:47 +02:00
Gwenhael Goavec-Merou 2cadd21f02 ftdiJtagMPSSE: fix toggleClk to use clk toggle instruction only with compatible device 2020-06-14 15:18:22 +02:00
Gwenhael Goavec-Merou 9a10ac4d48 ftdiJtagBitbang: implement toggleClk 2020-06-14 15:05:47 +02:00
Gwenhael Goavec-Merou 275ba38207 restructure hierarchy/abstraction:
- jtagInterface as now only two method: one for tms or for tdi, in all
  case full buffer is provided and specific code deal with them to write
- jtag: drop read_write logic to jtag probe abstraction
2020-05-31 15:57:21 +02:00
Gwenhael Goavec-Merou 652b3d292e ftdipp_mpsse: change clkHZ visibility 2020-05-31 15:56:35 +02:00
Gwenhael Goavec-Merou 9b1c0d42e1
Merge pull request #36 from martin2250/master
add jtag frequency option
2020-05-26 07:12:08 +02:00
Martin Pittermann e93034db69 clean up --freq parser 2020-05-25 10:33:09 +02:00
Gwenhael Goavec-Merou 50fa17b62f gowin: add flash GW1N1 support
- eraseFlash need 65 x 32bits for GW1N1, 1 x 32bits for others
- improve flashFlash with delay according to the model
2020-05-23 14:51:48 +02:00
Martin Pittermann 92888956f3 add jtag frequency option 2020-05-21 13:07:20 +02:00
Gwenhael Goavec-Merou aa752856c3 jtag, ftdiJtagBitbang: improve tms flush and fix data reconstruct in specific conditions 2020-05-19 08:32:43 +02:00
Gwenhael Goavec-Merou 9f9528599e lattice: add mcs support for extFlash 2020-05-19 07:59:19 +02:00
Gwenhael Goavec-Merou 4b3166e8df xilinx: update according to mcsParser modifications 2020-05-19 07:58:37 +02:00
Gwenhael Goavec-Merou 64754604f6 mcsParser: length must be in bit. Allows to store data in direct or reverse Byte order 2020-05-19 07:58:08 +02:00
Gwenhael Goavec-Merou dec69596d3
Merge pull request #33 from jeanthom/ecpix5
Add support for ECPIX-5
2020-05-13 10:55:48 +02:00
Jean THOMAS eeefe48284 Add support for ECPIX-5 2020-05-12 19:09:30 +02:00
Gwenhael Goavec-Merou 8cd6f3fe2c gowin: fix internal flash 2020-05-12 10:49:58 +02:00
Gwenhael Goavec-Merou 564785c2d1 part: add idcode for LCMX02-7000HC 2020-05-04 13:09:01 +02:00
Gwenhael Goavec-Merou dcbe9fb740 board: add MachXO2 Breakout Board Evaluation Kit 2020-05-02 09:58:11 +02:00
Gwenhael Goavec-Merou 5cacdf37df part: add machXO2 LCMXO2-7000HE 2020-05-02 09:57:03 +02:00
Gwenhael Goavec-Merou 4847700b84 lattice: flash EBR when jed has this section 2020-05-02 09:47:41 +02:00
Gwenhael Goavec-Merou 099123277c jedParser: Note lines may start with N or NOTE 2020-05-02 09:10:44 +02:00
Gwenhael Goavec-Merou 77e95d637c jedParser: don't always consider STX as first char 2020-05-02 09:08:42 +02:00
Gwenhael Goavec-Merou 3221fd8ee2 jedParser: check if a \r char is present 2020-05-02 08:51:24 +02:00
Gwenhael Goavec-Merou 050a3a3f8d add Saanlima Pipistrello 2020-04-28 18:22:33 +02:00
Gwenhael Goavec-Merou e16f92199a tested with Xilinx spartan6 2020-04-28 18:21:07 +02:00
Gwenhael Goavec-Merou 84b1d86d52 lattice: display status register when loadConfiguration fails 2020-04-28 10:00:55 +02:00
Gwenhael Goavec-Merou 56a81c1d68 lattice: update define, pass data array instead of _jed to Verify method, fix wrong index use 2020-04-27 16:37:05 +02:00
Gwenhael Goavec-Merou 9d8c528c35 jedParser: fix return value when something is wrong 2020-04-24 10:20:25 +02:00
Gwenhael Goavec-Merou a4e489467e jedParser: fix checksum 2020-04-24 10:16:57 +02:00
Fabien Marteau 6ec380516c tab or space indentation, please choose 2020-04-22 20:51:54 +02:00
Gwenhael Goavec-Merou 12d69735eb main: pass wr sram/mem to lattice constructor and update help 2020-04-22 15:23:38 +02:00
Gwenhael Goavec-Merou cb66aa6885 lattice: add spiInterface method, split program_flash in two distinct method (one for internal flash and one for external spi flash), add constructor args to select flash or memory with bit file 2020-04-22 15:21:01 +02:00
Gwenhael Goavec-Merou 0409263f87 unlock block if locked before erase/flash 2020-04-21 19:25:35 +02:00
Gwenhael Goavec-Merou ee4a62e968 xilinx: implement spiInterface and pass this instead of jtag to spiFlash class 2020-04-21 09:08:32 +02:00
Gwenhael Goavec-Merou 95f247a25e spiFlash: read extented ID only when len != 0 2020-04-21 09:02:48 +02:00
Gwenhael Goavec-Merou c94f031025 spiFlash: use spiInterface to hide communication details 2020-04-21 09:00:57 +02:00
Gwenhael Goavec-Merou 2245712108 spiInterface: abstract class for SPI xfer 2020-04-21 08:53:52 +02:00
Udi Finkelstein 4558f8b395 Fixed ordering to be alphabetical 2020-04-16 10:54:53 +03:00
Udi Finkelstein 8a212e9feb Fixed DangerousPrototype's Bus Blaster support (in JTAGkey mode).
The Bus Blaster uses an FT2232H with an on-board CPLD allowing it to
impersonate various JTAG probes.
This did not work until now because JTAGkey uses ADBUS4/GPIOL0 as ~CS
to enable the JTAG buffers on the on-board CPLD.
2020-04-16 05:31:59 +03:00
Gwenhael Goavec-Merou 5a3c78c1c3 fsparser: compute configuration data checksum instead of using the one provided in the comments 2020-03-22 19:16:52 +01:00
Gwenhael Goavec-Merou a373bf1613 fsparser: use map provided by configBitstreamParser instead of a lot a variable. 2020-03-20 18:55:13 +01:00
Gwenhael Goavec-Merou 232b189286 configBitstreamParser: add map to store file header 2020-03-20 18:01:48 +01:00
Gwenhael Goavec-Merou d210d2c67e use libusb_attach_kernel_driver only when OS is Linux 2020-03-17 07:25:26 +01:00
Vlatko Kosturjak 81d8a8494d Initial Mac OS X support 2020-03-15 08:22:29 +01:00
Gwenhael Goavec-Merou 8f2d6cb1c9 add option to enable/disable udev support 2020-03-14 19:42:07 +01:00
Gwenhael Goavec-Merou df226e16e9 Merge remote-tracking branch 'origin/ftdi_bitbang' 2020-03-12 07:26:06 +01:00
Gwenhael Goavec-Merou 767add022a ftdiJtagBitbang: always purge before when changing bitbang mode 2020-03-11 19:26:38 +01:00
Gwenhael Goavec-Merou a37578bf7a ftdiJtagBitbang: set latency to 1ms 2020-03-11 19:25:35 +01:00
Gwenhael Goavec-Merou 84c656492a ftdipp_mpsse: always set RESET mode before configuration 2020-03-11 19:23:57 +01:00
Martin Pittermann 49dc6c7b3e add ids of more FTDI adapters and lattice devices 2020-03-10 12:20:44 +01:00
Gwenhael Goavec-Merou e0c19223c0 always pass cable configuration. Check if /dev if empty or not 2020-03-08 16:58:05 +01:00
Gwenhael Goavec-Merou deb3d0bed2 jtag: re-add lost dev parameter 2020-03-08 07:52:17 +01:00
Gwenhael Goavec-Merou 7f1f11d58d add ulx2s and LFXP2-8E (lattice XP2) 2020-03-07 18:46:41 +01:00
Gwenhael Goavec-Merou 2a569958d8 typo in cable.hpp (goran-mahovlic) 2020-03-07 14:13:23 +01:00
Gwenhael Goavec-Merou ffdb3bfbd0 add ulx3s board (to be tested) 2020-03-07 11:53:13 +01:00
Gwenhael Goavec-Merou 972f3f7f0d add ft231x generic cable 2020-03-07 11:51:52 +01:00
Gwenhael Goavec-Merou c4f6178733 propagate jtag_pins_conf_t and add support for bitbang mode 2020-03-07 11:44:17 +01:00
Gwenhael Goavec-Merou e8bff2d2f2 ftdiJtagBitbang: wrapper for bitbanging with ftdi devices 2020-03-07 11:43:18 +01:00
Gwenhael Goavec-Merou 84298839ea rework board structure to add an optional pin mapping for bitbang mode 2020-03-07 11:00:29 +01:00
Gwenhael Goavec-Merou 706219016e pass cable_t instead of mpsse_bit_config 2020-03-07 10:56:34 +01:00
Gwenhael Goavec-Merou f9591b89a7 cable: introduce communication mode (currently only ftdi serial/bitbang 2020-03-07 10:53:31 +01:00
Gwenhael Goavec-Merou 1ef72b0da6 add interface id in mpsse_bit_config. 2020-03-07 07:19:20 +01:00
Gwenhael Goavec-Merou 9c9348f7d0 rename ftdijtag to jtag
- drop everything about ftdi
- use jtagInterface to communicate with hardware
- for all class using jtag: rename FtdiJtag -> Jtag
2020-03-06 09:05:57 +01:00
Gwenhael Goavec-Merou 890fc3c767 ftdispi: pass BITMODE_MPSSE to ftdipp_mpsse init 2020-03-06 08:25:43 +01:00
Gwenhael Goavec-Merou 5eb4286cb4 ftdipp_mpsse: init take ftdi mode 2020-03-06 08:24:49 +01:00
Gwenhael Goavec-Merou 7b4902c460 ftdiJtagMPSSE: implementation of jtagInterface for ftdi MPSSE communication 2020-03-05 20:00:33 +01:00
Gwenhael Goavec-Merou cc9da9cc9c jtagInterface: introduce abstraction between jtag implementation and hardware 2020-03-05 19:53:35 +01:00
Gwenhael Goavec-Merou e11e5675ed add support for Colorlight 5A-75B v7 2020-02-22 21:02:47 +01:00
Gwenhael Goavec-Merou f87e0991e0 add support for ECP5 LFE5U-25F-6BG256C 2020-02-22 20:59:56 +01:00
Gwenhael Goavec-Merou d5e696b5c3 add --detect option to display wich FPGA 2020-02-22 20:55:51 +01:00
Gwenhael Goavec-Merou c15f0611a9
Merge pull request #20 from japm48/patch-1
Add support for Arty A7-100T
2020-02-16 18:27:56 +01:00
japm48 48d9184397
Add support for Arty A7-100T 2020-02-16 18:07:50 +01:00
Gwenhael Goavec-Merou 849e5751e0 main: catch exception, to finish cleanly 2020-02-16 16:55:37 +01:00
Gwenhael Goavec-Merou ad50f1a19b main: calls program() only when a bit_file is provided 2020-02-16 16:53:55 +01:00
Gwenhael Goavec-Merou 6a2489cfac
Merge pull request #18 from japm48/patch-1
Print error when no bitfile is specified
2020-02-16 16:51:27 +01:00
japm48 2b2806b0b4 Print error when no bitfile is specified 2020-02-16 15:44:28 +01:00
Gwenhael Goavec-Merou 563e748c69 xilinx: fpga model must be used for spiOverJtag bistream selection 2020-02-16 15:06:06 +01:00
Gwenhael Goavec-Merou 50c8d54791 xilinx: fix a random segfault and add progress status for load in sram 2020-02-16 15:03:55 +01:00
japm48 52786895d8 make installation directory configurable 2020-02-16 13:41:58 +01:00
Gwenhael Goavec-Merou 1f02fce1c9 xilinx,lattice: drop useless offset in program_mem signature 2020-02-14 15:14:22 +01:00
Gwenhael Goavec-Merou 298c4d184e jedParser: pass verbose to base class 2020-02-14 15:08:41 +01:00
Gwenhael Goavec-Merou a9ddbebc0b board: SeeedStudio Spartan Edge Accelerator Board 2020-02-01 18:08:16 +01:00
Gwenhael Goavec-Merou 0315b3243c main: allows to have board without default cable 2020-02-01 18:07:42 +01:00
Gwenhael Goavec-Merou 40bdcba161 part: add xilinx spartan7 15 2020-02-01 17:57:46 +01:00
Gwenhael Goavec-Merou a29cda11f3 add support for digilent hs3 cable 2020-02-01 17:57:20 +01:00
Gwenhael Goavec-Merou 85823d7271 tested with Lattice ECP5 5G Evaluation Board 2020-01-31 22:18:49 +01:00
Gwenhael Goavec-Merou 30552bf01d part: add support for LFE5UM5G-85F 2020-01-31 22:14:48 +01:00
Gwenhael Goavec-Merou d4957589c0 latticeBitParser.cpp: parseHeader: force comparison in unsigned char 2020-01-31 22:13:15 +01:00
Fabien Marteau a86eff6b57 Update cmake according to trabucayre request https://github.com/trabucayre/openFPGALoader/pull/17 2020-01-27 09:47:42 +01:00