cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Visitor
Visitor
4,330 Views
Registered: ‎05-29-2013

XAPP1078 + my kernel image on Zynq 702

Jump to solution

Hi,

 

I have problem with work of the sample XAPP1078 (Linux+Bare-metal AMP) when using my build of linux kernel as described in Wiki.  In this case, after command 

 

./rwmem.elf 0xfffffff0 0x30000000

 

application on CPU1 is not started. But if I use precompiled kernel, all works fine. I do next steps to build kernel:

 

 

git clone git://git.xilinx.com/linux-xlnx.git
cd linux-xlnx
git pull origin xilinx-14.3-build2

make ARCH=arm xilinx_zynq_defconfig
make ARCH=arm UIMAGE_LOADADDR=0x8000 uImage

 

after loading Zinq:

 

uname -a
Linux 192.168.0.161 3.8.0-xilinx #3 SMP PREEMPT Thu May 30 11:04:12 NOVT 2013 armv7l GNU/Linux

 

How I have to build kernel for XAPP1078 sample?

 

0 Kudos
1 Solution

Accepted Solutions
Highlighted
Xilinx Employee
Xilinx Employee
5,412 Views
Registered: ‎02-01-2008

You are using the newer version of kernel. You need to

 

git checkout -b xilinx-v14.3-build2 xilinx-v14.3-build2

 

in order to get the older version of kernel.

 

The newer 3.8 kernel starts up CPU1 differently and pulls CPU1 away from the wfe loop. You could modify the kernel (as documented in the following link under Running XAPP1078 on the ZC706 Board) to instruct the kernel to send CPU1 back to the wfe loop.

 

Take a look at http://www.wiki.xilinx.com/XAPP1078+Latest+Information

View solution in original post

0 Kudos
4 Replies
Highlighted
Xilinx Employee
Xilinx Employee
4,325 Views
Registered: ‎02-01-2008

You didn't mention the devicetree.

 

Don't forget to make the bootarg changes and memory change to the devicetree before compiling the devicetree.

 

There is a file in the proc file system that will tell you how many processors are running. You should see only one because of the bootarg changes.

0 Kudos
Highlighted
Visitor
Visitor
4,312 Views
Registered: ‎05-29-2013

I use the same devicetree.dtb for precompiled kernel and my kernel. I replaced only uImage file in SD card.

0 Kudos
Highlighted
Visitor
Visitor
4,310 Views
Registered: ‎05-29-2013

Working kernel looks like:

 

uname -a
Linux 192.168.0.161 3.5.0-14.3-build2-25241-gaa09283 #2 SMP PREEMPT Mon Oct 29 15:29:56 EDT 2012 armv7l GNU/Linux

 

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
5,413 Views
Registered: ‎02-01-2008

You are using the newer version of kernel. You need to

 

git checkout -b xilinx-v14.3-build2 xilinx-v14.3-build2

 

in order to get the older version of kernel.

 

The newer 3.8 kernel starts up CPU1 differently and pulls CPU1 away from the wfe loop. You could modify the kernel (as documented in the following link under Running XAPP1078 on the ZC706 Board) to instruct the kernel to send CPU1 back to the wfe loop.

 

Take a look at http://www.wiki.xilinx.com/XAPP1078+Latest+Information

View solution in original post

0 Kudos