MPC5777C MMU configuration for calibration

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

MPC5777C MMU configuration for calibration

ソリューションへジャンプ
1,041件の閲覧回数
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,027件の閲覧回数
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 返答(返信)
290件の閲覧回数
letuanvu
Contributor I

Hi Petervlna,

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

letuanvu_0-1761812433938.png

 

0 件の賞賛
返信
266件の閲覧回数
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,028件の閲覧回数
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,026件の閲覧回数
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,016件の閲覧回数
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 件の賞賛
返信