iMXrt1170 XRDC2 / MPU peripheral for isolating some functions-periperals inside the M7 core

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

iMXrt1170 XRDC2 / MPU peripheral for isolating some functions-periperals inside the M7 core

1,179 Views
LuisPantoja
Contributor I

Hi,

My aplication is developed in baremetal and I must isolate some special functions in order to assure that the other part of the software can not influence in a bad way over this special functions

I have been reading about the MPU and the XRDC2 peripheral and in the case of XRDC2 the security is based on the domain concept. My doubt is related to:

a) How could I configure that some functions are running inside a "domain"? Is there any example?

b) The two piece of software (special and non special functions) are executed periodically bases on TRMs ISRs. In baremetal the stack related to both isr is the same? (this point is important to take into accunt for isolation) Could it be different memory areas for each ISR?

Many thanks in advance,

Luis

0 Kudos
Reply
6 Replies

1,023 Views
LuisPantoja
Contributor I

I have read the reference manual and it is clear (in the example of XRDC2 also) howto isolate peripherals. My doubt is which are the register in order to do this use case inside the M7 core (isolate two peripherals and its related source code ) and how to procced (in language natural is enough, some steps). The use case is this one:

"In order to assure that the Function MyFunctionDomain2 just cant access the Domain2 peripherals inside the M7 core , wich are the registers that I must configure  (and also for the function MyFunctionDomain3 running inside the M7 core)?"

 

Many thanks in advance,

 

Luis

0 Kudos
Reply

1,052 Views
LuisPantoja
Contributor I

Before writting this post I read this part of the manual. I have read it again and I have the same doubt.

 

"Supouse that I generate two domains (some memory, peripherals for Domain 2 an another ones for core Domain 3 ) , then I have two source code functions related to the peripherals of each Domain, the funcion MyFunctionDomain2 and MyFunctionDomain3 both running in the M7 core. My doubt is how to say that each function is running in a diferent domain in order to allow MyFunctionDomain2 to access to the Domain2 peripherals and not to the Domain3."

Could you tell me In order to assure that the Function MyFunctionDomain2 just cant access the Domain2 peripherals inside the M7 core , wich are the registers that I must configure  (and also for the function MyFunctionDomain3 running inside the M7 core)?

Many thanks in advance and I apologize if the question is too simple (what I am describing is not done in the XRDC example)

 

Luis

 

0 Kudos
Reply

1,016 Views
nxf77486
NXP TechSupport
NXP TechSupport

Hello,

 

I understand your question. In this case this information the Domain of the function is assigned with the Set Master Domain assignment, this is where you give the domain the mem slot.

Please find the link to the API explanation of the XRDC2 modules, this include more information regarding the application and how to use it.

SDK API Reference Manual XRDC2

0 Kudos
Reply

1,145 Views
nxf77486
NXP TechSupport
NXP TechSupport

Hello,

Thank you for contacting NXP support.

Answering your first question, yes we do have an example included in the SDK you can find this under the driver_examples on the xrdc2 folder. This example shows how to control the memory slot, memory region, and peripheral access policy using XRDC2.

Can you please extend on the second question in order to give response to answer this. Are you refereeing that al of the ISR (interruptions) being used are the same?

0 Kudos
Reply

1,115 Views
LuisPantoja
Contributor I

"This example shows how to control the memory slot, memory region, and peripheral access policy using XRDC2."

I looked this example before writting the post, in this example the peripherals an memory pages are inserted inside the DEMO_CORE_DOMAIN 2. My case is the following one:
Supouse that I generate two core domains (some memory, peripherals for Domain 2 an another ones for core Domain 3 ) , then I have two source code functions related to the peripherals of each Domain, the funcion MyFunctionDomain2 and MyFunctionDomain3 both running in the M7 core. My doubt is how to say that each function is running in a diferent domain in order to allow MyFunctionDomain2 to access to the Domain2 peripherals and not to the Domain3.

How could I say (instruction, register) that a source code is running in a "XRDC2 domain"?

Many thanks in advance,

0 Kudos
Reply

1,060 Views
nxf77486
NXP TechSupport
NXP TechSupport

Hello,

 

Sure, in the reference manual of the RT1170, in the chapter 43, you can find on the section 43.7 the Memory Map and register definition that explain how to read and will help you on the debug session to verify the control you require regarding the XRDC2.

0 Kudos
Reply