User Tools

Site Tools


products:screamer_m2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
products:screamer_m2 [2019/11/29 15:43]
po [Features & Specifications]
products:screamer_m2 [2020/07/07 20:11] (current)
po
Line 1: Line 1:
 +<html>
 +<script>window.location = "http://docs.lambdaconcept.com/screamer/index.html";</script>
 +</html>
 +
 ====== Screamer M.2 ====== ====== Screamer M.2 ======
  
Line 68: Line 72:
  
   * [[https://github.com/ufrisk/pcileech|https://github.com/ufrisk/pcileech]]   * [[https://github.com/ufrisk/pcileech|https://github.com/ufrisk/pcileech]]
-  * [[https://github.com/ufrisk/pcileech-fpga/tree/master/pciescreamer|https://github.com/ufrisk/pcileech-fpga/tree/master/pciescreamer]]+  * [[https://github.com/ufrisk/pcileech-fpga/tree/master/ScreamerM2|https://github.com/ufrisk/pcileech-fpga/tree/master/ScreamerM2]]
  
  
Line 77: Line 81:
 In short: In short:
  
-1. Get the latest version of openocd from:+1. **Power the Screamer** from the PCIe M.2 connector ! (JTAG cable alone does not provide all the voltage required) 
 + 
 +2. Connect the JTAG cable to the corresponding pins on the Screamer board. 
 + 
 +3. Get the latest version of openocd from:
   * https://github.com/ntfreak/openocd   * https://github.com/ntfreak/openocd
  
-2. Get the proxy bitstream "bscan_spi_xc7a35t.bit" from:+4. Get the proxy bitstream "bscan_spi_xc7a35t.bit" from:
   * https://github.com/jordens/bscan_spi_bitstreams   * https://github.com/jordens/bscan_spi_bitstreams
  
-3. Program the SPI Flash using this configuration file:+5. Program the SPI Flash using this configuration file:
  
 <file tcl flash_screamer.cfg> <file tcl flash_screamer.cfg>
Line 103: Line 111:
 init init
 jtagspi_init 0 bscan_spi_xc7a35t.bit jtagspi_init 0 bscan_spi_xc7a35t.bit
-jtagspi_program pcileech_top.bin 0x0+jtagspi_program pcileech_screamer_m2_top.bin 0x0
 fpga_program fpga_program
 shutdown shutdown
 </file> </file>
  
 +<code bash>
 +openocd -f flash_screamer.cfg
 +</code>
 +
 +==== Troubleshooting ====
 +
 +In case of programming error, refer to [[products:jtagserial_programmer#troubleshooting|Troubleshooting]]
 +
 +==== Error: the FPGA does not boot ====
 +
 +The programming went well but the FPGA Prog Done LED is not green.
 +
 +You may have an issue with the Flash SPI Quad Enable bit. This bit should have been set on the Screamer M.2 at the factory, but maybe your board got skipped in the process. You can reenable the bit this way:
 +
 +1. Apply this patch on OpenOCD:
 +
 +{{ :tools:qe_command.patch |}}
 +<code bash>
 +cd openocd
 +git apply qe_command.patch
 +make
 +sudo make install
 +</code>
 +
 +2. In the flash_screamer.cfg file, replace the "fpga_program" fonction by this one:
 +<code bash>
 +proc fpga_program {} {
 +    jtagspi set_qe 0 1
 +    global _CHIPNAME
 +    xc7_program $_CHIPNAME.tap
 +}
 +</code>
 +
 +3. Run OpenOCD again:
 <code bash> <code bash>
 openocd -f flash_screamer.cfg openocd -f flash_screamer.cfg
 </code> </code>
products/screamer_m2.1575038623.txt.gz · Last modified: 2019/11/29 15:43 by po