Page 2 of 3

Re: Changing and Compiling FPGA Code

Posted: Fri Jun 27, 2014 9:55 am
by Wylde
You, Sir, are amazing! ;)

I redid everything with a fresh checkout of the RedPitaya repository and it actually worked when I used the code you posted (I did not even install the kernel headers), with the slight addition that I always have to set the SDK and not just the vivado settings, so I simply added

Code: Select all

source /opt/Xilinx/SDK/2013.3/settings64.sh
and it worked. The error I got before following the make -C Applications command was a mere result of stupidity, since I had simply forgotten the "linux" in the export CROSS_COMPILE=arm-xilinx-linux-gnueabi- command. I am not exactly sure why the linker-error following the make command disappeared but it works fine now with the exact lines of code you posted (plus changing the config-file, linking make/gmake and getting the bare clones of github.com/Xilinx/u-boot-xlnx as well as github.com/Xilinx/linux-xlnx before).

Also, thanks for the link and information regarding the fpga.bit files. Obviously, it would be nice if it actually worked but as my project will only consist of a single application in the end, it shouldn't matter too much if I load it from a bitstream within the application file or from the top-bitstream.

Cheers,
Robert

Re: Changing and Compiling FPGA Code

Posted: Fri Jun 27, 2014 7:54 pm
by Nils Roos
Well, congratulations, I'm glad I could help.

I'll be very interested to see what you are going to do with it now 8-)

The thing with the SDK source is probably related to differences between 2013.3 and 2014.2, as the SDK 2014.2 does not have the settingsxx.sh scripts any more.

Re: Changing and Compiling FPGA Code

Posted: Wed Aug 13, 2014 11:29 pm
by emyemy
Hi guys, where can I find the RediPitaya/OS/buidroot/config?? I cannot find it anywhere.

Re: Changing and Compiling FPGA Code

Posted: Wed Aug 13, 2014 11:43 pm
by Nils Roos
There is a "Check github repo" link at the bottom of the page. Use it and you shall find :mrgreen:

Re: Changing and Compiling FPGA Code

Posted: Mon Aug 18, 2014 3:53 am
by emyemy

Code: Select all

make[1]: Leaving directory `/home/emily/RedPitaya/FPGA/release1/fpga/ahead/red_pitaya.sdk/SDK/SDK_Export/uboot_bsp_0'
make -C image/ FPGA_TOOL=ahead -k all
make[1]: Entering directory `/home/emily/RedPitaya/FPGA/release1/fpga/image'
cp ../ahead/red_pitaya.runs/impl_1/red_pitaya_top.bit out/fpga.bit
cp ../ahead/red_pitaya.sdk/SDK/SDK_Export/fsbl/Debug/fsbl.elf out/fsbl.elf
bootgen -image out/boot.bif -w -o i out/boot.bin
cp ../ahead/red_pitaya.sdk/SDK/SDK_Export/device-tree_bsp_0/ps7_cortexa9_0/libsrc/device-tree_v0_00_x/xilinx.dts out/devicetree.dts
patch -N out/devicetree.dts src/device_tree_ahead.patch
patching file out/devicetree.dts
Hunk #1 succeeded at 150 (offset -6 lines).
Hunk #2 succeeded at 178 with fuzz 2 (offset -14 lines).
Hunk #3 FAILED at 390.
1 out of 3 hunks FAILED -- saving rejects to file out/devicetree.dts.rej
make[1]: *** [devicetree] Error 1
make[1]: Target `all' not remade because of errors.
make[1]: Leaving directory `/home/emily/RedPitaya/FPGA/release1/fpga/image'
make: *** [image] Error 2
Hi, Nils, do you know how to fix it?

Re: Changing and Compiling FPGA Code

Posted: Tue Aug 19, 2014 9:35 pm
by Nils Roos
I suggest you exercise more care when trying to co-opt the RedPitaya buildprocess.

In this case you picked the wrong devicetree. The patches that are applied during the make are only suitable for the devicetree which is generated during the previous step. The devicetree that you copied from "device-tree_bsp_0/ps7_cortexa9_0/libsrc/device-tree_v0_00_x/xilinx.dts" is not the right one.

If you use the devicetree that I emailed you, you also need to skip the patch, that file has the patch applied already.

Re: Changing and Compiling FPGA Code

Posted: Thu Jan 08, 2015 11:36 am
by Philipp
Hi all!

I'm new in RedPitaya development and currently trying to "build everything" just to see if my computer is set up correctly.

I came here having the same "arm-xilinx-eabi-ld: error: required section '.rel.plt' not found in the linker script" issue as Wylde above. Thanks to the information in this thread I could get way further in the build process.

I'm running the code-snipped posted by Nils above
Nils Roos wrote:

Code: Select all

cd RedPitaya/
source /opt/Xilinx/Vivado/2013.3/settings64.sh
export CROSS_COMPILE=arm-xilinx-eabi-
export PATH="$PATH:$PWD/OS/u-boot/u-boot-xlnx/tools"
make
export CROSS_COMPILE=arm-xilinx-linux-gnueabi-
make -C Applications
Now my current problem comes with buildroot:

Code: Select all

2015-01-08 11:06:16 (102 MB/s) - »»buildroot-2014.02.tar.gz«« gespeichert [3445908/3445908]

tar xfz buildroot-2014.02.tar.gz
cp config buildroot-2014.02/.config
make -C buildroot-2014.02 USER_HOOKS_EXTRA_ENV='VERSION=0.92-0 REVISION=devbuild'
make[2]: Entering directory `/home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02'
/usr/bin/make -j1  HOSTCC="/usr/bin/gcc" HOSTCXX="/usr/bin/g++" silentoldconfig
make[3]: Entering directory `/home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02'
mkdir -p /home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/buildroot-config/lxdialog
/usr/bin/make CC="/usr/bin/gcc" HOSTCC="/usr/bin/gcc" obj=/home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/buildroot-config -C support/kconfig -f Makefile.br conf
make[4]: Entering directory `/home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02/support/kconfig'
/usr/bin/gcc -DCURSES_LOC="<ncurses.h>" -DLOCALE  -I/home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/buildroot-config -DCONFIG_=\"\"  -MM *.c > /home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/buildroot-config/.depend 2>/dev/null || :
make[4]: Leaving directory `/home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02/support/kconfig'
make[4]: Entering directory `/home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02/support/kconfig'
/usr/bin/gcc -DCURSES_LOC="<ncurses.h>" -DLOCALE  -I/home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/buildroot-config -DCONFIG_=\"\"   -c conf.c -o /home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/buildroot-config/conf.o
/usr/bin/gcc -DCURSES_LOC="<ncurses.h>" -DLOCALE  -I/home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/buildroot-config -DCONFIG_=\"\"  -I. -c /home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/buildroot-config/zconf.tab.c -o /home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/buildroot-config/zconf.tab.o
/usr/bin/gcc -DCURSES_LOC="<ncurses.h>" -DLOCALE  -I/home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/buildroot-config -DCONFIG_=\"\"   /home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/buildroot-config/conf.o /home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/buildroot-config/zconf.tab.o  -o /home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/buildroot-config/conf
rm /home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/buildroot-config/zconf.tab.c
make[4]: Leaving directory `/home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02/support/kconfig'
BR2_DEFCONFIG='' KCONFIG_AUTOCONFIG=/home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/buildroot-config/auto.conf KCONFIG_AUTOHEADER=/home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/buildroot-config/autoconf.h KCONFIG_TRISTATE=/home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/buildroot-config/tristate.config BR2_CONFIG=/home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02/.config BR2_EXTERNAL=support/dummy-external /home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/buildroot-config/conf --silentoldconfig Config.in
make[3]: Leaving directory `/home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02'
mkdir -p /home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02/output/target
rsync -a --ignore-times --exclude .svn --exclude .git --exclude .hg --exclude .bzr --exclude CVS \
                --chmod=Du+w --exclude .empty --exclude '*~' \
                /home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02/system/skeleton/ /home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02/output/target/
/usr/bin/install -m 0644 support/misc/target-dir-warning.txt /home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02/output/target/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM
touch /home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/.root
>>> toolchain undefined Extracting
>>> toolchain undefined Patching
>>> toolchain-external undefined Extracting
>>> toolchain-external undefined Patching
>>> toolchain-external undefined Configuring
Cannot execute cross-compiler '/usr/local/xilinx/14.6/ISE_DS/EDK/gnu/arm/lin/bin/arm-xilinx-linux-gnueabi-gcc'
make[2]: *** [/home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/toolchain-external-undefined/.stamp_configured] Fehler 1
make[2]: Leaving directory `/home/philipp/redpitaya/RedPitaya/OS/buildroot/buildroot-2014.02'
make[1]: *** [buildroot-2014.02/output/images/rootfs.cpio.uboot] Fehler 2
make[1]: Leaving directory `/home/philipp/redpitaya/RedPitaya/OS/buildroot'
make: *** [build/uramdisk.image.gz] Fehler 2
Unfortunately I have no idea what to do with this error...
I'm trying to build the 0.92 tag of RedPitaya on a 32 Bit Debian Wheezy system with Xilinx Vivado and SDK 2013.3 installed.

Does anyone have a hint, what I could try to make this work? I tried the ideas above that lead me to this point except from one thing Wylde mentioned:
Wylde wrote:...it works fine now with the exact lines of code you posted (plus changing the config-file, linking make/gmake and getting the bare clones of github.com/Xilinx/u-boot-xlnx as well as github.com/Xilinx/linux-xlnx before).
What is meant with "changing the config-file"? Can this have anything to do with my problem?

Re: Changing and Compiling FPGA Code

Posted: Thu Jan 08, 2015 3:26 pm
by Nils Roos
Hi Philipp,
Philipp wrote:What is meant with "changing the config-file"? Can this have anything to do with my problem?
"changing the config-file" refers to the file OS/buildroot/config . It contains the path to the toolchain that buildroot uses (BR2_TOOLCHAIN_EXTERNAL_PATH). You need to change that path to fit your system, eg if you installed the Xilinx tools to the default location, you would put

Code: Select all

BR2_TOOLCHAIN_EXTERNAL_PATH="/opt/Xilinx/SDK/2013.3/gnu/arm/lin"
there.

Re: Changing and Compiling FPGA Code

Posted: Fri Jan 09, 2015 9:51 am
by Philipp
Thank you so much Nils! This was the last thing I needed to fix.
Now I could build the whole SD card image :-)

Re: Changing and Compiling FPGA Code

Posted: Tue Apr 19, 2016 5:50 pm
by ralvarezb78
Sorry, which kernel modules?

"Unable to locate package linux-headers-3.18.0-xilinx"

If I try uname -a I find this
redpitaya> uname -a
Linux redpitaya 3.18.0-xilinx #1 SMP PREEMPT Mon Dec 21 12:30:22 CET 2015 armv7l GNU/Linux

So where is the true kernel modules package ?