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

Bug simulation/debug (MOVX @Ri) in 89c669

Hello,
I'm simulating a little piece of code with Target Philips P89C669:

#include "REG669.H"

    temp XDATA  10d

    ORG  0000h
    JMP  INICIO



INICIO:
    MOV  AUXR,#00h      ;use on-chip XRAM
    MOV  A,#33h
    MOV  R0,#temp

ponotro33h:
    MOVX @R0,A
    DJNZ R0,ponotro33h

    JMP INICIO

END

When the Debugger simulate MOVX @R0,A , in the Output Window i see "*** error 65: access violation at 0x00FF0A : no 'write' permission" this is due to the simulator use the PORT2 to access external XRAM, but this is not correct because whit MOV AUXR,#00h the uC should access on-chip XRAM.

If I choose 89C668 this code work fine and the simulator write in on-chip XDATA
What is the problem?, Is this a bug in the 89C669 simulation?
Can I solve this problem?

Many Thanks

Parents
  • here we go again

    If the Keil simulator were to simulate each of the 4711 derivatives of the '51 perfectly, nobody could afford it.

    a solution would be (I guess you code in C):

    insert the following where applicable
    #ifdef SIMULATE
    P2 = 0
    #endif

    if your P2 is 'permanently' 0xff then let the simulator 'believe' that it works in that area, just tell it you have external RAM there

    If you are using the full version of Keil (you must be, otherwise why the 669) contact Keil directly, it seems a small enough fix (since it works on the 668) that they might consider it.

    Erik

Reply
  • here we go again

    If the Keil simulator were to simulate each of the 4711 derivatives of the '51 perfectly, nobody could afford it.

    a solution would be (I guess you code in C):

    insert the following where applicable
    #ifdef SIMULATE
    P2 = 0
    #endif

    if your P2 is 'permanently' 0xff then let the simulator 'believe' that it works in that area, just tell it you have external RAM there

    If you are using the full version of Keil (you must be, otherwise why the 669) contact Keil directly, it seems a small enough fix (since it works on the 668) that they might consider it.

    Erik

Children
No data