diff options
Diffstat (limited to 'recipes-demo/de10-nano-fftsw-apps')
95 files changed, 7127 insertions, 0 deletions
diff --git a/recipes-demo/de10-nano-fftsw-apps/de10-nano-fftsw-apps.bb b/recipes-demo/de10-nano-fftsw-apps/de10-nano-fftsw-apps.bb new file mode 100644 index 0000000..c249d31 --- /dev/null +++ b/recipes-demo/de10-nano-fftsw-apps/de10-nano-fftsw-apps.bb @@ -0,0 +1,159 @@ +SUMMARY = "Example application for DE-Nano FPGA FFT Benchmarking" +SECTION = "DE10-Nano" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d252b8b27e3e6ea89c9c6912b3c4373d" +DEPENDS = "ne10" +RDEPENDS_${PN} = "ne10" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +PR = "r0" +PV = "1.0" + +inherit systemd + +SRC_URI = " \ + file://archive_for_target.sh \ + file://archive_src_for_sandbox.sh \ + file://archive_src_for_target.sh \ + file://build_all.sh \ + file://build_app.sh \ + file://build_lib.sh \ + file://c16_256.c \ + file://c16_256x32.c \ + file://c16_256x32x128.c \ + file://c16_4096.c \ + file://c32_256.c \ + file://c32_256x32.c \ + file://c32_256x32x128.c \ + file://c32_4096.c \ + file://clean_all.sh \ + file://LICENSE \ + file://copy_to_target.sh \ + file://create_input_waveforms.sh \ + file://create_real_short_sine32.c \ + file://create_real_short_square32.c \ + file://create_real_short_triangle32.c \ + file://de10-nano-fftsw-init.service \ + file://duplicate_x128.sh \ + file://duplicate_x32.sh \ + file://duplicate_x8.sh \ + file://fft_256.c \ + file://fft_256x32.c \ + file://fft_256x32x128.c \ + file://fft_4096.c \ + file://fftdma_256.c \ + file://fftdma_256x32.c \ + file://fftdma_256x32x128.c \ + file://fftdma_4096.c \ + file://images/create_gnuplot_sine_256.gnu \ + file://images/create_gnuplot_sine_256x32.gnu \ + file://images/create_gnuplot_sine_4096.gnu \ + file://images/create_gnuplot_squares_256.gnu \ + file://images/create_gnuplot_squares_256x32.gnu \ + file://images/create_gnuplot_squares_4096.gnu \ + file://images/create_gnuplot_triangle_256.gnu \ + file://images/create_gnuplot_triangle_256x32.gnu \ + file://images/create_gnuplot_triangle_4096.gnu \ + file://images/create_montage_sine_256.sh \ + file://images/create_montage_sine_256x32.sh \ + file://images/create_montage_sine_4096.sh \ + file://images/create_montage_squares_256.sh \ + file://images/create_montage_squares_256x32.sh \ + file://images/create_montage_squares_4096.sh \ + file://images/create_montage_triangle_256.sh \ + file://images/create_montage_triangle_256x32.sh \ + file://images/create_montage_triangle_4096.sh \ + file://images/README_IMAGES.TXT \ + file://ne10cpx_long_to_text.c \ + file://ne10cpx_short_to_text.c \ + file://neon16_256.c \ + file://neon16_256x32.c \ + file://neon16_256x32x128.c \ + file://neon16_4096.c \ + file://neon32_256.c \ + file://neon32_256x32.c \ + file://neon32_256x32x128.c \ + file://neon32_4096.c \ + file://overhead.c \ + file://README_HOST.TXT \ + file://README_SANDBOX_BUILD.TXT \ + file://README_SANDBOX.TXT \ + file://README_TARGET_BUILD.TXT \ + file://README_TARGET.TXT \ + file://real_short_to_ne10cpx_long.c \ + file://real_short_to_ne10cpx_short.c \ + file://run_all.sh \ + file://run_fft_256.sh \ + file://run_fft_256x32.sh \ + file://run_fft_256x32x128.sh \ + file://run_fft_4096.sh \ + file://run_stream_256x16x1.sh \ + file://run_stream_256x1x1.sh \ + file://run_stream_256x32x128.sh \ + file://sandbox_build_all.sh \ + file://sandbox_create_input_waveforms.sh \ + file://setup_env.src \ + file://setup_target_fft_env.sh \ + file://stream_fpga_256x16x1.c \ + file://stream_fpga_256x1x1.c \ + file://stream_fpga_256x32x128.c \ + file://stream_neon32_256x16x1.c \ + file://stream_neon32_256x1x1.c \ + file://stream_neon32_256x32x128.c \ + file://stream_raw_256x16x1.c \ + file://stream_raw_256x1x1.c \ + file://stream_raw_256x32x128.c \ + file://target_build_all.sh \ + file://target_build_app.sh \ + file://target_build_lib.sh \ +" + +S = "${WORKDIR}" + +do_configure () { + cd ${S} + bash clean_all.sh +} + +do_compile () { + cd ${S} + bash build_all.sh +} + +do_install () { + + install -d ${D}${base_libdir}/systemd/system + install -m 0644 ${WORKDIR}/*.service ${D}${base_libdir}/systemd/system + + cd ${S} + + install -d ${D}/examples/fft/bin + bash archive_for_target.sh + cp -a --no-preserve=ownership fft.tgz ${D}/examples/fft/bin/ + cp -a --no-preserve=ownership README_TARGET.TXT ${D}/examples/fft/bin/ + cp -a --no-preserve=ownership setup_target_fft_env.sh ${D}/examples/fft/bin/ + + install -d ${D}/examples/fft/src + bash archive_src_for_target.sh + cp -a --no-preserve=ownership fft_src.tgz ${D}/examples/fft + tar --no-same-owner -xf fft_src.tgz -C ${D}/examples/fft/src + + install -d ${D}/examples/fft/sandbox + bash archive_src_for_sandbox.sh + cp -a --no-preserve=ownership fft_sandbox.tgz ${D}/examples/fft + tar --no-same-owner -xf fft_sandbox.tgz -C ${D}/examples/fft/sandbox +} + +FILES_${PN} += "examples/fft/bin/" + +RDEPENDS_${PN} += "gnuplot" +FILES_${PN} += "examples/fft/fft_src.tgz" +FILES_${PN} += "examples/fft/fft_sandbox.tgz" +FILES_${PN} += "examples/fft/src/" +FILES_${PN} += "examples/fft/sandbox/" + +NATIVE_SYSTEMD_SUPPORT = "1" +SYSTEMD_PACKAGES = "${PN}" +SYSTEMD_SERVICE_${PN} = "de10-nano-fftsw-init.service" + diff --git a/recipes-demo/de10-nano-fftsw-apps/files/LICENSE b/recipes-demo/de10-nano-fftsw-apps/files/LICENSE new file mode 100644 index 0000000..ab84792 --- /dev/null +++ b/recipes-demo/de10-nano-fftsw-apps/files/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) +Copyright (c) 2016 Intel Corporation + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + diff --git a/recipes-demo/de10-nano-fftsw-apps/files/README_HOST.TXT b/recipes-demo/de10-nano-fftsw-apps/files/README_HOST.TXT new file mode 100644 index 0000000..c068ccb --- /dev/null +++ b/recipes-demo/de10-nano-fftsw-apps/files/README_HOST.TXT @@ -0,0 +1,154 @@ +To build the applications in this directory, you should be able to run these +host scripts in this order: + +source ./setup_env.src + this will put the cross compiler tools into the PATH +./build_ne10.sh + this will build the ne10 library into a directory 'ne10' +./build_all.sh + this will build all the applications +./archive_for_target.sh + this will archive all applications and target scripts into fft.tgz for + installation on the target +./copy_to_target.sh + this will copy the fft.tgz archive and setup_target_fft_env.sh over to + the target + +Description of directory contents: + +build_ne10.sh + host script to build the ne10 library + +build_all.sh + host script to build all applications and libraries, except ne10 library + +build_app.sh + host script to build one application + +build_lib.sh + host script to build one library + +clean_all.sh + host script to clean all build objects + +archive_for_target.sh + host script to archive all applications and scripts for target + installation + +copy_to_target.sh + host script that copies fft.tgz archive and setup_target_fft_env.sh + script over to the target + +create_input_waveforms.sh + target script that executes waveform creation applications and + duplication scripts to create all input waveforms for the applications + to consume + +duplicate_x128.sh +duplicate_x32.sh +duplicate_x8.sh + these target scripts duplicate a file x8, x32 or x128 times. These are + used to replicate the fundamental waveforms into longer patterns + +images/ + this directory contains host scripts to create PNG images of |