
C
URTISS
-W
RIGHT
C
ONTROLS
E
MBEDDED
C
OMPUTING
S
YSTEM
I
NTEGRATION
809524 R
EVISION
D F
EBRUARY
2009
4-11
A
DDRESS
M
AP
FOR
L
OCAL
PCI
AND
P0 B
USES
With all the necessary registers now configured the address map for the local PCI and P0
buses appears as shown in Figure 4.5.
F
IGURE
4.5: Master-Slave Memory Mappings
T
RANSFERRING
D
ATA
For example, to write data to the RAM on the slave SBC the destination address would be
offset 1 + 0x100000.
uint32 *slave179RamBase = (uint32 *) ((uint32)dev.memBaseAddr[1] + 0x100000);
uint32 ramData = 0x12345678;
* slave179RamBase = ramData;
To write to one of the slave CSRs in PCI-IO space:
uint32 *slaveCsrIoBase = (uint32 *) ((uint32)dev.ioBaseAddr[1] + 0x100);
*slaveCsrIoBase = regData;
offset 0
Start of PCI memory
Offset 0 + 0x1000
0x0000 0000
PMC605 CSRs
Offset 1 + 0x400000
PCI-P0 Memory Space
Start of PCI I/O
offset 2 + 0x100
offset 3 + 0x400
PCI-P0 I/O Space
PMC605 CSRs
offset 1
offset 2
offset 3
Master SBC Address map
0x0000 0000
PCI-P0 Memory map
0x0010 0000
0x0020 0000
0x0030 0000
0x0030 1000
0x0030 2000
Master SBC RAM
Slave SBC RAM
Master PMC605 CSRs
Slave PMC605 CSRs
0x0000 0000
PCI-P0 I/O map
0x0000 0100
0x0000 0200
Master PMC605 CSRs
Slave PMC605 CSRs
PMC605 CSRs
PCI-P0 Memory Space
PCI-P0 I/O Space
PMC605 CSRs
Slave SBC Address map *
0x0010 0000
0x0020 0000
Top of RAM
Top of RAM
* Base addresses are as
shown for the Master SBC
Artisan Scientific - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisan-scientific.com