cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
gharkema
Visitor
Visitor
4,232 Views
Registered: ‎12-06-2011

Microblaze_V2.0 compile problem

Hello,

 

I'm trying to compile a Linux kernel for the microblaze. I'm using the microblaze_v2.0 toolchain and the standard Linux-2.6-xlnx kernel source.

 

Below is the output from the make:

gharkema@gharkema-Latitude-D830:~/Linux-2.6-xlnx$ echo $PATH
/home/gharkema/microblaze_v2.0/microblaze-unknown-Linux-gnu/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

 

gharkema@gharkema-Latitude-D830:~/Linux-2.6-xlnx$ echo $CROSS_COMPILE
microblaze-unknown-Linux-gnu-

 

gharkema@gharkema-Latitude-D830:~/Linux-2.6-xlnx$ make ARCH=microblaze simpleImage.spartan6
/home/gharkema/microblaze_v2.0/microblaze-unknown-Linux-gnu/bin/microblaze-unknown-Linux-gnu-gcc: 1: Syntax error: ")" unexpected
  CHK     include/Linux/version.h
  CHK     include/generated/utsrelease.h
  CC      kernel/bounds.s
/home/gharkema/microblaze_v2.0/microblaze-unknown-Linux-gnu/bin/microblaze-unknown-Linux-gnu-gcc: 1: Syntax error: ")" unexpected
make[1]: *** [kernel/bounds.s] Error 2
make: *** [prepare0] Error 2

I tryed to do the same with the microblaze_v1.0 toolchain, I get the follow

output from make:

gharkema@gharkema-Latitude-D830:~/Linux-2.6-xlnx$ make ARCH=microblaze simpleImage.spartan6
  CHK     include/Linux/version.h
  CHK     include/generated/utsrelease.h
  CALL    scripts/checksyscalls.sh
<stdin>:1554:2: warning: #warning syscall sendmmsg not implemented
  CHK     include/generated/compile.h
  CC      arch/microblaze/kernel/cpu/cpuinfo-static.o
  LD      arch/microblaze/kernel/cpu/built-in.o
  LD      arch/microblaze/kernel/built-in.o
  AS      arch/microblaze/kernel/head.o
arch/microblaze/kernel/head.S: Assembler messages:
arch/microblaze/kernel/head.S:90: Error: unknown opcode "lwr"
make[1]: *** [arch/microblaze/kernel/head.o] Error 1
make: *** [arch/microblaze/kernel] Error 2

 

I removed the opcode lwr form "head.s" but i got some other problems.

 

Who can help???

 

Thanks in advance,

 

Gerard

0 Kudos
3 Replies
madhuba
Xilinx Employee
Xilinx Employee
4,159 Views
Registered: ‎07-29-2011

Hi,

Are you building a little endian or a big endian system.

 

The second case that you have mentioned is true for big endian system for v1.0 cross compilers.

But using the v2.0 cross compiler tool chain I am able to build both little endian and big endian systems.

 

Regards

Madhubala

0 Kudos
rickys
Xilinx Employee
Xilinx Employee
3,849 Views
Registered: ‎08-01-2007

My experience is, the latest kernel source doesn't support microblaze_v1.0 big endian tool chain.

If you use git clone to download the source, view git tags for any tagged version, rev back to some old kernel like 2.6.35(git checkout xilinx_v2.6.35), it can be compiled by microblaze_v1.0.

For new kernels, use 2.0 tools.
0 Kudos
jschell
Adventurer
Adventurer
3,807 Views
Registered: ‎05-01-2012

I'm having a similar error with the v1.0 toolchain with the 3.3 kernel, except that when I switch to the v2.0 toolchain, I get this error:

 

/home/develop/Projects/microblaze_v2.0/microblaze-unknown-linux-gnu/bin/microblaze-unknown-linux-gnu-gcc: /home/develop/Projects/microblaze_v2.0/microblaze-unknown-linux-gnu/bin/microblaze-unknown-linux-gnu-gcc: cannot execute binary file

 

Anyone have any ideas?  Also, the wiki for the toolchain only refers to v1.0, is there any instructions on the 2.0 toolchain?

0 Kudos