aboutsummaryrefslogtreecommitdiff
path: root/recipes-demo/de10-nano-fftsw-apps/files/README_SANDBOX.TXT
diff options
context:
space:
mode:
authorWestergreen, Dalon <dalon.westergreen@intel.com>2017-03-29 15:41:36 -0700
committerWestergreen, Dalon <dalon.westergreen@intel.com>2017-03-30 16:35:30 -0700
commit9a293641b9abf9e4fca34f46a2de781f50847da9 (patch)
tree743a6aaa5f9834987a2e69881ced6eaf9efb3592 /recipes-demo/de10-nano-fftsw-apps/files/README_SANDBOX.TXT
parent8abd3fefd939f796ae49191d6f5af641f2d624d0 (diff)
downloadmeta-de10-nano-9a293641b9abf9e4fca34f46a2de781f50847da9.tar.xz
Initial commit of de10-nano recipes
Please note that this is purely for development. Only superficial efforts have been made to resolve security concerns, and it should be noted that the board ships with an EMPTY ROOT PASSWORD and support for root login via ssh. This allows passwordless access to the board via ssh. recipes-bsp/u-boot: Contains the uboot 2017.03rc2 recipe and patches to support the de10-nano board recipes-connectivity/avahi: bbappend to remove unwanted packages recipes-connectivity/bluez: bbappend to add --compat to the bluetooth service to support legacy SDP APIs recipes-connectivity/openssh: bbappend to add a custom sshd_config recipes-core/base-files: bbappend to customize fstab and inputrc recipes-core/imagemagick: bbappend to change build configuration for the de10-nano board recipes-core/packagegroups: bbappend to remove an unwanted package recipes-core/webkit: bbappend to remove support for opengl recipes-demo: Various demo applications recipes-devtools: MRAA and UPM recipes recipes-images/angstrom/de10-nano-image.bb: DE10-Nano image definition recipes-kernel/de10-nano-linux-firmware: FPGA related firmware required for fpga configuration and devicetree overlay support recipes-kernel/linux: bbappend to customize configuration of linux kernel as well as patch in the de10-nano devicetree recipes-misc: various initialization and systemd scripts recipes-qt/qt5: bbappend to modify qt build options recipes-support/neon: bbappend to remove unwanted package recipes-support/upower: bbappend to remove unwanted package recipes-webserver: webserver configuration and webcontent for board hostedweb portal recipes-xfce/thunar-volman: bbappend to remove unwanted package recipes-xfce/xfce-pointers: add configuration so that xfce does not use the adxl input as a mouse recipes-xfce/xfce4-settings: bbappend to remove unwanted package Signed-off-by: Westergreen, Dalon <dalon.westergreen@intel.com>
Diffstat (limited to 'recipes-demo/de10-nano-fftsw-apps/files/README_SANDBOX.TXT')
-rw-r--r--recipes-demo/de10-nano-fftsw-apps/files/README_SANDBOX.TXT139
1 files changed, 139 insertions, 0 deletions
diff --git a/recipes-demo/de10-nano-fftsw-apps/files/README_SANDBOX.TXT b/recipes-demo/de10-nano-fftsw-apps/files/README_SANDBOX.TXT
new file mode 100644
index 0000000..5969cbf
--- /dev/null
+++ b/recipes-demo/de10-nano-fftsw-apps/files/README_SANDBOX.TXT
@@ -0,0 +1,139 @@
+To build the applications in this directory, please follow the guidance provided
+at the top of the README_SANDBOX_BUILD.TXT file.
+
+Once you have built the applications in this directory you can follow these
+directions to make use of them.
+
+We want to run the 'fftdma_256' program and the 'neon32_256' program that we
+just built. These programs require some input waveform data to feed into the
+FFT algorithm and they output the real and imaginary FFT results. To create the
+input waveform data we can run this script:
+
+sandbox# ./sandbox_create_input_waveforms.sh
+
+The 'sandbox_create_input_waveforms.sh' script runs a few of the utiltiy
+programs that we just build along with some of the utility scripts to create
+some input waveform patterns that we can feed into the 'fftdma_256' and
+'neon32_256' programs. After we run this script we should see the following
+output that it created:
+
+sandbox# ls input_waveforms/ output_waveforms/
+input_waveforms/:
+ne10cpx_long_sine256.bin ne10cpx_short_sine256.bin
+ne10cpx_long_square256.bin ne10cpx_short_square256.bin
+ne10cpx_long_triangle256.bin ne10cpx_short_triangle256.bin
+
+output_waveforms/:
+
+The 'fftdma_256' program consumes 16-bit sample inputs which is what the
+'ne10cpx_short_*.bin' files contain, and the 'neon32_256' program consumes
+32-bit sample inputs which is what the 'ne10cpx_long_*.bin' files contain.
+
+Now we're ready to run the programs. Execute each program like this:
+
+sandbox# ./fftdma_256 \
+ --input=input_waveforms/ne10cpx_short_sine256.bin \
+ --output=output_waveforms/fftdma_256_sine.bin
+
+sandbox# ./neon32_256 \
+ --input=input_waveforms/ne10cpx_long_sine256.bin \
+ --output=output_waveforms/neon32_256_sine.bin
+
+And now we should see the raw binary output from the two program executions,
+like this:
+
+sandbox# ls output_waveforms/
+fftdma_256_sine.bin neon32_256_sine.bin
+
+You can see the raw data by dumping it with 'hexdump -Cv', but if we really want
+to "see" the data, we could also convert it into a PNG image file that we can
+view with a web browser.
+
+To create a PNG image out of the output results, first we need to convert the
+binary data into a text file that 'gnuplot' can digest. We have previously
+compiled a utility program that can help us do that, the 'ne10cpx_long_to_text'
+utility. We can convert the two output data files like this:
+
+sandbox# cat output_waveforms/fftdma_256_sine.bin | \
+ ./ne10cpx_long_to_text > output_waveforms/fftdma_256_sine.txt
+
+sandbox# cat output_waveforms/neon32_256_sine.bin | \
+ ./ne10cpx_long_to_text > output_waveforms/neon32_256_sine.txt
+
+And now we should see the binary output files along with the converted text
+files in the output directory:
+
+sandbox# ls output_waveforms/
+fftdma_256_sine.bin neon32_256_sine.bin
+fftdma_256_sine.txt neon32_256_sine.txt
+
+Next we can have gnuplot plot the data from the text files like this:
+
+sandbox# gnuplot -d -e '
+set terminal pngcairo background "#FFFFFF" fontscale 1.0 size 1024, 768;
+set output "output_waveforms/fftdma_256_sine.png";
+set title "fftdma_256_sine";
+plot for [i=1:2] "output_waveforms/fftdma_256_sine.txt"
+using i with line title columnhead;'
+
+sandbox# gnuplot -d -e '
+set terminal pngcairo background "#FFFFFF" fontscale 1.0 size 1024, 768;
+set output "output_waveforms/neon32_256_sine.png";
+set title "neon32_256_sine";
+plot for [i=1:2] "output_waveforms/neon32_256_sine.txt"
+using i with line title columnhead;'
+
+And now we should see the PNG files in the output directory along with the
+binary and text files:
+
+sandbox# ls output_waveforms/
+fftdma_256_sine.bin fftdma_256_sine.txt neon32_256_sine.png
+fftdma_256_sine.png neon32_256_sine.bin neon32_256_sine.txt
+
+Let's convert the input waveform into a PNG so that we can "see" that as well.
+We follow the same steps as above.
+
+sandbox# cat input_waveforms/ne10cpx_long_sine256.bin | \
+ ./ne10cpx_long_to_text > input_waveforms/ne10cpx_long_sine256.txt
+
+sandbox# gnuplot -d -e '
+set terminal pngcairo background "#FFFFFF" fontscale 1.0 size 1024, 768;
+set output "input_waveforms/ne10cpx_long_sine256.png" ;
+set title "input_256_sine" ;
+plot for [i=1:2] "input_waveforms/ne10cpx_long_sine256.txt"
+using i with line title columnhead ;'
+
+Now lets put all the images together into one large montage.
+
+sandbox# montage \
+ -background '#000000' \
+ -font Liberation-Mono-Regular \
+ "input_waveforms/ne10cpx_long_sine256.png" \
+ "output_waveforms/neon32_256_sine.png" \
+ "output_waveforms/fftdma_256_sine.png" \
+ -tile 1x3 \
+ -geometry +5+5 \
+ sines_256.png
+
+VIEW MONTAGE IMAGE IN WEB BROWSER
+To view this montage in a web browser, we can copy it over to the images
+directory that the web server is pulling from on the DE10-Nano target system.
+That directory is '/usr/share/webcontent/images', so we can copy the montage
+file like this:
+
+sandbox# cp \
+ sines_256.png \
+ /usr/share/webcontent/images/
+
+To view the montage, we need to start a web browser on our host machine and
+surf to the image on the Altas target, the montage will be visible at the
+following URL:
+
+<DE10-Nano-ip-address>/images/sines_256.png
+
+VIEW MONTAGE IMAGE IN VNC SESSION
+To view this montage in a VNC session, simply run the 'display' image viewer
+application:
+
+sandbox# display sines_256.png
+