Imx8 apalis Ixora - M4 core access

Hello Everyone,

I was trying to use m4 cores in apalis imx8qm board with the sample code (hello_world) given in the SDK (SDK_2_9_0_MIMX8QM6xxxFF\boards\mekmimx8qm\demo_apps\hello_world/cm4_core1) and tried to run in the core 1 with the custom device tree overlay which was mentioned in the below link How to Run Hello World on the Cortex-M | Toradex Developer Center . This was working fine in apalis imx8 evaluation board v1.1 but when doing the same experiment in the ixora board v1.3, it is works as expected in the uboot terminal and not working after booting the linux ( applied overlay to remove pwm0 and pwm1 and uart2 as mentioned in the below image). I also referred the page Controlling the peripheral in IMX8 with M4 core - #11 by hfranco.tx . iam not sure whether i was missing any key points.

.

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.


I understand you’re experiencing issues with the M4 core on your Apalis iMX8QM when using the Ixora carrier board. This is a known issue that has been reported in the community.

Known Issue with BSP 7.x

Based on community reports, there’s a confirmed issue when running both Cortex-M4s and Linux with BSP 7.x (Linux kernel 6.6) on the Apalis iMX8 platform (1). The issue causes the M4 cores to stop running after Linux boots, which matches your experience where it works in U-Boot but fails after Linux starts (1).

Recommended Solution

Use BSP 6.x (Linux kernel 5.15): BSP 6 has been reported to work reliably for concurrent execution of Linux and M4 cores (1). If your use case requires both Linux and M4 to run together, it is strongly recommended to use BSP 6.x for the time being (1).

Device Tree Overlay Verification

For Apalis iMX8 Core 1, you should be using the overlay that disables PWM0, PWM1, and LPUART2 (2):

/dts-v1/;
/plugin/;

/* Disable PWM0 and PMW1 to use M4 Core 1 UART */

/ {
	compatible = "toradex,apalis-imx8-v1.1-eval",
		     "toradex,apalis-imx8-eval",
		     "toradex,apalis-imx8",
		     "fsl,imx8qm";
};

&lsio_pwm0 {
    status = "disabled";
};

&lsio_pwm1 {
    status = "disabled";
};

&lpuart2 {
    status = "disabled";
};

(2)

Hardware Connection Verification

Ensure your hardware connections are correct for the Ixora carrier board. For Cortex-M4 Core 1, you should connect your USB-TTL converter to (2):

USB-TTL Signal Apalis Eval Board (M4_1)
TX MXM3_6
RX MXM3_8
GND SoC GND

Summary

The issue you’re experiencing is likely due to the known incompatibility with BSP 7.x. The difference between working on the Evaluation Board v1.1 and not working on Ixora v1.3 might be related to different BSP versions being used. For consistent operation, downgrade to BSP 6.x until this issue is resolved in future BSP releases (1).

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.