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

AT89C51 problem with RTXtiny

I have one program with RTXtiny on AT89C51. I compiled it successfully. Message was:

Program Size: data=94.3 xdata=0 code=3903
creating hex file from "ds1302"...
"ds1302" - 0 Error(s), 0 Warning(s).

It occupied 94.3 data ram and 3903 bytes code rom in small mode.But when I use simulator to run this program. I got some error messages:

*** error 65: access violation at I:0xFE : no 'write' permission

When I changed target to AT89C52, I can run this program normally...
I know that AT89C51 has 128 bytes RAM and 4096 bytes flash ROM. But why I can not run this proram on AT89C51?

Brs
Tomy Lee

Parents
  • The important bit is highlighted - does an AT89C51 have any IDATA...?
    well that depends
    the AT89C51 does not have any indirect only addressable data, but any byte in the ram can be addressed indirectly.
    The Keil 'standard' is that IDATA start where DATA ends which, most often, is below 128.

    Now, since I have not used the small derivatives for ages (have I ever used a small processor and C, I doubt it, it would not make sense) there is one question:
    Does the Keil tools in the way the OP use them disallow IDATA for < 128 RAM processors ?

    Erik

Reply
  • The important bit is highlighted - does an AT89C51 have any IDATA...?
    well that depends
    the AT89C51 does not have any indirect only addressable data, but any byte in the ram can be addressed indirectly.
    The Keil 'standard' is that IDATA start where DATA ends which, most often, is below 128.

    Now, since I have not used the small derivatives for ages (have I ever used a small processor and C, I doubt it, it would not make sense) there is one question:
    Does the Keil tools in the way the OP use them disallow IDATA for < 128 RAM processors ?

    Erik

Children