[Security] about Memory Management

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

[Security] about Memory Management

跳至解决方案
1,601 次查看
Gideon
Contributor III

Architecture: FreeRTOS 10.2.1 with S32K144

Our security has the following requirement:
"Do not grant unnecessary processes or tasks the permission to read or write to memory regions through process boundaries or MMU."

Q1: Does the S32K144 support process boundaries or MMU mechanisms?
Q2: If yes, what is the setting to enable process boundaries or MMU?

0 项奖励
回复
1 解答
1,483 次查看
danielmartynek
NXP TechSupport
NXP TechSupport

Hi @Gideon,

As I mentioned, the MCU has an MPU only.

FreeRTOS has MPU support for the ARM MPU.

However, the CM4 core on S32K144 does not have ARM MPU, there is NXP MPU on the bus instead.

You would need to implement it on your own. There is SDK MPU driver though.

 

Regards,

Daniel

在原帖中查看解决方案

0 项奖励
回复
3 回复数
1,579 次查看
danielmartynek
NXP TechSupport
NXP TechSupport

Hello @Gideon,

Unfortunately, the S32K1xx series do not have MMU.

MSCM_CPxCFG3 = 0x101.

MSCM_CPxCFG3[MMU] = 0.

The S32K1xx HW supports:

  • The system MPU prevents access of different bus masters to address ranges. It is typically intended for use by the safety application to prevent non-safety related modules access to the application's safety-relevant resources.
  • The peripheral bridge can restrict read and write access to individual I/O modules based on the origin of the access and its state (user mode/supervisor mode).
  • Register protection prevents individual registers from any manipulation until the registers are unlocked.

 

Regards,

Daniel

0 项奖励
回复
1,524 次查看
Gideon
Contributor III

the S32K1xx series do not have MMU ==> OK, I understand.
But does the S32K144 series with FreeRTOS 10.2.1 support Process boundary mechanisms?

0 项奖励
回复
1,484 次查看
danielmartynek
NXP TechSupport
NXP TechSupport

Hi @Gideon,

As I mentioned, the MCU has an MPU only.

FreeRTOS has MPU support for the ARM MPU.

However, the CM4 core on S32K144 does not have ARM MPU, there is NXP MPU on the bus instead.

You would need to implement it on your own. There is SDK MPU driver though.

 

Regards,

Daniel

0 项奖励
回复