This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Using EDATA on 89C669

Hi,

Has anyone any ideas how to make variables use this ram space. I have latest Keil tools.

Parents
  • Yup, i've tried that but if you are using the supplied START_MX.a51 and select ESMM=1 then there are 2 segments, the user class HDATA_EDATA and a segment EDATA which contains the stack, both of which have the same address range but different bases. Surely what i need to do is to use the EDATA Segment, but have not worked out how to do it.

Reply
  • Yup, i've tried that but if you are using the supplied START_MX.a51 and select ESMM=1 then there are 2 segments, the user class HDATA_EDATA and a segment EDATA which contains the stack, both of which have the same address range but different bases. Surely what i need to do is to use the EDATA Segment, but have not worked out how to do it.

Children
  • Sorry, I do not understand your problem. You can adjust the stack size in the START_MX.A51 file. Why does this EDATA segment causes problems? You should still be able to locate other classes into the same area.

  • I want to arrange the EDATA space without having to resort to Assembler. When I compile my project, with this user class segment defined and ESMM=1 i get the following:-

    BASE START END USED MEMORY CLASS
    ==========================================================
    000000H 000000H 0006FFH 000168H XDATA
    000000H 000000H 0006FFH HDATA
    7F0000H 7F0000H 7F04FFH 000100H EDATA
    000000H 800000H 817FFFH ECODE
    000000H 800000H 817FFFH HCONST
    000000H 7F0100H 7F04FFH 00035DH HDATA_EDATA
    800000H 800000H 80FFFFH 002666H CODE
    7F0000H 7F0000H 7F007FH 00001DH DATA
    7F0020H.0 7F0020H.0 7F002FH.7 000001H.1 BIT

    I have DATA, EDATA and HDATA_EDATA and stack all in the same address space so need to move starts etc. about to remove any overlaps. I just need to know how to do it. I was expecting the tools to do this for me (as it claims support for this device!!) and that was why there was an EDATA segment.

  • Sorry,

    please ignore previous. If you look in the right place in the map file, it does sort it out.

    Regards
    Andy T