We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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.
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.