MPC5777C MMU configuration for calibration

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

MPC5777C MMU configuration for calibration

跳至解决方案
1,214 次查看
darq
Contributor III

Hello,

I'm wondering if the MMU can be reconfigured during runtime by the application or should it only be configured by the startup code of a bootloader? If it is possible to reconfigure it during runtime, what should the process look like? Should the existing entry be deleted and a new one written in the same place or can specific entry just be overwritten?

Best regards

标记 (2)
0 项奖励
回复
1 解答
1,200 次查看
petervlna
NXP TechSupport
NXP TechSupport

Hello,

I'm wondering if the MMU can be reconfigured during runtime by the application or should it only be configured by the startup code of a bootloader?

It is application dependent. I recommend to configure MMU at startup, as you need to initialize more than default 4kB of memory for some meaningful execution.

If it is possible to reconfigure it during runtime, what should the process look like?

You should take care not to use the regions you are reconfiguring.

Should the existing entry be deleted and a new one written in the same place or can specific entry just be overwritten?

You can simply overwrite it. Just make sure that code is not executed from such part and also there are no conflicts of regions with your application.

Best regards,

Peter

在原帖中查看解决方案

0 项奖励
回复
5 回复数
463 次查看
letuanvu
Contributor I

Hi Petervlna,

Is it possible to overwrite 1 entry by others entries with some overlaps

letuanvu_0-1761812433938.png

 

0 项奖励
回复
439 次查看
letuanvu
Contributor I

Sorry Petervlna, pls ignore my previous comment, the picture was not the correct one. pls checkout the below one

Is it possible to partially overwrite 1 entry (e.g 64KB) by 4 others entries ( 16KB each) with different properties

e.g: like this

First:

0x40060000 -> 0x4006FFFF - 64KB - Cache_Inhibit

Then:

0x40060000 -> 0x40064000 - 16KB - Cachable

0x40064000 -> 0x40068000 - 16KB - Cache_Inhibit

0x40068000 -> 0x4006C000 - 16KB - Cache_Inhibit

0x4006C000 -> 0x4006FFFF - 16KB - Cache_Inhibit

 

letuanvu_2-1761814669468.png

 

Thank you

 

0 项奖励
回复
1,201 次查看
petervlna
NXP TechSupport
NXP TechSupport

Hello,

I'm wondering if the MMU can be reconfigured during runtime by the application or should it only be configured by the startup code of a bootloader?

It is application dependent. I recommend to configure MMU at startup, as you need to initialize more than default 4kB of memory for some meaningful execution.

If it is possible to reconfigure it during runtime, what should the process look like?

You should take care not to use the regions you are reconfiguring.

Should the existing entry be deleted and a new one written in the same place or can specific entry just be overwritten?

You can simply overwrite it. Just make sure that code is not executed from such part and also there are no conflicts of regions with your application.

Best regards,

Peter

0 项奖励
回复
1,199 次查看
darq
Contributor III

Thank you for your response.

 

The idea was to use MMU for calibration switching during engine testing so it would have to be performed when the engine is running. Do you think this is good idea?

 

Best regards

标记 (2)
0 项奖励
回复
1,189 次查看
petervlna
NXP TechSupport
NXP TechSupport

Hello,

I see no issue here as long as you will make sure executed code in not running from regions being reconfigured and the changes wont affect code access in case it is requested by your SW.

You cannot change mapping of actively used region by code as you will get exception.

Best regards,

Peter

0 项奖励
回复