[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