Clarification on Pin Multiplexing Differences Between CM7 and CM4 on i.MX RT1176

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Clarification on Pin Multiplexing Differences Between CM7 and CM4 on i.MX RT1176

832 Views
meetbhatt2113
Contributor II

Hello everyone,

I am working with the i.MX RT1176 using MCUXpresso SDK and developing applications for both the CM7 (primary) and CM4 (secondary) cores.

I have an application that runs correctly on the CM7 core, and I replicated the same application logic on the CM4 core. The CM4 project builds successfully without errors. However, I noticed a significant difference in the generated pin_mux.c files for the two cores.

In the CM7 project, the pin_mux.c file configures multiple peripherals such as ENET, LPUART1 and LPUART2, CAN, I2C, and several GPIOs. In contrast, the CM4 pin_mux.c file only configures LPUART1 and a limited number of GPIO pins. Peripherals like LPUART2, ENET, CAN, and I2C are completely absent in the CM4 pin configuration.

Is this difference expected on the RT1176 due to core ownership, XRDC restrictions, or the way MCUXpresso generates projects for dual-core devices?

What is the recommended approach when moving functionality from CM7 to CM4? Should pin multiplexing always be initialized on the CM7 core only, or is it valid for CM4 to configure its own pin multiplexing if clocks and XRDC permissions are set appropriately?

Any guidance or best practices from NXP or experienced users would be greatly appreciated.

Thank you.

Labels (1)
Tags (2)
0 Kudos
Reply
1 Reply

769 Views
mayliu1
NXP Employee
NXP Employee

Hi @meetbhatt2113 ,

Thank you so much for your interest in our products and for using our community.

Q1: Is this difference expected on the RT1176 due to core ownership, XRDC restrictions, or the way MCUXpresso generates projects for dual-core devices?

A1: I suggest you can refer to IMXRT1170RM chapter3 Memory Maps, especially 3.2 System memory map (CM7) and 3.3 System memory map (CM4).

You can find out that multiple peripherals can run in CM4.

mayliu1_0-1766117118248.png

Q2: What is the recommended approach when moving functionality from CM7 to CM4? Should pin multiplexing always be initialized on the CM7 core only, or is it valid for CM4 to configure its own pin multiplexing if clocks and XRDC permissions are set appropriately?

A2: There are many SDK demos for CM4 for you to refer.       

Pin multiplexing can be initialized on the CM7 core, but synchronization with the CM4 core must be carefully managed. Alternatively, CM4 can configure its own pin multiplexing if required.
The choice depends on your project  requirement.
Q3:  Any guidance or best practices from NXP or experienced users would be greatly appreciated.

A3:  I suggest you can refer to  the following application notes.

https://www.nxp.com/docs/en/application-note/AN13264.pdf

https://www.nxp.com/docs/en/application-note/AN13114.pdf

Wish it helps you.
If you still have question about it, please kindly let me know. 

Best Regards
MayLiu

0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2266089%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EClarification%20on%20Pin%20Multiplexing%20Differences%20Between%20CM7%20and%20CM4%20on%20i.MX%20RT1176%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2266089%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%20everyone%2C%3C%2FP%3E%3CP%3EI%20am%20working%20with%20the%20i.MX%20RT1176%20using%20MCUXpresso%20SDK%20and%20developing%20applications%20for%20both%20the%20CM7%20(primary)%20and%20CM4%20(secondary)%20cores.%3C%2FP%3E%3CP%3EI%20have%20an%20application%20that%20runs%20correctly%20on%20the%20CM7%20core%2C%20and%20I%20replicated%20the%20same%20application%20logic%20on%20the%20CM4%20core.%20The%20CM4%20project%20builds%20successfully%20without%20errors.%20However%2C%20I%20noticed%20a%20significant%20difference%20in%20the%20generated%20pin_mux.c%20files%20for%20the%20two%20cores.%3C%2FP%3E%3CP%3EIn%20the%20CM7%20project%2C%20the%20pin_mux.c%20file%20configures%20multiple%20peripherals%20such%20as%20ENET%2C%20LPUART1%20and%20LPUART2%2C%20CAN%2C%20I2C%2C%20and%20several%20GPIOs.%20In%20contrast%2C%20the%20CM4%20pin_mux.c%20file%20only%20configures%20LPUART1%20and%20a%20limited%20number%20of%20GPIO%20pins.%20Peripherals%20like%20LPUART2%2C%20ENET%2C%20CAN%2C%20and%20I2C%20are%20completely%20absent%20in%20the%20CM4%20pin%20configuration.%3C%2FP%3E%3CP%3EIs%20this%20difference%20expected%20on%20the%20RT1176%20due%20to%20core%20ownership%2C%20XRDC%20restrictions%2C%20or%20the%20way%20MCUXpresso%20generates%20projects%20for%20dual-core%20devices%3F%3C%2FP%3E%3CP%3EWhat%20is%20the%20recommended%20approach%20when%20moving%20functionality%20from%20CM7%20to%20CM4%3F%20Should%20pin%20multiplexing%20always%20be%20initialized%20on%20the%20CM7%20core%20only%2C%20or%20is%20it%20valid%20for%20CM4%20to%20configure%20its%20own%20pin%20multiplexing%20if%20clocks%20and%20XRDC%20permissions%20are%20set%20appropriately%3F%3C%2FP%3E%3CP%3EAny%20guidance%20or%20best%20practices%20from%20NXP%20or%20experienced%20users%20would%20be%20greatly%20appreciated.%3C%2FP%3E%3CP%3EThank%20you.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2266089%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3EEvaluation%20Board%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2266484%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Clarification%20on%20Pin%20Multiplexing%20Differences%20Between%20CM7%20and%20CM4%20on%20i.MX%20RT1176%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2266484%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F256480%22%20target%3D%22_blank%22%3E%40meetbhatt2113%3C%2FA%3E%26nbsp%3B%2C%3C%2FP%3E%0A%3CP%3EThank%20you%20so%20much%20for%20your%20interest%20in%20our%20products%20and%20for%20using%20our%20community.%3C%2FP%3E%0A%3CP%3EQ1%3A%20Is%20this%20difference%20expected%20on%20the%20RT1176%20due%20to%20core%20ownership%2C%20XRDC%20restrictions%2C%20or%20the%20way%20MCUXpresso%20generates%20projects%20for%20dual-core%20devices%3F%3C%2FP%3E%0A%3CP%3EA1%3A%20I%20suggest%20you%20can%20refer%20to%20IMXRT1170RM%20chapter3%26nbsp%3BMemory%20Maps%2C%20especially%26nbsp%3B3.2%20System%20memory%20map%20(CM7)%20and%26nbsp%3B3.3%20System%20memory%20map%20(CM4).%3C%2FP%3E%0A%3CP%3EYou%20can%20find%20out%20that%26nbsp%3B%3CSPAN%3Emultiple%20peripherals%20can%20run%20in%20CM4.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22mayliu1_0-1766117118248.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22mayliu1_0-1766117118248.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F370693i2B10E3A6105D2E26%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22mayliu1_0-1766117118248.png%22%20alt%3D%22mayliu1_0-1766117118248.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3EQ2%3A%20What%20is%20the%20recommended%20approach%20when%20moving%20functionality%20from%20CM7%20to%20CM4%3F%20Should%20pin%20multiplexing%20always%20be%20initialized%20on%20the%20CM7%20core%20only%2C%20or%20is%20it%20valid%20for%20CM4%20to%20configure%20its%20own%20pin%20multiplexing%20if%20clocks%20and%20XRDC%20permissions%20are%20set%20appropriately%3F%3C%2FP%3E%0A%3CP%3EA2%3A%20There%20are%20many%20SDK%20demos%20for%20CM4%20for%20you%20to%20refer.%26nbsp%3B%26nbsp%3B%20%26nbsp%3B%20%26nbsp%3B%26nbsp%3B%3C%2FP%3E%0A%3CDIV%3EPin%20multiplexing%20can%20be%20initialized%20on%20the%20CM7%20core%2C%20but%20synchronization%20with%20the%20CM4%20core%20must%20be%20carefully%20managed.%20Alternatively%2C%20CM4%20can%20configure%20its%20own%20pin%20multiplexing%20if%20required.%3C%2FDIV%3E%0A%3CDIV%3EThe%20choice%20depends%20on%20your%20project%26nbsp%3B%20requirement.%3C%2FDIV%3E%0A%3CDIV%3EQ3%3A%26nbsp%3B%20Any%20guidance%20or%20best%20practices%20from%20NXP%20or%20experienced%20users%20would%20be%20greatly%20appreciated.%3C%2FDIV%3E%0A%3CP%3EA3%3A%26nbsp%3B%20I%20suggest%20you%20can%20refer%20to%26nbsp%3B%20the%20following%20application%20notes.%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Fdocs%2Fen%2Fapplication-note%2FAN13264.pdf%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fwww.nxp.com%2Fdocs%2Fen%2Fapplication-note%2FAN13264.pdf%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Fdocs%2Fen%2Fapplication-note%2FAN13114.pdf%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fwww.nxp.com%2Fdocs%2Fen%2Fapplication-note%2FAN13114.pdf%3C%2FA%3E%3C%2FP%3E%0A%3CP%3EWish%20it%20helps%20you.%3CBR%20%2F%3EIf%20you%20still%20have%20question%20about%20it%2C%20please%20kindly%20let%20me%20know.%26nbsp%3B%3C%2FP%3E%0A%3CP%3EBest%20Regards%3CBR%20%2F%3EMayLiu%3C%2FP%3E%3C%2FLINGO-BODY%3E