89V51RD2

Started by jackyC, May 26, 2004, 02:40:15 PM

Previous topic - Next topic

Jan Waclawek

Hmmmm.... The P89V51RD2 itself? :-)
Try looking for SoftICE.

Jan Waclawek

balajee

Hi,
i am interested to know about the failure rate of 89v51rd2 in the field condition (ex:process control,stepper motor application).lpease put if any design ideas for very safe operation.

erikm

i am interested to know about the failure rate of 89v51rd2 in the field condition (ex:process control,stepper motor application).lpease put if any design ideas for very safe operation.
do not know, but I am using the "sister" P89c668 and the failure rate after 2 years is zero, excluding failures by external causes.

After we changed the power supply  to a PowerTrends (TI) PT6302 the rate has been a virtual zero.

Erik

ikram


Thank you for you reply,

But I do not know how to use SoftICE feature of 89v51RD2. I have down loaded that hex file from your given address, but still i have not downloaded in my controller since i have parallel programmer but it is not supporting v51 but it is supporting P89C51RD2. Can I use That one. and if i download that hex code in my 89v51rd2, then after what should i have to do? please send my your reply.

Thanking You,

Best Regards,

Ikram

Andy Ayre

I'm not sure about SoftICE (try a web search for SoftICE), but I don't think the parallel programming method is the same as the P89C51RD2.

Embedded Systems Academy, Inc.
support at esacademy dot com

Jan Waclawek

I have given no link so I don't know what exactly did you download.
SoftICE comes inside your P89V51RD2, so you need no parallel programmer.
Try googling for "SoftICE IAP"

Jan Waclawek

ANSH

hello everybody
I am using p89v51rd2fa and i want to activate the iap on the IC
as per the data sheets and sheets provided by phillips

1.  I use flash magic erase the whole flash and load the                               p89v51rd2_vo5_upd_isp.hex file.(i am using a serial programmer with crystal freqency 22.118mhz)

 2. I launch a terminal program ,set the baudrate(9600) and thecom port,
power cycle the target,and type U it echoes and gives me details that the version has been updated and programmed in the ic .

3. now i erase the hex file from the user space and load my application program Ihave started the program from 2100h location considering the overlay and memory mapping.Inthe program i pass 0000h to the b1h location (fcf register location).then set the R1=02H,DPH=50H,DPL=00H,ACC=A BYTE TO PASS(the data sheet have asked to set the registers in this order to acess the write function)
then i make a LCALL to 1FF0H location (stated in data sheets that the pgm_mtp at this location datasheet page no 24)
now the acc is supposed to become 00 if the write is sucessful as the function returns 00 to ACC.However this does not happen.
could U PLEASE guide me ?what needs to be done?

Ansh


Jan Waclawek

Is the target address position erased?

Jan Waclawek

ANSH


Thankyou for replying my query Jan Waclawek

I update the new version then I erase the flash before loading my applicaton program
Actually as per my observations when i set the register values(fcf,r1,dph.dpl,acc) and make a call to the 1ff0h location it does not return from that location and resets to the zeroth location of my application program i am starting the program at org 2500h after viewing the flash (with the flash read option in flash magic) after updating the bootloader before burning my application program.

Ansh

Jan Waclawek

I don't quite understand the following:
> i am starting the program at org 2500h
After reset (and after the bootloader expires the wait for autobaud - datasheet says 400ms) the user program starts at 0 as usually. It is just the part after clearing fcf.0 which has to be above 2000h.

And, you certainly don't need to update the bootloader before each new reprogramming of the chip...

Jan

ANSH

hello Jan,
certainly, iam not updating the bootloader before each new reprogramming of the chip.I have done it once .now i have to activate the iap .so i load an application program in which i make the FCF.0=0
and also acess the program user code iap function for  which i set the required parameters now if the iap is enabled because of the FCF.0=0
they say it will overlay the 8kb of the flash hence i am loading the program at 2500h.I reset the target after  my program is loaded i.e fcf.0=0 ,it should do the autobaud in 400ms and overlay the 8kbisn't it?.


Ansh

ANSH

hello Jan,

     I have tried one more way i have loaded an application program at        org 0000h in which i have made the fcf.0=0
then i reset the target device and then read  the flash with flash magic read flash facility. it does not show the 8kb flash overlayed with iap routines.
Is making FCF.0=0 enough for activating the iap or somethingmore needs to be done?

Ansh

Jan Waclawek

FCF gets initialized during hardware reset to 00h. The bootloader code runs, waits the said 400ms and then causes a software reset, setting FCF.1=1. At that moment the user code runs from user program memory starting at address 0.

So your program needs to be something like:
   org   0
   ljmp  2000h
   org   2000h
   mov   fcf,#0
   mov   r1,#2
   mov   dptr,#5000h
   mov   acc,#34h
   lcall  1FF0h
Stop: sjmp Stop

Try assembling this snippet, upload it using FlashMagic to a freshly erased device, run it, then go to FlashMagic and read it back - the address 5000h should contain 34h.

Come back telling us if you succeeded.

Jan Waclawek

ANSH

hello Jan,
           i tried doing the same alas! no go
i tried send 's' on the serial if it suceeds(ie the acc=0) however no go
also  tried just making the bsel =0 and then sending the contents on 1ff0h(16 bytes ) on the serial it gives just blank spaces.
i doubt if something more needs to be done.



ansh

ANSH

HEY JAN,
      DONE IT'S DONE!!!!!!!!!!!!!!!!!!!!!!!
THANK U VERY MUCH FOR ALL UR  ASSISTANCE THANK U ONCE AGAIN


ANSH