Consider the following wiring from a microcontroller to a sram chip:
uC SRAM
A0 --> A3
A1 --> A0
A2 --> A1
A3 --> A2
A4 --> A4
.. --> ..
A15 --> A15
As you can see, some of the address bits are swapped.
So when it comes to reading / writing the memory, will there be no errors? For example:
Address Microcontroller Address Chip Contents
0000 0000 H
0001 1000 e
0010 0001 l
0011 1001 l
0100 0010 o
0101 1010
0110 0011 !
0111 1011 \0
So... from the microcontroller's side the addresses are all ascending, but as you can see in reality, the uC addresses various memory places in the sram.
Is this a problem? I think with ONE microcontroller using the memory: no, since the microcontroller can nevertheless fetch the data in proper order (even if its not doing this from outside observation). But I think, with two or more microcontrollers this could become a problem IF the address bits are not connected in the same manner.
Conclusion:
As long as each address is distinct from another, there will be no reading / writing problem. (Considering ONE microcontroller using the memory!)
And: As long as each data bit is distinct from the other data bits, there will be no reading / writing problem. (Considiering ONE microcontroller using the memory!).
So my final question is: is my understanding for this problem correct or am I missing something? I could not find something on the internet concerning this problem!