Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
03/17/07 23:58
Modified:
  03/18/07 00:01

Read: times


 
#135181 - Check the datasheet!
Responding to: ???'s previous message
M. Astiz said:
Richard,

I don't fully understand the configuration of the emulator, but the code obviously cannot reside in the internal ROM, as I can run my programs just after the compilation.

However, I am sure the EA pin is connected to Vcc.

I thought the board where the microcontroller is inserted (the one included with the emulator) made the micro think it was working with the internal ROM, while actually the emulator was giving him the instructions.

EA is a low-going control that tells the MCU whether its code space is to be its internal ROM or external memory. When low, i.e. connected to GND, it uses external memory. When connected to Vcc, it uses its internal ROM, which, in the case of an 80C5x, it uses hard-coded, non-alterable internal ROM.
here's a quote from "the bible"

"the bible" Ch. 3 said:
EA/VPP: When EA is held high the CPU executes out of internal
Program Memory (unless the Program Counter exceeds 0FFFH in
the 80C51). Holding EA low forces the CPU to execute out of
external memory regardless of the Program Counter value. In the
80C31, EA must be externally wired low. In the EPROM devices,
this pin also receives the programming supply voltage (VPP) during EPROM programming.

Perhaps some additional information about your hardware environment would be helpful. I can not tell you why the nEA pin would be tied high if there's an 80C5x on the board. If it has some designation indicating who manufactured it, that might provide some information. It would also be interesting to know how you've determined that it's held high. Did you use an oscilloscope?
So, do you think this necessarily implies the use of P0 and P2? This would mean that the emulator doesn't allow to use such ports for I/O, which I haven't found in the documentation yet.

Regards,
Mikel


Clearly, it can't be executing code from within the MCU if it allows you to change the code. Since the code must reside somewhere it must reside in external memory. The hardware manual will show you that it will require that the addresses be latched from P0 during positive ALE and that, for the remainder of the time, P0 function as a quasi-bidirectional data bus. At this juncture, I'm sure it will help you to consult "the bible," meaning, specifically, reference manuals for the 805x.

It might be helpful, too, for you to ascertain just exactly how your emulator works, as it may be entirely irrelevant how the MCU on the board is connected. Further, it may be of interest to know what else is present on your MCU environment.

here are the links to "the bible"
Chapter 1 - 80C51 Family Architecture:
http://www.nxp.com/acrobat_d...ARCH_1.pdf

Chapter 2 - 80C51 Family Programmer’s Guide and Instruction Set:
http://www.nxp.com/acrobat_d...UIDE_1.pdf

Chapter 3 - 80C51 Family Hardware Description:
http://www.nxp.com/acrobat_d...WARE_1.pdf

RE







List of 29 messages in thread
TopicAuthorDate
Unable to use P0 and P2            01/01/70 00:00      
   How do you detect that it's ignored?            01/01/70 00:00      
      Philips 80C52            01/01/70 00:00      
         Re: 80xxx            01/01/70 00:00      
         External memory?            01/01/70 00:00      
            Re: External memory?            01/01/70 00:00      
               Check the datasheet!            01/01/70 00:00      
                  More information            01/01/70 00:00      
                     80C52            01/01/70 00:00      
                        I think it does have internal ROM            01/01/70 00:00      
                           oops!            01/01/70 00:00      
         ICE or Eprom Emulator ?            01/01/70 00:00      
            It is an in-circuit emulator            01/01/70 00:00      
   my assumption            01/01/70 00:00      
      I'm afraid it can't be            01/01/70 00:00      
         There's a special "once" mode ... for emulators            01/01/70 00:00      
         try this            01/01/70 00:00      
            Re: try this            01/01/70 00:00      
               My guess            01/01/70 00:00      
                  Read the datasheets and read the posts, Mike            01/01/70 00:00      
            How is all this supposed to help?            01/01/70 00:00      
               It has code space...            01/01/70 00:00      
                  Where did you get that nonsense, Mike?            01/01/70 00:00      
   My conclusion:            01/01/70 00:00      
      What has it to do with the original question?            01/01/70 00:00      
   I do not know your emulator, but            01/01/70 00:00      
      My conclusion (and thanks for everyone)            01/01/70 00:00      
         then why not say so            01/01/70 00:00      
         Emulator            01/01/70 00:00      

Back to Subject List