Just about everything about Red Pitaya
#5183 by thomasliuchang
Mon May 02, 2016 2:24 pm
Hello,

I am a beginner of RP. I want to further develop the fpga with Ubuntu and realize some specific function. I have install the latest Ubuntu system, Vivado WebPACK 2015.4 with Zynq®-7000 and SDK, and ARM toolchain, as noted in https://github.com/RedPitaya/RedPitaya/ ... plications. Also, I have install the gmake.

When trying the build process, the following problems occurred.

while executing
"generate_app -hw system_0 -os standalone -proc ps7_cortexa9_0 -app zynq_fsbl -compile -sw fsbl -dir $path_sdk/fsbl"
(file "red_pitaya_hsi_fsbl.tcl" line 11)
INFO: [Common 17-206] Exiting hsi at Mon May 2 14:42:52 2016...
Makefile:39: recipe for target 'sdk/fsbl/executable.elf' failed
make[1]: *** [sdk/fsbl/executable.elf] Error 1
make[1]: Leaving directory '/home/lic/RedPitaya/fpga'
Makefile:167: recipe for target 'fpga' failed
make: *** [fpga] Error 2

Could you please check above problems and give me some solutions? Furthermore, may I ask you to give me an example (LED blink etc.) about compiling with ubuntu and vivado 2015.4. I will really appreciate if the example is give step by step.

Heartfelt Thanks!

Best regards,
Chang
#5224 by Nils Roos
Fri May 06, 2016 11:27 pm
I suspect that the real error happened earlier during FPGA synthesis. Did you acquire and install a valid license for Vivado? If not, the synthesis will abort but the build will continue without the generated components, which leads to errors in the later steps that depend on this output.

Posting the entire console output of make would help to find the cause.
#5230 by thomasliuchang
Mon May 09, 2016 4:17 pm
Hi Nils,

Thanks for helping me. I checked the license for Vivado 2015.4 as shown in picture 1. It should be installed.
picture 1.png


Then, I inputted the following code in the Ubuntu terminal and recorded the entire console output of make in file1.txt and file2.txt as attached.
file1.txt

file2.txt


In addition, I really want to use the continuous data acquisition function of the RP. From the forum, I got two solutions
1. viewtopic.php?f=7&t=317
2. https://github.com/HrRossi/RedPitaya/bl ... /axi_adc.c

For the first solution (rp_remote_acquire), I should downgrade the ecosystem of my RP to 0.92-388 (as I have installed the image with 0.95 OS and ecosystem). Could you please tell me how to deal with that? I have downloaded the 0.92-388 ecosystem from the RP website but don’t know how to install it. I found my micro SD is write-protected after I install the 0.95 image.

For the second solution (axi_adc), I connected with the RP and input the following command. There is no error. A snapshot of the terminal is shown in the following picture. However, I don’t know how to obtain the sampled data. Should I use an UDP software or terminal to obtain the data. I like to save the sampled data in a text file.

I am sorry for so many well-worn questions. But I am really puzzled with these problems in these days and want to use the continuous data acquisition function of RP as soon as possible.

Looking forward to hearing from you. Thank you so much.

Best regards,
Chang
You do not have the required permissions to view the files attached to this post.
#5233 by flob
Tue May 10, 2016 8:28 am
Hi,
In file2.txt:
gmake[3]: arm-xilinx-eabi-ar: Command not found

may cause errors.
This tool is provided by Xilinx SDK. Setting.sh should add SDK tools to your PATH but it doesn't seem to be working. The weird thing is that Vivado is in your PATH.
So check your SDK installation:
locate arm-xilinx-eabi-ar
/opt/Xilinx/SDK/2015.4/gnu/arm/lin/bin/arm-xilinx-eabi-ar
#5235 by thomasliuchang
Tue May 10, 2016 1:44 pm
Hi,

I have checked the SDK installation in my Linux system as follows:

Code: Select alllic@lic:~$ locate arm-xilinx-eabi-ar
/opt/Xilinx/SDK/2015.4/gnu/arm/lin/bin/arm-xilinx-eabi-ar
/opt/Xilinx/SDK/2015.4/gnu/arm/lin/share/doc/xilinx-arm-xilinx-eabi/man/man1/arm-xilinx-eabi-ar.1


It should be installed.
Chang
#5237 by Nils Roos
Tue May 10, 2016 8:36 pm
For the first solution (rp_remote_acquire), I should downgrade the ecosystem of my RP to 0.92-388 (as I have installed the image with 0.95 OS and ecosystem). Could you please tell me how to deal with that? I have downloaded the 0.92-388 ecosystem from the RP website but don’t know how to install it. I found my micro SD is write-protected after I install the 0.95 image.

That is a misunderstanding. You mustn't downgrade to the original 0.92... ecosystem, you should download the ecosystem that is linked from the thread New feature: high speed continuous recording (which is actually closer to the 0.93 version). You can make the /opt/redpitaya directory - where the ecosystem should be unpacked into - writable by calling "rw" from the command line.

For the second solution (axi_adc), I connected with the RP and input the following command. There is no error. A snapshot of the terminal is shown in the following picture. However, I don’t know how to obtain the sampled data. Should I use an UDP software or terminal to obtain the data. I like to save the sampled data in a text file.

The example program streams the samples as udp datagrams to a fixed ip address / port (192.168.1.1:5001 channel A, 192.168.1.1:5002 channel B). The program is intended as a demonstration how to set up the AXI ADC recorder and can be modified to fit your needs. If you want output into a text file, you could replace the network routines with a file writer function.

I have no good idea what the cause of your arm-xilinx-eabi-ar problems might be. How much memory does your ubuntu system have ? Some people reported problems with the build on systems with 2GB RAM or less, if I recall correctly - though I'll admit it doesn't fit your symptoms very well.
#5247 by thomasliuchang
Wed May 11, 2016 2:12 pm
Hi Nils,

Thanks for your help. I have installed the ecosystem0.92 and the continuous data acquisition is working. I will further try to access more memory with the DMA. There should be something I can refer from https://github.com/HrRossi/RedPitaya/tree/dev_ddrdump.

For the strange problem with the "make", I have some progresses. After searching the problems on google, it seems that the SDK is with 32-bit, which is not compatible with the 64 bit ubuntu running on my computer. (But this is so strange, the SDK should be 64 bit with the Vivado). Anyway, by entering the following codes, it works.
Code: Select allsudo opt-get install lib32z1 libc6:i386 libnurses5:i386 libstdc++6: i386
sudo opt-get install libncurses5-dev libc6-dev-i386


After sometime of making, it turned out to be a new problem, as follows
Code: Select alllic@lic-Ubuntu:~/RedPitaya$ . settings.sh
lic@lic-Ubuntu:~/RedPitaya$ make
make -C fpga
make[1]: Entering directory '/home/lic/RedPitaya/fpga'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/lic/RedPitaya/fpga'
bootgen -image boot_uboot.bif -w -o tmp/boot.bin
cp fpga/sdk/dts/system.dts tmp/devicetree.dts
patch tmp/devicetree.dts patches/devicetree.patch
patching file tmp/devicetree.dts
Hunk #2 succeeded at 86 with fuzz 1.
tmp/linux-xlnx-xilinx-v2015.4.01/scripts/dtc/dtc -I dts -O dtb -o tmp/devicetree.dtb -i fpga/sdk/dts/ tmp/devicetree.dts
make -C OS/buildroot
make[1]: Entering directory '/home/lic/RedPitaya/OS/buildroot'
make -C buildroot-2014.02 USER_HOOKS_EXTRA_ENV='VERSION=0.94-0-devbuild REVISION=devbuild'
make[2]: Entering directory '/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02'
>>> host-ncurses 5.9 Building
/usr/bin/make -j1 -C /home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/host-ncurses-5.9 sources
make[3]: Entering directory '/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/host-ncurses-5.9'
cd include && /usr/bin/make DESTDIR="" sources
make[4]: Entering directory '/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/host-ncurses-5.9/include'
make[4]: Nothing to be done for 'sources'.
make[4]: Leaving directory '/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/host-ncurses-5.9/include'
cd ncurses && /usr/bin/make DESTDIR="" sources
make[4]: Entering directory '/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/host-ncurses-5.9/ncurses'
make[4]: Nothing to be done for 'sources'.
make[4]: Leaving directory '/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/host-ncurses-5.9/ncurses'
cd progs && /usr/bin/make DESTDIR="" sources
make[4]: Entering directory '/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/host-ncurses-5.9/progs'
make[4]: Nothing to be done for 'sources'.
make[4]: Leaving directory '/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/host-ncurses-5.9/progs'
cd panel && /usr/bin/make DESTDIR="" sources
make[4]: Entering directory '/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/host-ncurses-5.9/panel'
make[4]: Nothing to be done for 'sources'.
make[4]: Leaving directory '/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/host-ncurses-5.9/panel'
cd menu && /usr/bin/make DESTDIR="" sources
make[4]: Entering directory '/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/host-ncurses-5.9/menu'
make[4]: Nothing to be done for 'sources'.
make[4]: Leaving directory '/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/host-ncurses-5.9/menu'
cd form && /usr/bin/make DESTDIR="" sources
make[4]: Entering directory '/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/host-ncurses-5.9/form'
make[4]: Nothing to be done for 'sources'.
make[4]: Leaving directory '/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/host-ncurses-5.9/form'
cd test && /usr/bin/make DESTDIR="" sources
make[4]: Entering directory '/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/host-ncurses-5.9/test'
make[4]: Nothing to be done for 'sources'.
make[4]: Leaving directory '/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/host-ncurses-5.9/test'
cd misc && /usr/bin/make DESTDIR="" sources
make[4]: Entering directory '/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/host-ncurses-5.9/misc'
make[4]: Nothing to be done for 'sources'.
make[4]: Leaving directory '/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/host-ncurses-5.9/misc'
make[3]: Leaving directory '/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/host-ncurses-5.9'
/usr/bin/make -j3 -C /home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/host-ncurses-5.9/progs tic
make[3]: Entering directory '/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/host-ncurses-5.9/progs'
cd ../ncurses; /usr/bin/make
make[4]: Entering directory '/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/host-ncurses-5.9/ncurses'
/usr/bin/gcc -DHAVE_CONFIG_H -I../ncurses -I. -I/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/host/usr/include -D_GNU_SOURCE -DNDEBUG -I. -I../include -I/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/host/usr/include/ncurses -O2 -I/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/host/usr/include  --param max-inline-insns-single=1200 -fPIC -c ../ncurses/lib_gen.c -o ../obj_s/lib_gen.o
/usr/bin/gcc -DHAVE_CONFIG_H -I../ncurses -I. -I/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/host/usr/include -D_GNU_SOURCE -DNDEBUG -I. -I../include -I/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/host/usr/include/ncurses -O2 -I/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/host/usr/include  --param max-inline-insns-single=1200 -fPIC -c ../ncurses/./base/lib_scroll.c -o ../obj_s/lib_scroll.o
/usr/bin/gcc -DHAVE_CONFIG_H -I../ncurses -I. -I/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/host/usr/include -D_GNU_SOURCE -DNDEBUG -I. -I../include -I/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/host/usr/include/ncurses -O2 -I/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/host/usr/include  --param max-inline-insns-single=1200 -fPIC -c ../ncurses/./base/lib_scrollok.c -o ../obj_s/lib_scrollok.o
In file included from ../ncurses/curses.priv.h:283:0,
                 from ../ncurses/lib_gen.c:19:
_32024.c:835:15: error: expected ‘)’ before ‘int’
../include/curses.h:1594:56: note: in definition of macro ‘mouse_trafo’
 #define mouse_trafo(y,x,to_screen) wmouse_trafo(stdscr,y,x,to_screen)
                                                        ^
Makefile:795: recipe for target '../obj_s/lib_gen.o' failed
make[4]: *** [../obj_s/lib_gen.o] Error 1
make[4]: *** Waiting for unfinished jobs....
make[4]: Leaving directory '/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/host-ncurses-5.9/ncurses'
Makefile:307: recipe for target '../lib/libncurses.so' failed
make[3]: *** [../lib/libncurses.so] Error 2
make[3]: Leaving directory '/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/host-ncurses-5.9/progs'
package/pkg-generic.mk:174: recipe for target '/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/host-ncurses-5.9/.stamp_built' failed
make[2]: *** [/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02/output/build/host-ncurses-5.9/.stamp_built] Error 2
make[2]: Leaving directory '/home/lic/RedPitaya/OS/buildroot/buildroot-2014.02'
Makefile:31: recipe for target 'buildroot-2014.02/output/images/rootfs.cpio.uboot' failed
make[1]: *** [buildroot-2014.02/output/images/rootfs.cpio.uboot] Error 2
make[1]: Leaving directory '/home/lic/RedPitaya/OS/buildroot'
Makefile:265: recipe for target 'buildroot' failed
make: *** [buildroot] Error 2


After searching the problem on google, it seems that it is the problem with gcc and curses. but I really don't know how to deal with that. For the related problem, please refer to https://github.com/c9/core/issues/162. By the way, I have install the tmux by
Code: Select all sudo apt-get install tmux

but it doesn't work. The gcc version is 5.3.1
Code: Select allgcc version 5.3.1 20160413 (Ubuntu 5.3.1-14ubuntu2)


I am a little bit puzzled by the problems during make. Should I install a 32bit Ubuntu system to make it easier?

Looking forward to hearing from you.

Thank you very much.
Chang

Who is online

Users browsing this forum: No registered users and 6 guests