i.MX8M Plus: Linux kernel panic (Asynchronous SError) after bootaux M7 firmware execution

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

i.MX8M Plus: Linux kernel panic (Asynchronous SError) after bootaux M7 firmware execution

338件の閲覧回数
dskim2
Contributor IV

Platform:
i.MX8M Plus EVK (LPDDR4)
Linux kernel: 5.10.72
U-Boot: SPL 2023.04-lf_v2023.04+gaf7d004eaf

Issue:
Linux kernel crashes with Asynchronous SError Interrupt when Cortex-M7 firmware is executed via U-Boot bootaux command before Linux boot completes.

Steps to reproduce:
1. Load M7 firmware in U-Boot:
fatload mmc 2:1 0x48000000 rpmsg_lite_str_echo_rtos.bin
cp.b 0x48000000 0x7e0000 0x20000
bootaux 0x7e0000

2. Boot Linux:
boot

Result:
Kernel panic occurs during booting:


Observation:
- U-Boot operation is stable
- Issue only occurs during Linux boot when M7 firmware is already running

 

Please see attached full log file and m core project file ( mcuxpresso for vs code ).

 

Best Regards

0 件の賞賛
返信
2 返答(返信)

200件の閲覧回数
Manuel_Salas
NXP TechSupport
NXP TechSupport

Hello @dskim2 

I hope you are doing very well.

As @EmbeddedExpertise mentioned, It is highly recommended to use Remoteproc instead of load the Binary from U-boot.

But, you can to run the environment variable in U-boot called prepare_mcore:

u-boot=> run prepare_mcore

 

If the issue is still there, we can start to check device tree for conflict of resources and IOMUX from the Cortex M application.

 

Best regards,

Salas.

0 件の賞賛
返信

283件の閲覧回数
EmbeddedExpertise
Contributor II

Hi,

Looks like a resource conflict between the processor domains. Did you check that the base address of the shared memory matches on both sides?

On the M7 you have something like
# define RPMSG_LITE_SHMEM_BASE (0x55000000U)

And this must match the rpmsg carveout defined in the device tree on the Linux side.

I'm sorry to not be more accurate, as this is quite old in my memory.

As a side note, loading the m7 binary in U-Boot definitely works (I did it successfully in a couple of projects) but is not the recommended way any longer. Remoteproc is. Remoteproc can take care of loading the binary, resetting the remote, and setting up the communication channels. This saves quite a lot of synchronization headaches on startup, or when one domain unexpectedly resets.

Cheers,
--
Thierry
emb-exp.com

Thierry
emb-exp.com
0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-2353475%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3Ei.MX8M%20Plus%3A%20bootaux%20M7%E3%83%95%E3%82%A1%E3%83%BC%E3%83%A0%E3%82%A6%E3%82%A7%E3%82%A2%E5%AE%9F%E8%A1%8C%E5%BE%8C%E3%81%ABLinux%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%83%91%E3%83%8B%E3%83%83%E3%82%AF%EF%BC%88%E9%9D%9E%E5%90%8C%E6%9C%9FSError%EF%BC%89%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%99%E3%82%8B%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2353475%22%20slang%3D%22zh-CN%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%83%97%E3%83%A9%E3%83%83%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%3A%3CBR%20%2F%3E%20i.MX8M%20Plus%20EVK%20(LPDDR4)%3CBR%20%2F%3E%20Linux%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%3A%205.10.72%3CBR%20%2F%3EU-Boot%3A%20SPL%202023.04-lf_v2023.04%2Bgaf7d004eaf%3C%2FP%3E%3CP%3E%E5%95%8F%E9%A1%8C%EF%BC%9A%3CBR%20%2F%3E%20Linux%E3%81%AE%E8%B5%B7%E5%8B%95%E3%81%8C%E5%AE%8C%E4%BA%86%E3%81%99%E3%82%8B%E5%89%8D%E3%81%AB%E3%80%81U-Boot%E3%81%AEbootaux%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%E4%BB%8B%E3%81%97%E3%81%A6Cortex-M7%E3%83%95%E3%82%A1%E3%83%BC%E3%83%A0%E3%82%A6%E3%82%A7%E3%82%A2%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81Linux%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%81%8C%E9%9D%9E%E5%90%8C%E6%9C%9FSError%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E3%81%A7%E3%82%AF%E3%83%A9%E3%83%83%E3%82%B7%E3%83%A5%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E5%86%8D%E7%8F%BE%E6%89%8B%E9%A0%86%EF%BC%9A%3CBR%20%2F%3E%201.%20U-Boot%E3%81%ABM7%E3%83%95%E3%82%A1%E3%83%BC%E3%83%A0%E3%82%A6%E3%82%A7%E3%82%A2%E3%82%92%E3%83%AD%E3%83%BC%E3%83%89%E3%81%99%E3%82%8B%EF%BC%9A%3CBR%20%2F%3E%20fatload%20mmc%202%3A1%200x48000000%20rpmsg_lite_str_echo_rtos.bin%3CBR%20%2F%3E%20cp.b%200x48000000%200x7e0000%200x20000%3CBR%20%2F%3E%20bootaux%200x7e0000%3C%2FP%3E%3CP%3E2.%20Linux%E3%82%92%E8%B5%B7%E5%8B%95%E3%81%99%E3%82%8B%EF%BC%9A%3CBR%20%2F%3E%E3%83%96%E3%83%BC%E3%83%88%3C%2FP%3E%3CP%3E%E7%B5%90%E6%9E%9C%EF%BC%9A%3CBR%20%2F%3E%E8%B5%B7%E5%8B%95%E4%B8%AD%E3%81%AB%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%83%91%E3%83%8B%E3%83%83%E3%82%AF%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%99%E3%82%8B%EF%BC%9A%3C%2FP%3E%3CP%3E%3CBR%20%2F%3E%E8%A6%B3%E5%AF%9F%EF%BC%9A%3CBR%20%2F%3E%20U-Boot%E3%81%AE%E5%8B%95%E4%BD%9C%E3%81%AF%E5%AE%89%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%20-%20%E3%81%93%E3%81%AE%E5%95%8F%E9%A1%8C%E3%81%AF%E3%80%81M7%E3%83%95%E3%82%A1%E3%83%BC%E3%83%A0%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%8C%E6%97%A2%E3%81%AB%E5%AE%9F%E8%A1%8C%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E7%8A%B6%E6%85%8B%E3%81%A7Linux%E3%82%92%E8%B5%B7%E5%8B%95%E3%81%99%E3%82%8B%E9%9A%9B%E3%81%AB%E3%81%AE%E3%81%BF%E7%99%BA%E7%94%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E6%B7%BB%E4%BB%98%E3%81%AE%E5%AE%8C%E5%85%A8%E3%81%AA%E3%83%AD%E3%82%B0%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%A8m%E3%82%B3%E3%82%A2%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%EF%BC%88vs%20code%E7%94%A8mcuxpresso%EF%BC%89%E3%82%92%E5%8F%82%E7%85%A7%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2355399%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20i.MX8M%20Plus%3A%20Linux%20kernel%20panic%20(Asynchronous%20SError)%20after%20bootaux%20M7%20firmware%20execution%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2355399%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F209213%22%20target%3D%22_blank%22%3E%40dskim2%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E3%81%8A%E5%85%83%E6%B0%97%E3%81%A7%E3%81%8A%E9%81%8E%E3%81%94%E3%81%97%E3%81%AE%E3%81%93%E3%81%A8%E3%81%A8%E6%80%9D%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F143212%22%20target%3D%22_blank%22%3E%40EmbeddedExpertise%3C%2FA%3E%E3%81%8C%E8%BF%B0%E3%81%B9%E3%81%9F%E3%82%88%E3%81%86%E3%81%AB%E3%80%81U-boot%20%E3%81%8B%E3%82%89%E3%83%90%E3%82%A4%E3%83%8A%E3%83%AA%E3%82%92%E3%83%AD%E3%83%BC%E3%83%89%E3%81%99%E3%82%8B%E4%BB%A3%E3%82%8F%E3%82%8A%E3%81%AB%20Remoteproc%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%82%92%E5%BC%B7%E3%81%8F%E3%81%8A%E5%8B%A7%E3%82%81%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E%E3%81%97%E3%81%8B%E3%81%97%E3%80%81U-boot%E3%81%A7%3CSTRONG%3Eprepare_mcore%3C%2FSTRONG%3E%E3%81%A8%E3%81%84%E3%81%86%E7%92%B0%E5%A2%83%E5%A4%89%E6%95%B0%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%AF%E5%8F%AF%E8%83%BD%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%20translate%3D%22no%22%3Eu-boot%3D%26gt%3B%20run%20prepare_mcore%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E5%95%8F%E9%A1%8C%E3%81%8C%E8%A7%A3%E6%B1%BA%E3%81%97%E3%81%AA%E3%81%84%E5%A0%B4%E5%90%88%E3%81%AF%E3%80%81Cortex%20M%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%8B%E3%82%89%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%83%84%E3%83%AA%E3%83%BC%E3%81%AE%E3%83%AA%E3%82%BD%E3%83%BC%E3%82%B9%E3%81%A8IOMUX%E3%81%AE%E7%AB%B6%E5%90%88%E3%82%92%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E%E3%82%B5%E3%83%A9%E3%82%B9%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2353874%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20i.MX8M%20Plus%3A%20Linux%20kernel%20panic%20(Asynchronous%20SError)%20after%20bootaux%20M7%20firmware%20execution%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2353874%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%3CBR%20%2F%3E%3CBR%20%2F%3E%E3%83%97%E3%83%AD%E3%82%BB%E3%83%83%E3%82%B5%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E9%96%93%E3%81%A7%E3%83%AA%E3%82%BD%E3%83%BC%E3%82%B9%E3%81%AE%E7%AB%B6%E5%90%88%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%82%88%E3%81%86%E3%81%A7%E3%81%99%E3%80%82%E5%85%B1%E6%9C%89%E3%83%A1%E3%83%A2%E3%83%AA%E3%81%AE%E3%83%99%E3%83%BC%E3%82%B9%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%81%8C%E4%B8%A1%E5%81%B4%E3%81%A7%E4%B8%80%E8%87%B4%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%81%93%E3%81%A8%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%81%8B%EF%BC%9F%3CBR%20%2F%3E%3CBR%20%2F%3EM7%E3%81%AB%E3%81%AF%E6%AC%A1%E3%81%AE%E3%82%88%E3%81%86%E3%81%AA%E3%82%82%E3%81%AE%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%3CBR%20%2F%3E%23define%20RPMSG_LITE_SHMEM_BASE%20(0x55000000U)%3C%2FP%3E%3CP%3E%E3%81%9D%E3%81%97%E3%81%A6%E3%81%93%E3%82%8C%E3%81%AF%E3%80%81Linux%E5%81%B4%E3%81%AE%E3%83%87%E3%83%90%E3%82%A4%E3%82%B9%E3%83%84%E3%83%AA%E3%83%BC%E3%81%A7%E5%AE%9A%E7%BE%A9%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8Brpmsg%E3%81%AE%E5%88%87%E3%82%8A%E6%8A%9C%E3%81%8D%E3%81%A8%E4%B8%80%E8%87%B4%E3%81%97%E3%81%A6%E3%81%84%E3%81%AA%E3%81%91%E3%82%8C%E3%81%B0%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%3CP%3E%E8%A8%98%E6%86%B6%E3%81%8C%E3%81%8B%E3%81%AA%E3%82%8A%E5%8F%A4%E3%81%84%E3%81%AE%E3%81%A7%E3%80%81%E3%82%82%E3%81%A3%E3%81%A8%E6%AD%A3%E7%A2%BA%E3%81%AB%E3%81%8A%E4%BC%9D%E3%81%88%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%8F%E3%81%A6%E7%94%B3%E3%81%97%E8%A8%B3%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%3CP%3E%E4%BD%99%E8%AB%87%E3%81%A7%E3%81%99%E3%81%8C%E3%80%81U-Boot%E3%81%ABm7%E3%83%90%E3%82%A4%E3%83%8A%E3%83%AA%E3%82%92%E3%83%AD%E3%83%BC%E3%83%89%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%AF%E7%A2%BA%E3%81%8B%E3%81%AB%E6%A9%9F%E8%83%BD%E3%81%97%E3%81%BE%E3%81%99%EF%BC%88%E7%A7%81%E3%82%82%E3%81%84%E3%81%8F%E3%81%A4%E3%81%8B%E3%81%AE%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%A7%E6%88%90%E5%8A%9F%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%EF%BC%89%E3%81%8C%E3%80%81%E3%82%82%E3%81%AF%E3%82%84%E6%8E%A8%E5%A5%A8%E3%81%95%E3%82%8C%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%A7%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82Remoteproc%20%E3%81%A7%E3%81%99%E3%80%82Remoteproc%E3%81%AF%E3%80%81%E3%83%90%E3%82%A4%E3%83%8A%E3%83%AA%E3%81%AE%E3%83%AD%E3%83%BC%E3%83%89%E3%80%81%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%81%AE%E3%83%AA%E3%82%BB%E3%83%83%E3%83%88%E3%80%81%E9%80%9A%E4%BF%A1%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%82%92%E5%87%A6%E7%90%86%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%E3%81%93%E3%82%8C%E3%81%AB%E3%82%88%E3%82%8A%E3%80%81%E8%B5%B7%E5%8B%95%E6%99%82%E3%82%84%E3%80%81%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%81%8C%E4%BA%88%E6%9C%9F%E3%81%9B%E3%81%9A%E3%83%AA%E3%82%BB%E3%83%83%E3%83%88%E3%81%95%E3%82%8C%E3%81%9F%E5%A0%B4%E5%90%88%E3%81%AA%E3%81%A9%E3%81%AB%E7%99%BA%E7%94%9F%E3%81%99%E3%82%8B%E5%90%8C%E6%9C%9F%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E5%A4%9A%E3%81%8F%E3%81%AE%E5%95%8F%E9%A1%8C%E3%82%92%E5%9B%9E%E9%81%BF%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E4%B9%BE%E6%9D%AF%E3%80%81%3CBR%20%2F%3E%20--%3CBR%20%2F%3E%E3%83%86%E3%82%A3%E3%82%A8%E3%83%AA%E3%83%BC%3CBR%20%2F%3Eemb-exp.com%3C%2FP%3E%3C%2FLINGO-BODY%3E