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

need a compiler which can support code size upto 128KB

Hello. my name is santosh. i need some help in selecting a compiler. i am developing an embedded application which is crossing 64KB code size and i am using AT89C51RE2 microcontroller which is having (will support) 128 Kbytes of on-chip ROM (code memory).
My problem is, when i am compiling the code, target is not created i.e. hex file is not generating, becoz my compiler supports maximum 64 KBytes. So, plz suggest me a right compiler which should support uoto 128 Kbytes and also tell me how i obtain from keil.

Thanks and regards,
santosh.

Parents
  • I'm sure an AT89C51RE2 does not, and can not, have 128 Kbytes of on-chip ROM !!

    You do understand that the 64K limit is an inherent linitation of the 8051 architecture, don't you?

    SO using >64K means that you will have to mess about with Banking (aka "paging").

    Do you really want to do that?
    Would it not be better to find a more suitable architecture for this size of application?

Reply
  • I'm sure an AT89C51RE2 does not, and can not, have 128 Kbytes of on-chip ROM !!

    You do understand that the 64K limit is an inherent linitation of the 8051 architecture, don't you?

    SO using >64K means that you will have to mess about with Banking (aka "paging").

    Do you really want to do that?
    Would it not be better to find a more suitable architecture for this size of application?

Children
  • www.atmel.com/.../doc7663.pdf :

    128K bytes On-chip Flash Program/Data Memory
    – 128 bytes Page Write with auto-erase

    I do not know about the Arghmel chips, but the SILabs 128k flash derivatives have a free paging support available for Keil software. Obviously the standard Keil Paging does not work for >64k internal flash.

    Anyhow I agree that with the chips available today it is almost ridiculous to use a '51 if 64k is not enough.

    Now, before the flames begin, please note 'alomst' in the above sentence.

    Erik

  • "128K bytes On-chip Flash Program/Data Memory"

    Note the "program/data" in that.

    One thing that the PK51 kit gives you is the ability to move constant data out of CODE space and into ROM mapped as XDATA. That means that you can make full use of the 64K CODE space limit without having to mess about with code banking.

    I was using that about ten years ago when there were very few ARM-based microcontrollers about (certainly no Cortex-M), and they were a significant leap from an 8051.

    Nowadays, I really wonder if it's worth it...

  • martha search compiler hints, not a good/bad processor discussion, I think.

  • It's not a question of whether the processor is "good" or "bad" as such.

    The question is whether an 8051-based processor is an appropriate choice for this project.

    As already noted, the OP is fighting the specific limitations of the architecture; so it is certainly worth considering whether using a different architecture - which does not have those limitations - would be a better idea...

    See: www.8052.com/.../158656

    Especially as the OP, apparently, doesn't have the necessary tools anyhow...