how to understand powerpc's BRx ORx
I didn't understand the address mask.
it's said that: BR[BA] is the base address,the OR[AM] is the address mask, "Provides masking for corresponding BRx bits. By masking address
bits independently, SDRAM devices of different size address ranges can be used. Clearing bits masks the corresponding address bit. Setting bits causes the corresponding address bit to be compared with the address pins. Address mask bits can be set or cleared in any order, allowing a resource to reside in more than one area of the address map. SDAM can be read or written at any time."
how to understand it?
for instance, if my BR0[BA]=0111_0000_0000_0000_0, OR0[AM]=1111_1111_1111 if I want to access the 0x70000000 or the 0x71000001.what address calculate will be taken?
thanks all
--------------
hacklu
2010-09-10
Quoted 2 lines · hacklu
I didn't understand the address mask.
it's said that: BR[BA] is the base address,the OR[AM] is the address =
mask,
Quoted 2 lines
"Provides masking for corresponding BRx bits. By masking address=20 bits independently, SDRAM devices of different size address ranges can =
be used. Clearing=20
Quoted 1 line
bits masks the corresponding address bit. Setting bits causes the =
corresponding address=20
Quoted 1 line
bit to be compared with the address pins. Address mask bits can be set =
or cleared in any=20
Quoted 1 line
order, allowing a resource to reside in more than one area of the =
address map. SDAM can=20
Quoted 4 lines
be read or written at any time."
=20
how to understand it?
for instance, if my BR0[BA]=3D0111_0000_0000_0000_0, =
OR0[AM]=3D1111_1111_1111
Quoted 1 line
if I want to access the
0x70000000or the 0x71000001.what address =
calculate will be taken?
Can you let us know which chip you are looking at using? There is a bit = of variation so its useful to know.
- k=
Quoted 2 lines · hacklu
I didn't understand the address mask.
it's said that: BR[BA] is the base address,the OR[AM] is the address mask,
...
Quoted 2 lines
for instance, if my BR0[BA]=0111_0000_0000_0000_0, OR0[AM]=1111_1111_1111 if I want to access the
0x70000000or the 0x71000001.what address calculate will be taken?
Assuming that BR0 is set to valid, the right chip select machine is selected, etc., my understanding of MPC885RM is:
* 0x70000000 & OR0[AM] = 0x70000000
0x70000000 == BR0[BA]
=> CS0 active, 0x0000 on the address bus (haven't checked the actual bus width).
* 0x71000001 & OR0[AM] = 0x71000000 0x71000000 != BR0[BA]
=> CS0 inactive, will check the following BR/ORs
With kind regards,
Signature · 2 lines
Baurzhan Ismagulov http://www.kz-easy.com/