I’m trying to get a HMP application running on our Verdin IMX8M Plus SoM. I’m following the instructions as outlined here: Heterogeneous Multi-core Processing (HMP) Documentation Overview | Toradex Developer Center. Thus far I’ve successfully acquired and installed the MCUXpresso SDK for Linux (SDK_2.15.000_MIMX8ML8xxxKZ) and the ARM toolchain and have compiled and loaded the “hello_world” demo application. If I run the application from Uboot (run m4boot) all seems well, I see “hello world” printed to the terminal and the characters I type are all echoed back to me. However, when I attempt to boot into the Torizon OS I get an immediate kernel panic. If I don’t run the hello_world application the OS boots just fine.
Here are the relevant details of my setup:
- SOM: Verdin iMX8M Plus
- Carrier: Dahlia
- Torizon OS: torizon-core-docker-verdin-imx8mp-Tezi_6.6.1+build.14 (w/hello_world dt overlay as described in the instructions)
My Uboot variables are set as follows:
- load_cmd=ext4load mmc 2:1
- m4image=/ostree/deploy/torizon/var/usrlocal/bin/hello_world.bin
- m4image_size=18472
- loadm4image=ext4load mmc 2:1 0x48200000 /ostree/deploy/torizon/var/usrlocal/bin/hello_world.bin
- m4boot=ext4load mmc 2:1 0x48200000 /ostree/deploy/torizon/var/usrlocal/bin/hello_world.bin; cp.b 0x48200000 0x7e0000 18472; dcache flush; bootaux 0x7e0000
The message the accompanies the panic is shown below. The first two lines I also see when the OS boots normally, the difference starts on the third line:
[ 0.892436] imx-drm display-subsystem: no available port
[ 1.012047] rtc-ds1307 0-0032: hctosys: unable to read the hardware clock
[ 1.021201] SError Interrupt on CPU1, code 0x00000000bf000002 – SError
[ 1.021209] CPU: 1 PID: 103 Comm: kworker/u8:2 Not tainted 5.15.148-6.6.1+git.23a8e831749d #1-TorizonCore
[ 1.021216] Hardware name: Toradex Verdin iMX8M Plus WB on Dahlia Board (DT)
[ 1.021220] Workqueue: events_unbound deferred_probe_work_func
[ 1.021234] pstate: 80000005 (Nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=–)
[ 1.021242] pc : of_match_node+0x28/0xb0
[ 1.021250] lr : i2c_imx_probe+0x33c/0xa10
[ 1.021261] sp : ffff80000a6e3a90
[ 1.021264] x29: ffff80000a6e3a90 x28: ffff800009411530 x27: ffff0000c43d03f4
[ 1.021278] x26: ffff0000c43d00f0 x25: ffff80000a269e28 x24: ffff8000094114f8
[ 1.021288] x23: ffff80000a26c980 x22: 000000000000002b x21: ffff0000c015e000
[ 1.021299] x20: ffff0000c015e010 x19: ffff800009411530 x18: 0000000000000001
[ 1.021312] x17: 000000040044ffff x16: 00500072b5503510 x15: 0000000000000000
[ 1.021325] x14: 0000000000000170 x13: 0000000000007400 x12: ffff0000c0515914
[ 1.021337] x11: ffff0000c0515900 x10: aaaaaaaaaaaaaaab x9 : 0000000000000060
[ 1.021348] x8 : ffff800009ea8bb0 x7 : 0000000000000000 x6 : 000000000007a120
[ 1.021360] x5 : 0000000000b71aff x4 : 0000000000000002 x3 : 0000000000000002
[ 1.021372] x2 : 000000000000000c x1 : ffff0000ff7c9838 x0 : ffff80000a26c980
[ 1.021389] Kernel panic - not syncing: Asynchronous SError Interrupt
[ 1.021392] SMP: stopping secondary CPUs
[ 1.021699] Kernel Offset: disabled
[ 1.021700] CPU features: 0x0,00002001,20000846
[ 1.021705] Memory Limit: none
I’m at a loss trying to understand what’s happening here. Any help would be greatly appreciated.