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
Previous revision
Next revision Both sides next revision
ee:hydrophones:start [2018/03/20 04:54]
Ryan Summers [Communication]
ee:hydrophones:start [2019/10/17 19:07]
Chris Nathman [Code]
Line 64: Line 64:
  
 ==== Code ==== ==== Code ====
-All software and firmware is available in [[https://github.com/​PalouseRobosub/​hydro-zynq|the ​GitHub ​repository]]. There are two primary directories,​ ''​%%hardware/​%%''​ and ''​%%software/​%%''​. The ''​%%hardware/​%%''​ folder contains all the Verilog and TCL files for interacting with Vivado. TCL scripts have been generated to rebuild the block design in [[https://​www.xilinx.com/​products/​design-tools/​vivado.html|Vivado]],​ and a ''​%%README.txt%%''​ file in ''​%%proj/​%%''​ describes how to use them. Additionally,​ the IO constraints file is provided for the current hardware.+All software and firmware is available in [[https://gitlab.com/​PalouseRobosub/Electrical/​hydro-zynq|the ​Gitlab ​repository]]. There are two primary directories,​ ''​%%hardware/​%%''​ and ''​%%software/​%%''​. The ''​%%hardware/​%%''​ folder contains all the Verilog and TCL files for interacting with Vivado. TCL scripts have been generated to rebuild the block design in [[https://​www.xilinx.com/​products/​design-tools/​vivado.html|Vivado]],​ and a ''​%%README.txt%%''​ file in ''​%%proj/​%%''​ describes how to use them. Additionally,​ the IO constraints file is provided for the current hardware.
  
 The software folder contains all C source code used in programming the HydroZynq. An ELF file can be created by using the ''​%%mk%%''​ script supplied with the source file name.  The software folder contains all C source code used in programming the HydroZynq. An ELF file can be created by using the ''​%%mk%%''​ script supplied with the source file name. 
Line 71: Line 71:
   ./mk app/​main_bin.c   ./mk app/​main_bin.c
  
-All files located in ''​%%src/​%%''​ will be compiled against the application specified to generate the binary. ​Finally, ​a ''​%%BOOT.bin%%''​ file (binary image that is used for booting off the SD caredcan be created through the utilization of the ''​%%doit%%''​ script. ​+All files located in ''​%%src/​%%''​ will be compiled against the application specified to generate the binary. 
 + 
 +==== Programming & Debugging ==== 
 +In order to generate ​boot-able ​''​%%BOOT.bin%%''​ file (binary image that is used for booting off the SD card), utilize ​the ''​%%doit%%''​ script ​in the ''​%%software/​%%''​ directory
  
 Example: Example:
Line 79: Line 82:
  
 //The current firmware utilizes **software/​bit/​adc_dma_revb.bit** as the bitstream file.// //The current firmware utilizes **software/​bit/​adc_dma_revb.bit** as the bitstream file.//
- +In order to efficiently debug through GDB and program on the fly, 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 the Xilinx Vivado tool suite).
-==== Cross-Compile FFTW3 ==== +
-In order to perform frequency analysis, the HydroZynq utilizes the FFTW3 libraries. In order to generate the libfftw3.a library ​and the associated header filesit is necessary to compile FFTW from scratch. This can be completed by downloading ​the FFTW tarball from [[http://​www.fftw.org/​download.html|here]]. Next, untar the tarball, create an output directory for the library and headers, and configure FFTW before installation with the following options: +
-  mkdir build +
-  ./configure --host=arm-none-eabi "​CFLAGS=--specs=nosys.specs -mcpu=cortex-a9 -mfpu=vfpv3 -mfloat-abi=hard"​ --enable-armv7a-cntvct --prefix=`pwd`/​build +
-  make -j4 +
-  make install +
- +
-The library and appropriate headers will now be in the ''​%%build/​%%''​ directory. +
- +
-==== Programming & Debugging ==== +
-Programming and debugging can be completed through creation of a new ''​%%BOOT.bin%%''​ on the SD card, but this is often 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 the Xilinx Vivado tool suite).+
  
 After executing xmd from the command line, you will enter a shell-like environment. To connect to the ARM core for programming,​ enter: After executing xmd from the command line, you will enter a shell-like environment. To connect to the ARM core for programming,​ enter:
Line 162: Line 154:
 | Analog-to-Digital Converter | LTC2171-14 | [[http://​cds.linear.com/​docs/​en/​datasheet/​21721014fb.pdf|Datasheet]]| | Analog-to-Digital Converter | LTC2171-14 | [[http://​cds.linear.com/​docs/​en/​datasheet/​21721014fb.pdf|Datasheet]]|
  
 +=== Hydrophone dimensions: === 
 +{{:​ee:​hydrophones:​as-1_hydrophone_dimensions.jpg}}