AW: [En-Nut-Discussion] Additional 4kB ext SRAM to a heap

Oliver Schulz Oliver.Schulz at bong.de
Mon Oct 27 11:07:13 CET 2003


Hi Dusan,

your thoughts are in principle right except for the fact, that the address space from 0x8000 is exclusive used for external components.
For example on Ethernut 1.6 at address 0x8300 the realtek controller is located. 

The A15 signal (address bit 15) is connected to the /CE input of the memory chip, that means the memory chip is disabled if A15 is on high level for addresses greater or equal 0x8000.

So there is no way to use the "wrapped-around memory" beginning from address 0x8000.

Oliver.

-----Ursprüngliche Nachricht-----
Von: Dusan Ferbas [mailto:dferbas at dfsoft.cz]
Gesendet: Sonntag, 26. Oktober 2003 21:26
An: en-nut-discussion at egnite.de
Betreff: [En-Nut-Discussion] Additional 4kB ext SRAM to a heap


Hi,

I wrote just a first application on Ethernut. I read in ATmega128 datasheet 
an idea how to dig additional 4kB space from external SRAM if 32kB is used. 
Has anyone an experience with this ?

---
According to description in ATmega128 datasheet on page 31 higher addresses 
than 0x7FFF can be used if address bit 15 is not used. MCU send address to 
SRAM and lowest 4kB is decoded from that chip (in fact 0x10FF - 4352 bytes).

So setting XRAMEND (os/nutinit.c) to 0x90FF is all magic needed for extra 
heap space ?

-----------
Using all Locations of External Memory Smaller than 64 KB Since the 
external memory is mapped after the internal memory as shown in Figure 11, 
the external memory is not addressed when addressing the first 4,352 bytes 
of data space. It may appear that the first 4,352 bytes of the external 
memory are inaccessible (external memory addresses 0x0000 to 0x10FF). 
However, when connecting an external memory smaller than 64 KB, for example 
32 KB, these locations are easily accessed simply by addressing from 
address 0x8000 to 0x90FF. Since the External Memory Address bit A15 is not 
connected to the external memory, addresses 0x8000 to 0x90FF will appear as 
addresses 0x0000 to 0x10FF for the external memory. ...

Thanks for advice

Dusan Ferbas
www.dfsoft.cz 

_______________________________________________
En-Nut-Discussion mailing list
En-Nut-Discussion at egnite.de
http://www.egnite.de/mailman/listinfo/en-nut-discussion



More information about the En-Nut-Discussion mailing list