Changing and Compiling FPGA Code

Just about everything about Red Pitaya
Wylde
Posts: 8
Joined: Mon Jun 23, 2014 1:24 pm

Re: Changing and Compiling FPGA Code

Post by Wylde » Fri Jun 27, 2014 9:55 am

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

Nils Roos
Posts: 1441
Joined: Sat Jun 07, 2014 12:49 pm
Location: Königswinter

Re: Changing and Compiling FPGA Code

Post by Nils Roos » Fri Jun 27, 2014 7:54 pm

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.

emyemy
Posts: 26
Joined: Thu Jul 31, 2014 1:28 am

Re: Changing and Compiling FPGA Code

Post by emyemy » Wed Aug 13, 2014 11:29 pm

Hi guys, where can I find the RediPitaya/OS/buidroot/config?? I cannot find it anywhere.

Nils Roos
Posts: 1441
Joined: Sat Jun 07, 2014 12:49 pm
Location: Königswinter

Re: Changing and Compiling FPGA Code

Post by Nils Roos » Wed Aug 13, 2014 11:43 pm

There is a "Check github repo" link at the bottom of the page. Use it and you shall find :mrgreen:

emyemy
Posts: 26
Joined: Thu Jul 31, 2014 1:28 am

Re: Changing and Compiling FPGA Code

Post by emyemy » Mon Aug 18, 2014 3:53 am

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?

Nils Roos
Posts: 1441
Joined: Sat Jun 07, 2014 12:49 pm
Location: Königswinter

Re: Changing and Compiling FPGA Code

Post by Nils Roos » Tue Aug 19, 2014 9:35 pm

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.

Philipp
Posts: 2
Joined: Thu Jan 08, 2015 10:48 am

Re: Changing and Compiling FPGA Code

Post by Philipp » Thu Jan 08, 2015 11:36 am

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?

Nils Roos
Posts: 1441
Joined: Sat Jun 07, 2014 12:49 pm
Location: Königswinter

Re: Changing and Compiling FPGA Code

Post by Nils Roos » Thu Jan 08, 2015 3:26 pm

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.

Philipp
Posts: 2
Joined: Thu Jan 08, 2015 10:48 am

Re: Changing and Compiling FPGA Code

Post by Philipp » Fri Jan 09, 2015 9:51 am

Thank you so much Nils! This was the last thing I needed to fix.
Now I could build the whole SD card image :-)

ralvarezb78
Posts: 2
Joined: Tue Mar 22, 2016 9:55 pm

Re: Changing and Compiling FPGA Code

Post by ralvarezb78 » Tue Apr 19, 2016 5:50 pm

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 ?

Post Reply
jadalnie klasyczne ekskluzywne meble wypoczynkowe do salonu ekskluzywne meble tapicerowane ekskluzywne meble do sypialni ekskluzywne meble włoskie

Who is online

Users browsing this forum: Bulova, Google [Bot] and 24 guests