iMX8MM, Cortex-M4 documentation

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

iMX8MM, Cortex-M4 documentation

Jump to solution
1,927 Views
Raal
Contributor III

Hello,

we want to use the Cortex-M4 of the iMX8MMINI # in our application. Currently I'm going through the reference manual and the SDK examples. Running the demo binaries from U-Boot also works.

I've several questions for which I can't find answers in the reference manual or other documents. For example, the M4 can be booted from different devices (TCM, DDR, etc.), but it's nowhere mentioned how the mechanism for this is implemented - I assume the U-Boot bootaux command sets some special registers for the boot address, but where is this documented?

Regards

0 Kudos
1 Solution
1,858 Views
joanxie
NXP TechSupport
NXP TechSupport

yes,  The area (0000_0000) and area (1FFE_0000) in CM4 are aliases.

View solution in original post

0 Kudos
7 Replies
1,907 Views
Raal
Contributor III

Hello joanxie,

as I wrote above, I'm already going through the SDK and the examples. But I think the M4 itself is not described completely in the iMX8 reference manual. Is there any additional documentation regarding the implementation of the M4 in the iMX8?

Regards

0 Kudos
1,893 Views
joanxie
NXP TechSupport
NXP TechSupport

sorry, besides SDK, don't have other special M4 documents

0 Kudos
1,883 Views
Raal
Contributor III

Hello @joanxie ,

sorry for the late reply. Maybe you can at least clarify why the examples from SDK link the code region to CM4 address 0x1FFE0000 instead of 0x00000000. I understand that TCML from 0x00000000-0x0001FFFF is mirrored at this address. Usually CMx software is linked to 0x00000000 and  I think it should also work. What is the reason for linking to 0x1FFE0000?

Regards

0 Kudos
1,875 Views
joanxie
NXP TechSupport
NXP TechSupport

pls refer to the enclosed file,

joanxie_0-1669012251886.png

and refer to the bsp, 0x0000000 is for ITCM

/* ITCM   */
	{ 0x00000000, 0x007E0000, 0x00020000, ATT_OWN | ATT_IOMEM },

 

0 Kudos
1,868 Views
Raal
Contributor III

Hello @joanxie 

I know this document. According to the iMX8MM reference manual, chapter 2.1.3 "Cortex-M4 memory map" the TCM is mapped as follows:

Raal_0-1669020220642.png

So this fits to the link address of 0x1FFE0000. But there's also a TCML mirror at 0x00000000:

Raal_1-1669020294075.png

Theoretically a M4 image should also be able to run if linked to address 0x00000000, right?

Regards

0 Kudos
1,859 Views
joanxie
NXP TechSupport
NXP TechSupport

yes,  The area (0000_0000) and area (1FFE_0000) in CM4 are aliases.

0 Kudos
1,915 Views
joanxie
NXP TechSupport
NXP TechSupport

you can find these examples from "Getting Started with MCUXpresso SDK for EVK-MIMX8MM" in the SDK folder

0 Kudos