User Tools


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 Both sides next revision
ee:hydrophones:start [2018/01/24 20:05]
Ryan Summers
ee:hydrophones:start [2018/01/24 20:12]
Ryan Summers
Line 74: Line 74:
  
 This will automatically mount and copy over the BOOT.bin to the card for the HydroZynq. This script takes in the source file name of the main application as the first argument and the bit stream file as the second parameter. ​ This will automatically mount and copy over the BOOT.bin to the card for the HydroZynq. This script takes in the source file name of the main application as the first argument and the bit stream file as the second parameter. ​
-  ​The current firmware utilizes bit/​adc_dma_revb.bit as the bitstream file. + 
-=== Programming ===+**The current firmware utilizes ​software/bit/​adc_dma_revb.bit as the bitstream file.** 
 + 
 +=== Programming ​& Debugging ​=== 
 +Programming and debugging can be completed through creation of new BOOT.bin files on the SD card, but this is often extremely inefficient. The [[https://​store.digilentinc.com/​jtag-hs3-programming-cable/​|Digilent HS3]] can be used as a JTAG access point for GDB debug interfaces. To interact with the HydroZynq through JTAG, use the `xmd` command (provided by Xilinx). 
 + 
 +After executing xmd from the command line, you will enter a shell-like environment. To connect to the ARM core for programming,​ enter: 
 +  > connect_arm_hw 
 +   
 +Once connected, if you desired to program the FPGA or the ARM, first stop the ARM CPU. 
 +  > stop 
 + 
 +To program a new bitstream,​ 
 +  > fpga -f [bitstream_file_path] 
 +   
 +To load a new ELF onto the CPU, 
 +  > dow [elf_file_path] 
 +   
 +Finally, the CPU can be restarted,​ 
 +  > run 
 +   
 +Once XMD has been started, a remote GDB server is automatically instantiated. To connect to the GDB server, simply use the debug.sh script located in `software/` to launch up a GDB session. 
 +  ./debug.sh
 === Communicating === === Communicating ===