[En-Nut-Discussion] Paged Memory Access and Segmented Buffer
Peter Gaskell
pgaskell at uoregon.edu
Mon May 22 21:18:06 CEST 2006
I am looking to use the paged memory on a ethernut 2.1revB, i would
like to switch the pages in assembly because i have a need for speedy
access, though all FIFO so it should be simple. I have looked at the
logic diagram for the cpld, and this is how i think it works:
memory locations 0xFF00-0xFF1F select the page during a write
operation, this is then latched and now the RAM available to the
processor is at 0x8000 to 0xBFFF read or write, and A14 must be low
To get back to the main 32K i have to do a write operation to what
address? 0xFF1F?
does anyone have any examples of this in assembly? is the overhead
when using the built in Segmented Buffer insignificant that i should
forget about it?
Also with the segmented buffer, it claims to ignore the size when
calling NetSegBufInit(size), but this does not seem to be the case
for me, i did not run the configurator as i am on OSX. I set
NUTBANK_COUNT to 30 manually in memory.h, and when i call
NUTBANK_COUNT in my code it tells me 30, but when i call
NutSegBufAvailable() it is not 30X16k, only 16k and that is only when
i call NutSegBufInit(16384); is there another place where i should
be defining NUTBANK_COUNT instead??
cheers,
peter
Peter Gaskell
University of Oregon Dept. of Physics
pgaskell at uoregon.edu
More information about the En-Nut-Discussion
mailing list