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

debugging with multiple dptrs?

Has anyone had problems seeing multiple dptrs in the regs window during hardware debugging?
We have two memory mapped dptrs. When I run the debug under Keil simulation, I can see both dptrs in the regs window.
When I run the debug session with hardware, I only see the one dptr at 82/83.

Parents Reply Children
  • I have resolved the hardware problem. It turned out to be the way the dptr was requested by Keil and reported by FS2.
    We are working with a Mentor 8051 ewarp core with mapped data pointers selected, version 2.38a of uvision.
    So, the remaining question is whether there is another dll driver for the simulator that would simulate mapped dptrs properly?

  • So, the remaining question is whether there is another dll driver for the simulator that would simulate mapped dptrs properly?

    The E-WARP core is fully simulated from what I recall. All you need to do is select SIMULATE from the debug menu. Then when you start the simulator, the e-warp driver is loaded automatically.

    If you look at the contents of the debug window, you'll notice that there is a CPU Driver and a Dialog Driver for simulating and for target debugging.

    The parameter specified to each dictates what device and dialogs are used by the debugger.

    Jon

  • yes, but... if you try to use mapped data pointers and do
    dpl1 DATA 0x84
    dph1 DATA 0x85

    mov dpl1,low_byte_addr
    mov dph1,hi_byte_addr

    then the correct value does not show in the regs window. If instead you do

    mov dpl,low_byte_addr
    mov dph,hi_byte_addr
    then the value show in the regs window. This prompted me to say that the simulator works for banked pointers but not mapped.

  • Ahhh,

    OK I understand. I missed the part about you using mapped data pointers.

    I think that only the banked data pointers are supported in the simulator. The memcpy routines also support only the banked data pointers. I've forwarded this to engineering to get more information and I'll post it here when I do.

    Sinc eyou're using mapped data pointers, are you writing your own routines to use them?

    Jon

  • Yes I am writing my own routines. We did go through a bit of a painful learning process when we started out and found that we definitely did not want to check the "use multiple dptr" box. I have found that using multiple dptrs is not a trivial thing given the multiple types available and given the way the simulator works. It would be nice if Keil could offer some sort of switch to let the simulator use either banked or mapped pointers.