I got my program to a point where I needed to test so I ran it in the uVision simulator. It was flawless. I fired up my Nohau emulator and ran it on our new PC board. Perfect.
I burned a chip (89C51RD2) and popped it in the board...nothing.
Since I am now the only embedded guy in the shop I work alone I have no one to bounce ideas off. So I've come here.
The oscilloscope shows that timer_0 is running, and my ISR is OK because the watchdog strobe is happening and the timer values are being reloaded.
Has anyone seen this before? Do you have a suggestion of of path to find the differences between the simulated and emulated situation and running on the board?
Oh, and another thing, just for the heck of it: did you try repeating this step
I burned a chip (89C51RD2) and popped it in the board
a couple times? Sockets do malfunction sometimes.
I wish I could. I have just one board at this point. It is the exact same board that I'm using on the emulator and since the socket seems to work there, I'm currently assuming that it is OK. Usually the pod into the socket is very fragile and if that works I usually trust the socket.
Use the Led or a pin. Put a pulse on it at several points in the code ( Including startup) and count the pulses. That way you at least know where to look.
Does your emulator allow you to use the off chip RAM?