cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Newbie
Newbie
7,845 Views
Registered: ‎07-19-2012

Error building fsbl for zynq in ubuntu

I am trying to build the fsbl using the SDK default project for the zynq processor but I keep getting a build error as shown below:

 

**** Build of configuration Debug for project zynq_fsbl ****

make all
Building file: ../src/_exit.c
Invoking: ARM Linux gcc compiler
arm-xilinx-linux-gnueabi-gcc -Wall -O0 -g3 -c -fmessage-length=0 -MMD -MP -MF"src/_exit.d" -MT"src/_exit.d" -o"src/_exit.o" "../src/_exit.c"
/tmp/ccxAPTAZ.s: Assembler messages:
/tmp/ccxAPTAZ.s:46: Error: selected processor does not support ARM mode `dsb'
/tmp/ccxAPTAZ.s:47: Error: selected processor does not support ARM mode `isb'
make: *** [src/_exit.o] Error 1

 

Not too sure why this is as I think my build environment is set up correctly......anybody have any ideas??

0 Kudos
7 Replies
Highlighted
Adventurer
Adventurer
7,827 Views
Registered: ‎05-16-2012

I guess you are trying to step through the TRD build instructions?

That's what I am trying as well, so far without success.

 

I couldnt generate bitstream/export to hardware, so far no luck

 

but with your issue:

i guess you changed the compiler for the fsbl to am-xilinx-linux toolchain

In the eclipse project the arm-xilinx toolchain is used, not compiled for linux

 

if you install the arm-xilinx-eabi toolchain it should compile.

It worked for me, although I get a lot of errors

seems like one of the files is not included...

0 Kudos
Highlighted
Explorer
Explorer
7,800 Views
Registered: ‎09-19-2010

Hi

 

The solution to above error is to put

 

-mcpu=cortex-a9

 

when ever you call gcc.

 

using this change in your make file ( the main makefile and also the one inside the source folder, which is called subdir.mk)

you will pass the compile.

 

But, for linking I have a very strange problem that I really don't know how to solve:

 

/src/xil-crt0.o: In function `_start':
xil-crt0.S:(.text+0x14): multiple definition of `_start'
/opt/xilinx/gnu/bin/../arm-xilinx-linux-gnueabi/libc/usr/lib/crt1.o:init.c:(.text+0x0): first defined here
collect2: ld returned 1 exit status
make: *** [zynq_fsbl.elf] Error 1

 

This happens at linking time

two files have _start symbol !!!

 

I don't know how to solve this one

 

I strongly believe the developer at Xilinx who has compile fsbl , has done some other

things that he has not reflected in the README file ;)

 

 

0 Kudos
Highlighted
Explorer
Explorer
7,788 Views
Registered: ‎09-19-2010

And finally,

 

The solution to the above mentioned error

 

This is just a trick, but works fine, (tested on ZC702 board)

 

after you added -mcpu=cortex-a9 to both of your make files and you built the project

you will recieve an error that there exist two _start symbols in your design

(at least for me happened)

 

one is inside your toolchain!! and the other one is xil-crt0.o (compiled from xil-crt0.S)

 

to make zynq_fsbl compiled, just copy the xil-crt0.O file to the crt1.o file inside your

tool chain!!!

 

and then, edit the make files of fsbl and remove xil-crt0.o from linking process.

 

now Zynq FSBL should be compiled fine and it should work.

 

Good luck,

Mohammad S Sadri.

 

0 Kudos
Highlighted
Explorer
Explorer
7,778 Views
Registered: ‎09-19-2010

Final solution is

 

to select "embedded edition" when installing Xilinx ISE.

 

the default "system edition" installs the toolchains for microblaze for ppc and uBlaze but not for ARM.

 

embedded edition installs for ARM also.

 

xilinx has a page in its wiki containing some links to arm toolchains,

i couldn't really use them. (always getting segmentation fault when linking)

but the toolchain inside ise itself, works fine.

 

0 Kudos
Highlighted
Adventurer
Adventurer
7,701 Views
Registered: ‎05-07-2012

I've tried all of the tricks in this thread to get fsbl built from the sdk. It seems like the system and embedded versions of 14.2 are not installing the toolchain.  I tried my external toolchain from OE, which compiled, but runs into the dupe start symbol issue.

 

<rant>

This process is insane. It takes me 30 minutes to build u-boot from git, and days of #fail to build the "simpler" fsbl from the official tool. Ihave three copies of ISE installed now.

</rant>

 

I'd love to see fsbl and enough makefiles so we can build it on git.xilinx.com. This would be a huge win for customers!

 

Philip

0 Kudos
Highlighted
Scholar
Scholar
7,234 Views
Registered: ‎10-26-2012

+1 to that rant. I've been fighting for 6+ hours now to get the FSBL to compile.

0 Kudos
Highlighted
7,073 Views
Registered: ‎04-17-2013

How did you get it? Should I download Embedded Edition instead of System Edition?

 

I have the same error:

 

./src/xil-crt0.o: In function `_start':
xil-crt0.S:(.text+0x14): multiple definition of `_start'
c:/xilinx/sdk/2013.1/gnu/arm/nt/bin/../arm-xilinx-linux-gnueabi/libc/usr/lib/crt1.o::(.text+0x0): first defined here
./src/asm_vectors.o: In function `Fiq_Handler':
(.vectors+0xe4): undefined reference to `__stack'
./src/boot.o: In function `_finished':
(.boot+0x12c): undefined reference to `__stack'
./src/xil-crt0.o:(.text+0x0): undefined reference to `__sbss_start'
./src/xil-crt0.o:(.text+0x4): undefined reference to `__sbss_end'
./src/xil-crt0.o:(.text+0xc): undefined reference to `__bss_end'
./src/xil-crt0.o:(.text+0x10): undefined reference to `__stack'
collect2.exe: error: ld returned 1 exit status
make: *** [zynq_fsbl.elf] Ошибка 1

 

0 Kudos