04-06-2012 08:45 AM
I tried compiling the Linux from the GIT repository, following the instructions from the wiki : http://wiki.xilinx.com/zynq-linux , with the Codesourcey toolchain
First problem: the Makefile looks for tools with the suffix arm-xilinxa9-linux-gnueabi-, but the ones provided by Codesource have prefix arm-xilinx-linux-gnueabi (no "a9"). A few aliases and the kernel compiles, generating a zImage file.
Second problem: when I launch Qemu Ithe image does not load: I get this error message instead of "Uncompressing linux..." :
Unknown cp14 read op1:0 crn:0 crm:O op2:0
....what did I do wrong? Is it the toolchain?
04-06-2012 08:54 AM
The wiki page, which follows here, shows how to setup for the tools.
I'm not sure what Makefile you are referring to as we require you to setup the environment for the tools?
On the 2nd problem, maybe we have an issue we haven't seen yet as the kernel is changing very rapidly. Does the kernel that we provide in the tar file of the prebuilt image work for you?
04-06-2012 12:35 PM
It is the Makefile in the root directory of the Linux coming from the Xilinx GIT repository (cloned this morning), and yes I using the tools coming from the http://wiki.xilinx.com/zynq-tools wiki. So I think the mismatch in the tool suffix must come from the Makefile...
For the second problem: everything works fine with the prebuilt image. I am trying to rebuild it because in my project I need to change some entry in the Exception Table, and I cannot do it in runtime.
04-06-2012 12:51 PM
Just to be clear, what linux repository, linux-2.6-xlnx?
I don't see anything related to Linux in that Makefile in the root directory, but maybe I'm not seeing the same thing you are.
04-06-2012 12:55 PM
On the 2nd issue it sounds like the kernel has changed and is now breaking the ARM model in QEMU.
I'll write up a CR against it, but for now I don't have a quick fix. Typically this involves making the model not crash for that access to a register.
Is this the head of the QEMU tree from xilinx?
04-06-2012 02:03 PM
I'm seeing on the old version of qemu it does this, but not on the new version. But I'm wondering if the release got hosed?
04-06-2012 02:20 PM
You can confirm this by running arm-softmmu/qemu-system-arm --help | more and look at the 1st line, the latest version is 1.0.50 and the older version is 0.14.0 I believe.
Sorry for the inconvenience.
04-09-2012 11:38 PM
once updated QEMU everything works fine.
Now I just have to find where the exception table is defined: I usually do it drectly in GCC, but as the sources are not avaiable I am looking for another way of doing it...any idea?