How to avoid using the data cache when performing a RAM data bus test for MPC5605B ?

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

How to avoid using the data cache when performing a RAM data bus test for MPC5605B ?

ソリューションへジャンプ
952件の閲覧回数
buzduganandrei
Contributor I

When testing the RAM data bus, a popular solution is the "walking-1's" test. There are several patterns read from ROM, written then in a RAM address, and then read-back. However, there is no mention of the interference of the data cache. Since when we first read the pattern from the ROM, that pattern has to be stored in the data cache. When doing the read-back operation, the processor can optimize this operation by sending the pattern from the data cache, rather then the one from the RAM address, because no modification has been done to the pattern.

For the MPC5605B is there any way to "bypass" the data cache ? Like a data cache flush or inhibition ?

Also, if instead of a predefined pattern, we calculate the value by performing shift operations, will the data cache still interfere ?

タグ(2)
0 件の賞賛
返信
1 解決策
754件の閲覧回数
davidtosenovjan
NXP TechSupport
NXP TechSupport

I have just realized you are using MPC5605B device, thus my previous answer is actually wrong because this device uses e200z0 core and it does not have cache nor MMU:

pastedImage_1.png

元の投稿で解決策を見る

0 件の賞賛
返信
2 返答(返信)
755件の閲覧回数
davidtosenovjan
NXP TechSupport
NXP TechSupport

I have just realized you are using MPC5605B device, thus my previous answer is actually wrong because this device uses e200z0 core and it does not have cache nor MMU:

pastedImage_1.png

0 件の賞賛
返信
754件の閲覧回数
davidtosenovjan
NXP TechSupport
NXP TechSupport

Hi, the portion of SRAM you want to test is needed to set for cache inhibited attribute i.e. to set up particular TLB entry in the MMU table. You may use following utility for simplifying of TLB configuration:

MMU Assist Register CONFIGURATOR 

 

Note that every debugger or most of debuggers will be able to show MMU table in the screen like this:

pastedImage_2.png

Also I would like to point out following presentation, page 89-107:

e200 Core Training relevant to MPC55xx and MPC56xx device family 

Note that if you have already stored some data and you are using copy-back mode, it may be necessary to invalidate the flash content.

You could also see following example code, file Optimizations.c, you may see there how to invalidate cache and also how to MMU attribute from cacheable to cache inhibited (but I must note it has been written for different device, so it may be slightly different):

Example XPC567XFKIT PinToggleStationery CW210 

0 件の賞賛
返信