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.
Hello, I am using a P89c51rd2 based board .I have installed FlashMon on the microcontroller and I am trying to use the Keil software to develop small applications. I can connect to the monitor on my board and type commands like memset, but when trying to load the application it disconnects. While trying to find a solution I found that the memory model of this microcontroller is not compatible with FlashMon, and this because the Philips microcontroler needs to erase every block before writing it. Is this true? And if it is can I use an external Ram to load and debug applications on it?
because the Philips microcontroler needs to erase every block before writing it. Is this true? not NXP, but flash, any flash must erase the block before writing
And if it is can I use an external Ram to load and debug applications on it? sure, but do remember the negative or for !PSEN and !RD, as well as !EA. coming to think of it, I guess you will need external flash as well - maybe switchig to a RA2, RB2 or RC2 will make it possible to use internal flash.
Erik
Yes, every flash memory requires the a flash sector to be erased before new information may be written to it. Most flash chip supports additional information to be written to the same sector without an erase.
But note that the OP seems to claim that the NXP chip requires "erase every block" (= only supports a full chip erase?) in which case the monitor program will also be lost.
I did not mean it has to erase all flash to write to a new block, it has to erase just the block it is going to write to.
Yes, but since that goes for all flash memory: Are you saying that the monitor can't be used with flash memory (a way wider claim than saying that it can't be used with your specific chip)?
And you are using the word "memory model", but flash memory is a memory technology. A memory model is how the compiler allocates the variables and accesses them. For example if variables should default to be stored in XDATA or not.
I just quoted what they said here:
www.phytec.de/.../L-465E.pdf at page 14 and here:
www.edaboard.com/ftopic53768.html
I am a student and my project was to install flashmon on a board with an p89c51rd2 controller and then show how we can use Keil to debug applications for this board (not using the simulation).
I don't know if my problem really is the memory model or the model type, I am just trying to figure out what the next step should be in solving my problem.
In the microcontroller's datasheet it says that it supports In Application Programming. Isn't that what the monitor does?
I found this : To achieve “touchless†ISP/IAP it is necessary to tie !EA/Vpp directly to the 5V supply, thus no external code memory can be used. It is also a condition that nothing pulls P2.6 and P2.7 down after reset is applied when the application code is not running. I suggest tying these 2 pins to Vcc through each a 10k resistor as an extra safety. here: www.8052.com/.../notouch.doc
Should I tie !EA/Vpp to the 5v supply?