cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Visitor
Visitor
2,286 Views
Registered: ‎11-07-2018

petalinux build error - architecture not match - ZCU104

Jump to solution

Hello Xilinx-Community,

I want to use openAMP on the ZCU104-Board and followed the manual UG1186.

That means on the processor Cortex-A53 with AArch64-architecture I run Linux and I use as remoteproc the Cortex-R5 with ARM-architecture. I created my app without errors in SDK for the ARM-architecture and copied the generated .elf-file into "meta-user/recipes-apps/myapp/files". Then I modified the .bb-file with the name of my new app.

After running petalinux-build the error "QA Issue: Architecture did not match (ARM, expected AArch64) on /work/aarch64-xilinx-linux/newtryapp/1.0-r0/packages-split/newtryapp-dbg/usr/bin/.debug/newtest.elf [arch]" appears.

But since the Cortex-R5 works with ARM-architecture, I cannot use AArch64 for my pre-built BM-application newtest.elf.

I have attached my app-recipe (with changed ending to be able to upload it). Thanks in advance for your help.

 

0 Kudos
1 Solution

Accepted Solutions
Highlighted
Moderator
Moderator
2,135 Views
Registered: ‎05-10-2017

Can you modify your recipe and put the elf in the lib/firmware directory? Below is an example recipe.

#
# This file is the rpu-fw recipe.
#

SUMMARY = "Simple rpu-fw application"
SECTION = "PETALINUX/apps"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"

SRC_URI = "file://rpu-fw.elf \
	"

S = "${WORKDIR}"
INSANE_SKIP_${PN} = "arch"

do_install() {
	     install -d ${D}/lib/firmware
	     install -m 0644 ${S}/rpu-fw.elf ${D}/lib/firmware/rpu-fw.elf
}

FILES_${PN} = "/lib/firmware/rpu-fw.elf"
-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

View solution in original post

0 Kudos
6 Replies
Highlighted
2,251 Views
Registered: ‎08-02-2018
I am also facing the same issue.
0 Kudos
Highlighted
Moderator
Moderator
2,230 Views
Registered: ‎05-10-2017

How is your standalone application being created in SDK? Have you tried the demo application that we provide?

Select OS platform as standalone, select processor as R5_0, you can select the openamp demo application to start with.

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Highlighted
Visitor
Visitor
2,169 Views
Registered: ‎11-07-2018

Thanks for your reply.

 

The echo-test demo works.

Creation of standalone package:

I create a new application project with "standalone" as BSP-platform. As target hardware platform I create "new hardware project" and as target hardware specification I choose the downloaded file "Xilinx-zcu104-2018.3.hdf".

For the target-hardware processor I select psu_cortexr5_0, and I also use "OpenAMP echo-test" as template.

The BSP-settings show WITH_PROXY=true and as configuration for OS: psu_cortexr5_0 it shows compiler=armr5-none-eabi-gcc and compiler_flags= -O2 -c -mcpu=cortex-r5.

I don't receive any errors when I build the BM-application.

After building I copy the elf-file into the files-folder of my newly created app and modify the .bb-file like shown in chapter 3.3.c of the UG1186.

 

By the way, I use petalinux version 2018.3 and SDK version 2018.3

0 Kudos
Highlighted
Moderator
Moderator
2,136 Views
Registered: ‎05-10-2017

Can you modify your recipe and put the elf in the lib/firmware directory? Below is an example recipe.

#
# This file is the rpu-fw recipe.
#

SUMMARY = "Simple rpu-fw application"
SECTION = "PETALINUX/apps"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"

SRC_URI = "file://rpu-fw.elf \
	"

S = "${WORKDIR}"
INSANE_SKIP_${PN} = "arch"

do_install() {
	     install -d ${D}/lib/firmware
	     install -m 0644 ${S}/rpu-fw.elf ${D}/lib/firmware/rpu-fw.elf
}

FILES_${PN} = "/lib/firmware/rpu-fw.elf"
-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

View solution in original post

0 Kudos
Highlighted
Visitor
Visitor
2,098 Views
Registered: ‎11-07-2018

Thanks, this file helped.

It seems to run after I have changed the rights to 0644 from 0755.

 

 

0 Kudos
Highlighted
Visitor
Visitor
1,411 Views
Registered: ‎12-04-2018

I see this is marked as a solution but I have the same issue as OP and I can't to make it work.

Where exactly is the lib/firmware directory?

Right now I have a bb file pretty much identical to the example

0 Kudos