I have had a read of all the forum posts I could find on external memory (the 1 GB SDRAM) and its mapping from the host and Epiphany sides.
Could someone please check over my core assumptions and point out any misconceptions:
My assumptions are that:
1. The 1 GB SDRAM appears in the 1st Gigabyte of the host (ARM) address space (the 1st Megabyte not being accessible)
2. The 1GB SDRAM appears in the 3rd Gigabyte of the Epiphany address space
BUT out of every consecutive 64 MByte region, only the last 52MBytes are accessible because
With the default configuration of E16 Parallella, the Core-ID of Epiphany is set to (rows: 32-35, cols: 8-11),
and only the EAST e-link is connected to the FPGA, which is the glue to the SDRAM.
This means that Epiphany can only access its EAST addresses (rows 0-63, cols 12-63),
so only addresses with columns greater than 12 will get sent to the EAST link.
( address[31:26] = row, address[25:20 = column )
So addresses with column values (0..11) are not accessible.
For each row, each column addresses a 1 MByte region, and addresses with the first 12 column values
can't be routed to the EAST e-link, which means that the first 12 MBytes in each 64 MByte region are not accessible.
(as there are 64 columns per row, 1 MByte per column, hence each consecutive 64 MBytes)
This results in only the following addresses being routable to the EAST e-link
Address Range
----------------------
0x00c00000 - 0x03ffffff i.e. addresses for (row 0, col 12) .... (row 0, col 63)
0x04c00000 - 0x07ffffff i.e. addresses for (row 1, col 12) .... (row 1, col 63)
0x08c00000 - 0x0bffffff i.e. addresses for (row 2, col 12) .... (row 2, col 63)
...
0xfcc00000 - 0xffffffff i.e. addresses for (row 63, col 12) ... (row 63, col 63)
3. If a host (ARM) user-space memory region is to be accessed from the Epiphany device,
then the following conditions must be satisfied:
a) The physical address of the USER-SPACE memory must be known to the Epiphany side
b) The user-space memory must be committed (dirty i.e. backed with physical memory)
c) The user-space memory must be locked (i.e. cannot be swapped out)
d) The physical address of the user-space memory must not fall into an address range
that can not be routed out of the Epiphany EAST e-link (as per 2. above)
Can any one please confirm if these assumptions are correct.
-- dms1guy