Setup XRDC domains and assign by PID for S32K344

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Setup XRDC domains and assign by PID for S32K344

跳至解决方案
1,852 次查看
oskarjohansson
Contributor I

Hi, I'm trying to setup a safe context in the S32K344 and control the memory and peripheral access based on the PID. Simplified I want to create two "process", one safe/secure that has access to some part of the memory/peripheral and one non-safe that doesn't have access to some part of the memory/peripherals. I'm looking at the XRDC module and try to configure, but you are restricted to assign one domain per master instance? 

So is it not possible to have different access levels for one core based on the PID?

Best regards,

Oskar

0 项奖励
回复
1 解答
1,578 次查看
davidtosenovjan
NXP TechSupport
NXP TechSupport

Yes, I would agree with that.

在原帖中查看解决方案

7 回复数
1,800 次查看
davidtosenovjan
NXP TechSupport
NXP TechSupport

It can be done, one core master can be assigned to multiple domains.

davidtosenovjan_0-1728385657321.png

 

0 项奖励
回复
1,781 次查看
oskarjohansson
Contributor I

Thank you for your reply, but when I look at the MDA_Wn_m_DFMT0, for the core master, there is only one MDA_W0_0_DFMT0? Or is it something I miss here?

Not as in the example where a master 4 here has 4 domains (?)

oskarjohansson_1-1728390840670.png

If I try to setup the XRDC in the S32DS and try to add another configuration in the Domain Assignment I only get:

oskarjohansson_0-1728390630990.png

Best regards,

Oskar

 

0 项奖励
回复
1,769 次查看
davidtosenovjan
NXP TechSupport
NXP TechSupport

This is one domain (0) and by '+' you can add another domain (1-3). All can use multiple core masters.

davidtosenovjan_0-1728471524562.png

 

 

0 项奖励
回复
1,740 次查看
oskarjohansson
Contributor I

Yes, but when I do that and add the same core master (Xrdc_0_CM7_0) twice I get the error message above.

So it is possible to add multiple core master to a defined domain, but not one core master to multiple domains that will changed based on the PID register? 

oskarjohansson_0-1728537459042.png

Best regards,

Oskar

0 项奖励
回复
1,719 次查看
davidtosenovjan
NXP TechSupport
NXP TechSupport

Yes, you are right.

You may have multiple masters in one domain every master must be in different one.

For instance for S32K388, you may have CM7_0,CM7_1 and CM7_2 in Domain 0 and CM7_3 in Domain 1.

0 项奖励
回复
1,671 次查看
oskarjohansson
Contributor I

Okay, so just to clarify, in order to achieve "Isolation of safety-critical and non-safety-critical code" it is necessary to have a processor that has two cores that can run in their own domain, as it is not possible to assign one core to different domains. 

So for the S32K344, a 2-core lockstep, it is not possible to use the XRDC to create different domains for the core to create an isolation between the safety and non-safety code? It would be necessary to use something like the S32K358, which has a 2-core lockstep and an additional single core?

oskarjohansson_0-1728883090240.png

Best regards,

Oskar

0 项奖励
回复
1,579 次查看
davidtosenovjan
NXP TechSupport
NXP TechSupport

Yes, I would agree with that.