[En-Nut-Discussion] Thoughts on memory maps...

Curtis Maloney cmaloney at cardgate.net
Thu Nov 4 01:43:23 CET 2004


I've been reading up on the Ethernut and Nut/OS recently, and I am well 
impressed.  So much so, the company I work for is planning to use it in many of 
our future projects.  We will probably even contribute to the H8/300H port, 
since we also make a platform using that family of CPU.

However, one thing strikes me as odd with regards to the Ethernut design, and 
that is the memory arrangement.

 From what I read in the docs, the external memory has been placed at address 
0x0000 - a fairly understandable start.  It goes on for 32k, then there's a 16k 
gap for memory mapped IO, then 16K of bank switched memory.  All seems fine, 
except that you (willingly) lose the lower 4-and-a-bit K of RAM which is 
overlapped by the on-board memory and IO space.

Why not start the RAM at 16K, and leave the 0x0860-0x4000 area for memory mapped 
IO?  That way you get a clean 48K of RAM (or 32K + 16K banked, or 3 16K banks, 
or whatever) and don't lose any RAM to overlap.

The configurator appears to allow you to specify where the external memory 
starts, so it may not be a massive problem to adapt to this change.  Also, I 
understand the memory decoding is handled inside a GAL, so it could be as simple 
as reprogramming it.

Or am I sorely mistaken?

--
Curtis Maloney.




More information about the En-Nut-Discussion mailing list