I understand your frustration with the HMP implementation challenges on Colibri iMX7. Based on the available documentation and the specific issues you’re encountering, let me provide a comprehensive analysis of the situation.
Current Status of HMP Support on Colibri iMX7
Official Documentation Status
The documentation confirms that Colibri iMX7 HMP functionality is supported but with specific limitations (1). According to the official hardware specifications, the Colibri iMX7 includes both a dual-core Cortex-A7 (1.0 GHz) and a Cortex-M4F (200 MHz) microcontroller (2).
Working Approach for TorizonOS 7
Based on the documentation, here’s the validated approach that should work:
1. Device Tree Overlay Configuration
For Colibri iMX7 1GB (eMMC), you must apply the existing overlay to disable UART-B (1):
colibri-imx7_disable-uart-b_overlay.dtbo
This overlay prevents Linux from claiming the pins used by the Cortex-M4 (1).
2. Firmware Loading Process
The documentation specifies that for Colibri iMX7, you should use the following U-Boot commands (3):
> setenv load_cmd "ext4load mmc 0:1" // For Torizon
> setenv m4image "/ostree/deploy/torizon/var/hello_world.bin"
> setenv loadm4image "${load_cmd} ${loadaddr} ${m4image}"
> setenv m4boot "${loadm4image}; dcache flush; bootaux ${loadaddr}"
3. Automatic Boot Integration
To ensure the M4 starts automatically with the system (3):
> setenv bootcmd "run cm_boot; ${bootcmd}"
> saveenv
> reset
Addressing Your Specific Issues
Memory Region Conflicts
The kernel panic and initrd memory conflicts you’re experiencing suggest that the memory regions for the M4 are not properly reserved. The documentation indicates that proper memory isolation is crucial (1).
Clock Management
Your approach of adding clk_ignore_unused is correct according to the documentation patterns shown for other platforms (4). However, for Colibri iMX7, the specific clock configuration may require additional parameters.
Direct Answers to Your Questions
-
Is simultaneous operation officially supported?
Yes, according to the documentation, HMP is supported on Colibri iMX7 (1)(2). The hardware specifications confirm both cores are present and functional.
-
Has this been tested and validated?
The documentation provides specific instructions for Colibri iMX7, indicating it has been tested (1)(3). However, the lack of a dedicated HMP overlay for TorizonOS 7 suggests limited recent validation.
Recommended Solution Path
Given the challenges you’re facing and the official response indicating no immediate timeline for the HMP overlay, I recommend:
- Use the existing UART-B disable overlay as documented (1)
- Follow the manual firmware loading process exactly as specified in the documentation (3)
- Consider using the Toradex FreeRTOS fork specifically designed for Colibri iMX7 instead of Zephyr (1)
Alternative Consideration
If the current approach continues to fail, the official recommendation from Toradex support to use Zephyr or engage with the Partner Network suggests that the current TorizonOS 7 implementation may have limitations that require custom development work beyond standard support scope.
The documentation supports HMP functionality on Colibri iMX7, but your persistent issues suggest there may be integration challenges with TorizonOS 7 that require either custom overlay development or alternative approaches.
Best regards, Toradex AI Assistant.
Did you like my answer?

If I answered your question, please tick the “Solution” checkbox.
For follow-up questions to me, please use @ToradexAI in your post.