Problem/error while booting A53 after booting M4 in IMX8MM Mini

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Problem/error while booting A53 after booting M4 in IMX8MM Mini

Jump to solution
7,880 Views
deepakbeniya
Contributor III

Hi NXP ,

MIMX8M6CVNKZAB(IMX8M Mini)

I am facing problem while booting A53 , in U-boot after booting Cortex M4 ( bootaux 0x7e0000). A53 is unable to boot. I have shared the error log dsocument(A53_M4_Boot_Problem.docx). I have also shared the dts file which I am using. 
I have downloaded the SDK from SDK Builder and tested Hello_world Program and ping_pong_test . These 2 are working fine but after running low_power_wakeword its showing the errror in this way. 

Then I try to power off the board and try to boot only A53 then it is not booting error log I have attached(A53_Boot_issue.docx).
I am booting through SD card

 

 

At first I was running the low_power_wakeword.bin
=>fatload mmc 1:1 0x48000000 low_power_wakeword.bin 
=>cp.b 0x48000000 0x7e0000 0x20000
=>bootaux 0x7e0000
=>boot
then in m4 terminal it is showing this

################### LOW POWER VOICE DEMO START ####################

Build Time: Dec 29 2023--10:56:20
VoiceSeekerLight_Create status: 0x0
VoiceSeekerLight lib initialized!
VoiceSpot library version: 0.23.3.1665740895
VoiceSpot model version: 0.13.1
VoiceSpot model string: HeyNXP_en-US_1
********************************
Wait the Linux kernel boot up to create the link between M core and A core.

********************************

then after I am booting A53 its not booting. 

 

 

After doing this experiment when I try to boot only A53 it's not booting. after changing the env value to default it's booting.
 

U-Boot=> env default -a 
I am using this command to get the default environment.


How can I solve this problem ,provide the necessory source/documents to edit the SDK examples as per my requirement and compile it .

How can I boot both M4 and A53 safely? Provide me the changes I need to make in dts file. RPmsg is not working correctly.

Board #https://www.phytec.de/produkte/single-board-computer/phyboard-polis-imx8m-mini/

0 Kudos
Reply
1 Solution
7,853 Views
joanxie
NXP TechSupport
NXP TechSupport

pls refer to the steps as below, the example is for imx8mn, you just replace it by  imx8mm

If you already booted Mcore in U-Boot stage, you need first stop the m core using remoteproc, before you start the new firwmare.

echo stop > /sys/devices/platform/[imx8mn-cm7]/remoteproc/remoteproc0/state; #if you not start Mcore in U-Boot stage, no need execute this in the begining.

echo imx8mn_m7_TCM_rpmsg_lite_str_echo_rtos.elf > /sys/devices/platform/imx8mn-cm7/remoteproc/remoteproc0/firmware

echo start > /sys/devices/platform/imx8mn-cm7/remoteproc/remoteproc0/state

After start, you could execute stop again, and assign a new elf firmware.

You could not assign a new firwmare when state is in start.

View solution in original post

0 Kudos
Reply
5 Replies
6,466 Views
MaazPatni
Contributor II

For IMX8MM hardware, this initialization process is managed within the U-Boot bootloader, specifically located in the board/freescale/imx8mm_evk/ directory.

U-Boot, drivers/power/pmic/pca9450.c is typically involved.

contributions for i.MX8.

0 Kudos
Reply
7,849 Views
deepakbeniya
Contributor III

root@phyboard-polis-imx8mm-4:remoteproc0# echo start > state
[ 1886.701057] remoteproc remoteproc0: powering up imx-rproc
[ 1886.706541] remoteproc remoteproc0: Direct firmware load for rpmsg_lite_pingpong_rtos_linux_remote.elf failed with error -2
[ 1886.717784] remoteproc remoteproc0: Falling back to sysfs fallback for: rpmsg_lite_pingpong_rtos_linux_remote.elf
[ 1886.728968] remoteproc remoteproc0: request_firmware failed: -2
[ 1886.734975] remoteproc remoteproc0: Boot failed: -2
-sh: echo: write error: No such file or directory
root@phyboard-polis-imx8mm-4:remoteproc0#

 

after doing this I am getting this error
This rpmsg ping pong is working while loading in U-boot prompt but  my issue is in low_power_wakeword , 
after loading the low_power_wakeword.bin in U-boot prompt , unable to boot the A53 I am getting the error . I have attached the error(A53_M4_Boot_Problem.docx) . In M4 terminal I am getting this 

#################### LOW POWER VOICE DEMO START ####################

Build Time: Jan 1 2024--10:16:54
VoiceSeekerLight_Create status: 0x0
VoiceSpot library version: 0.23.1.1648542135
VoiceSpot model version: 0.13.1
VoiceSpot model string: HeyNXP_en-US_1
********************************
Wait the Linux kernel boot up to create the link between M core and A core.

then A53 is not booting.

0 Kudos
Reply
7,841 Views
joanxie
NXP TechSupport
NXP TechSupport

did you step by step according to the readme, right? it seems the A core is still under sleep, so you couldn't use remotproc, refer to the readme

3. Make Linux on A core enter suspend:
"echo mem > /sys/power/state"

4. When a wakeword ("Hey NXP") is detected by M core, Linux will resume and audio record will continue on Linux.

Pls share your detailed test steps, refer to the readme, This case runs together with Linux and the Linux release version should be not lower than 5.15.X_2.0.0

After M core running, please boot the linux kernel to create the rpmsg channel between A core and M core.

if you test step by step according to readme, it should be successful, still failed, pls share your detailed steps and let me reproduce this on my board

 

0 Kudos
Reply
7,772 Views
deepakbeniya
Contributor III

Through u-boot i have tried to boot and I have got the same error . I have shared the log file just check out and what modification I need to do in device tree file .
And the example code for low_power_wakeword is written for 8 mic array , I need to modify in where that it will work for USB mic .


And after the board is booted I have tried to load the frimware and started the m4 core but i got error.

 

root@phyboard-polis-imx8mm-4:~# ls
gstreamer-examples@ rpmsg_lite_pingpong_rtos_linux_remote.elf
opencv-examples@ v4l2_c-examples@
root@phyboard-polis-imx8mm-4:~# echo start > /sys/devices/platform/imx8mm-cm4/remoteproc/remoteproc0//state
[ 1390.952865] remoteproc remoteproc0: powering up imx-rproc
[ 1390.958344] remoteproc remoteproc0: Direct firmware load for rpmsg_lite_pingpong_rtos_linux_remote.elf failed with error -2
[ 1390.969578] remoteproc remoteproc0: Falling back to sysfs fallback for: rpmsg_lite_pingpong_rtos_linux_remote.elf
[ 1390.980868] remoteproc remoteproc0: request_firmware failed: -2
[ 1390.986837] remoteproc remoteproc0: Boot failed: -2
-sh: echo: write error: No such file or directory
root@phyboard-polis-imx8mm-4:~# echo stop > /sys/devices/platform/imx8mm-cm4/remoteproc/remoteproc0/sstate
-sh: echo: write error: Invalid argument
root@phyboard-polis-imx8mm-4:~# echo stop > /sys/devices/platform/imx8mm-cm4/remoteproc/remoteproc0/sstatephyboard-polis-imx8mm-4:~# echo start > /sys/devices/platform/imx8mm-cm4/remoteproc/remoteproc0/state
[ 1445.031463] remoteproc remoteproc0: powering up imx-rproc
[ 1445.036940] remoteproc remoteproc0: Direct firmware load for rpmsg_lite_pingpong_rtos_linux_remote.elf failed with error -2
[ 1445.048200] remoteproc remoteproc0: Falling back to sysfs fallback for: rpmsg_lite_pingpong_rtos_linux_remote.elf
[ 1445.059417] remoteproc remoteproc0: request_firmware failed: -2
[ 1445.065420] remoteproc remoteproc0: Boot failed: -2
-sh: echo: write error: No such file or directory
root@phyboard-polis-imx8mm-4:~# echo start > /sys/devices/platform/imx8mm-cm4/remoteproc/remoteproc0//statehyboard-polis-imx8mm-4:~# echo stop > /sys/devices/platform/imx8mm-cm4/remoteproc/remoteproc0/state
-sh: echo: write error: Invalid argument
root@phyboard-polis-imx8mm-4:~# echo rpmsg_lite_pingpong_rtos_linux_remote.elf > /sys/devices/platfoorm/imx8mm-cm4/remoteproc/remoteproc0/firmware
root@phyboard-polis-imx8mm-4:~# echo rpmsg_lite_pingpong_rtos_linux_remote.elf > /sys/devices/platfoorm/imx8mm-cm4/remoteproc/remoteproc0/firmwarestop > /sys/devices/platform/imx8mm-cm4/remoteproc/remoteproc0/statephyboard-polis-imx8mm-4:~# echo start > /sys/devices/platform/imx8mm-cm4/remoteproc/remoteproc0/state
[ 1470.283239] remoteproc remoteproc0: powering up imx-rproc
[ 1470.288718] remoteproc remoteproc0: Direct firmware load for rpmsg_lite_pingpong_rtos_linux_remote.elf failed with error -2
[ 1470.299957] remoteproc remoteproc0: Falling back to sysfs fallback for: rpmsg_lite_pingpong_rtos_linux_remote.elf
[ 1470.311067] remoteproc remoteproc0: request_firmware failed: -2
[ 1470.317058] remoteproc remoteproc0: Boot failed: -2
-sh: echo: write error: No such file or directory
root@phyboard-polis-imx8mm-4:~#

 

 

 

No output on M4 terminal. 

0 Kudos
Reply
7,854 Views
joanxie
NXP TechSupport
NXP TechSupport

pls refer to the steps as below, the example is for imx8mn, you just replace it by  imx8mm

If you already booted Mcore in U-Boot stage, you need first stop the m core using remoteproc, before you start the new firwmare.

echo stop > /sys/devices/platform/[imx8mn-cm7]/remoteproc/remoteproc0/state; #if you not start Mcore in U-Boot stage, no need execute this in the begining.

echo imx8mn_m7_TCM_rpmsg_lite_str_echo_rtos.elf > /sys/devices/platform/imx8mn-cm7/remoteproc/remoteproc0/firmware

echo start > /sys/devices/platform/imx8mn-cm7/remoteproc/remoteproc0/state

After start, you could execute stop again, and assign a new elf firmware.

You could not assign a new firwmare when state is in start.

0 Kudos
Reply