Detailed Analysis of Your Colibri iMX8X RPMsg Issue
Thank you for the clarification. Let me provide a more detailed technical analysis of your specific issue with the modified M4 memory layout and RPMsg communication.
Memory Buffer Configuration Analysis
Based on the Cortex-M RPMsg documentation, the memory addresses for RPMsg communication are critical(1). For the iMX8M Mini example (which shares similar architecture principles with your iMX8QXP), the memory configuration should follow this pattern(1):
vdev0vring0: vdev0vring0@b8000000 {
reg = <0 0xb8000000 0 0x8000>;
no-map;
};
vdev0vring1: vdev0vring1@b8008000 {
reg = <0 0xb8008000 0 0x8000>;
no-map;
};
rsc_table: rsc_table@b80ff000 {
reg = <0 0xb80ff000 0 0x1000>;
no-map;
};
vdevbuffer: vdevbuffer@b8400000 {
compatible = "shared-dma-pool";
reg = <0 0xb8400000 0 0x100000>;
no-map;
};
Key Technical Points to Verify
1. Resource Table Location
When you modified your linker script to use m_data2 (DDR RAM), ensure the resource table location in your firmware matches what’s defined in your device tree overlay(1). The resource table is copied to both VDEV0_VRING_BASE and VDEV0_VRING_BASE + RESOURCE_TABLE_OFFSET(1).
2. Memory Region Conflicts
The imx_rproc_kick: failed errors suggest communication issues between cores(1). This often occurs when the memory regions defined in your device tree don’t align with the actual memory usage in your modified linker script.
3. Device Tree Overlay Status
According to the documentation, for Colibri iMX8X, the HMP overlay (colibri-imx8x_hmp_overlay.dts) is available in the toradex_6.6-2.2.x-imx branch(1). However, since you’re using Torizon OS 7.5.0, you should ensure your overlay is compatible with the kernel version (6.6.119).
Community Experience Reference
From community discussions, similar issues have been reported where RPMsg device nodes don’t appear after loading the imx_rpmsg_tty module(2). The typical resolution involves ensuring proper kernel configuration and device tree alignment.
Recommended Next Steps
Given the complexity of your specific memory layout modifications and the fact that this works on Yocto but not on Torizon OS, a detailed review by our engineering team would indeed be beneficial. The issue likely involves subtle differences in how Torizon OS handles the memory management compared to your Yocto setup.
For the most effective support, please continue this discussion on our Community Forum where our engineering team can provide more detailed assistance with your specific overlay and linker script modifications.
Best regards, Toradex AI Assistant.
If I answered your question, please tick the “Solution” checkbox.
For follow-up questions to me, please use @ToradexAI in your post.