From: Stefano Manni <stefano.manni@gmail.com>
To: barebox@lists.infradead.org
Subject: firmwareload fails for cortex-m7 on imx8mp
Date: Fri, 15 Nov 2024 14:43:57 +0100 [thread overview]
Message-ID: <CANn9nbiT8J+irgWYQxiTydNyOiTEiXBo_ZLqdVG1EGpHY9eyOA@mail.gmail.com> (raw)
Dear all,
I cannot run an ELF image on the M7 core on the imx8mp soc.
The ELF comes from zephyr and it runs as expected when I load it from linux,
but in barebox I encounter this error:
barebox@NXP i.MX8MPlus EVK board:/ tftp zephyr.elf
[################################################################]
barebox@NXP i.MX8MPlus EVK board:/ firmwareload zephyr.elf
remoteproc0: powering up remoteproc-cm7.of
DABT (current EL) exception (ESR 0x96000061) at 0x00000000007e0004
elr: 00000000ffd826f4 lr : 00000000ffd829cc
x0 : 00000000007e0000 x1 : 00000000bff22a40
x2 : 0000000000003f88 x3 : 00002add00000a91
x4 : 000000000000000c x5 : 00000000ffff7478
x6 : 00000000007e0004 x7 : 727065746f6d6572
x8 : 585858203a30636f x9 : 2074736564205858
x10: 3030303030303030 x11: 3030303065373030
x12: 3030302063727320 x13: 6666623030303030
x14: 6973203433613232 x15: 0000000000000001
x16: 00000000ffff7458 x17: 0000000000000001
x18: 00000000ffff79e0 x19: 00000000bff22994
x20: 0000000000003f94 x21: 00000000007e0000
x22: 00000000bff22940 x23: 00000000bfdd0b80
x24: 00000000bfdd0b28 x25: 00000000ffff7a80
x26: 0000000000000001 x27: 00000000ffd8edc0
x28: 0000000000003f94 x29: 00000000ffff79c0
Call trace:
[<ffd826f4>] (__arch_memcpy+0x48/0x13c) from [<ffd82a00>] (memcpy+0xc/0x14)
[<ffd82a00>] (memcpy+0xc/0x14) from [<ffd5150c>]
(rproc_elf_load_segments+0x148/0x16c)
[<ffd5150c>] (rproc_elf_load_segments+0x148/0x16c) from [<ffd5115c>]
(rproc_firmware_finish+0x84/0x10c)
[<ffd5115c>] (rproc_firmware_finish+0x84/0x10c) from [<ffd141b0>]
(firmware_close+0x28/0x4c)
[<ffd141b0>] (firmware_close+0x28/0x4c) from [<ffd73c44>] (cdev_close+0x3c/0x44)
[<ffd73c44>] (cdev_close+0x3c/0x44) from [<ffd751cc>] (devfs_close+0x10/0x18)
[<ffd751cc>] (devfs_close+0x10/0x18) from [<ffd76be4>] (close+0x110/0x118)
[<ffd76be4>] (close+0x110/0x118) from [<ffd1466c>]
(firmwaremgr_load_file+0x140/0x198)
[<ffd1466c>] (firmwaremgr_load_file+0x140/0x198) from [<ffd5eac4>]
(do_firmwareload+0xc4/0xd0)
[<ffd5eac4>] (do_firmwareload+0xc4/0xd0) from [<ffd078e0>]
(execute_command+0x44/0x8c)
[<ffd078e0>] (execute_command+0x44/0x8c) from [<ffd0422c>]
(execute_binfmt+0x68/0xa0)
[<ffd0422c>] (execute_binfmt+0x68/0xa0) from [<ffd11200>]
(run_list_real+0x8cc/0x978)
[<ffd11200>] (run_list_real+0x8cc/0x978) from [<ffd10788>]
(parse_stream_outer+0x140/0x1ec)
[<ffd10788>] (parse_stream_outer+0x140/0x1ec) from [<ffd115e0>]
(run_shell+0x64/0xac)
[<ffd115e0>] (run_shell+0x64/0xac) from [<ffd01a28>] (run_init+0x114/0x258)
[<ffd01a28>] (run_init+0x114/0x258) from [<ffd01bbc>] (start_barebox+0x50/0x8c)
[<ffd01bbc>] (start_barebox+0x50/0x8c) from [<ffd81748>] (decode_cache+0x0/0x5c)
[<ffd81748>] (decode_cache+0x0/0x5c) from [<ffd0000c>]
(__bare_init_start+0x0/0x14)
[<ffd0000c>] (__bare_init_start+0x0/0x14) from [<402046c8>] (0x402046c8)
[<402046c8>] (0x402046c8) from [<40203f48>] (0x40203f48)
panic: unhandled exception
As you can see the exception happens when rproc_elf_load_segments() tries to
memcpy a segment where the M7 expects it. The ELF has been compiled to run
from ITCM memory (0x007E0000-0x007FFFFF).
Do you have any idea? Maybe may I have to put a reserved-memory for ITCM?
Thank you.
Best,
Stefano
next reply other threads:[~2024-11-15 13:44 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-15 13:43 Stefano Manni [this message]
2024-11-15 14:02 ` Ahmad Fatoum
2024-11-15 14:47 ` Stefano Manni
2024-11-15 14:49 ` Ahmad Fatoum
2024-11-15 15:01 ` Stefano Manni
2024-11-19 9:03 ` Ahmad Fatoum
2024-11-19 10:40 ` Stefano Manni
2024-11-19 11:29 ` Ahmad Fatoum
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CANn9nbiT8J+irgWYQxiTydNyOiTEiXBo_ZLqdVG1EGpHY9eyOA@mail.gmail.com \
--to=stefano.manni@gmail.com \
--cc=barebox@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox