[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