Perfect! Now I can help you migrate your Cortex-M7 UART communication from UART4 to UART1 on the Ivy Plus carrier board with your Verdin iMX8M Plus running Torizon OS 7.1.0.
Key Changes Required
Based on your setup, you’ll need to make changes in three areas:
1. Device Tree Overlay Modifications
For Verdin iMX8M Plus, you’ll need to create or modify a device tree overlay to disable UART1 from Linux control so the Cortex-M7 can use it(1). The overlay structure should follow this pattern:
/dts-v1/;
/plugin/;
/ {
compatible = "toradex,verdin-imx8mp-wifi-dahlia",
"toradex,verdin-imx8mp-wifi",
"toradex,verdin-imx8mp",
"fsl,imx8mp";
};
(1)
You’ll need to disable UART1 in the Linux device tree by setting its status to “disabled” to prevent conflicts with the Cortex-M7 usage(1).
2. Pin Mux Configuration Changes
In your MCUXpresso SDK project, you’ll need to modify the pin mux configuration files. The changes will be in:
pin_mux.c - Update the pin configuration functions
pin_mux.h - Update the pin definitions
The exact pin assignments will depend on which SODIMM pins are available on the Ivy Plus carrier board for UART1 functionality(1).
3. Clock Source Considerations
For Verdin iMX8M Plus, clock configuration changes may be necessary when switching UART peripherals(1). You should verify the clock settings in your MCUXpresso project configuration.
Implementation Steps
-
Check Ivy Plus pin availability - Verify which SODIMM pins are brought out on the Ivy Plus for UART1 functionality(2)
-
Update your MCUXpresso project - Modify the pin mux files to use UART1 instead of UART4
-
Create device tree overlay - Disable UART1 in Linux to allow Cortex-M7 access
-
Apply the overlay - Use TorizonCore Builder or the device tree overlay process for Torizon OS(1)
-
Test the configuration - Load your modified Cortex-M7 firmware and verify UART1 communication
The process follows the same principles described in the Hello World guide for Cortex-M development, but adapted for your specific UART change(1).
Would you like me to provide more specific details about any of these steps, such as the exact pin mux configurations or device tree overlay syntax?
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.