You are in home \ microcontroller \ my 8252 project \ MEMORY MAP   (back)  

    My 8252 adventure - MEMORY MAP

         
         
         
         

    The first 8 k

    I use the first 8 k of external RAM for all my code (target code under development, and debug code for development use only) and RAM (if needed).
    If you wish you may do all this above 8 k only if you choose to run in internal mode only.

    from 8 k to 32 k

    I reserve this for Debug code (development aid) but you can put target code under development here too if you wish. Also your external RAM goes anywhere here if developing for external mode code.

    Note that selecting internal or external memory on the /EA pin only affects the forst 8 k of the memory map. Since the 8252's internal program memory only goes up to 8k, all address accesses above 8 k are external anyway. This means that you can leave the 8252 development board in internal (bootstrap) mode all the time if you keep your development code above 8 k. (Although I don't usually do this)

    You are free to allocate the area between 8 k and 32 k as you wish, dividing it between application code under development, development code for test purposes, and general purpose RAM.

    Above 32 k

    This is for memory-mapped I/O. So far I am only using the first 3 addresses above 32 k

    Example memory map allocations

    External-mode Simple Memory-map
    32 k + Unused I/O
    8 k - 32 k Any excess code
    to be trimmed later
    0 - 8 k
    0000 - xxxxh
    Target code (incl. debug code)
    External-mode Full Memory-map
    32 k + I/O
    16 k - 24 k external RAM
    8 k - 16 k Debug code
    0 - 8 k
    0000 - xxxxh
    Target code
    Internal-mode Simple Memory-map
    32 k + I/O (optional)
    16 k - 32 k unused
    optional spillover mem
    8 k - 16 k Target code (&Debug code)
    0 - 8 k
    0000 - xxxxh
    Reserved by Internal BootLoader

    (top of page)


    Begun this page 21-Dec-2001, and will update Dec'01/Jan'02.