Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

p89v51rd2 bootloader procedure

Status
Not open for further replies.

cganesh

Newbie level 4
Joined
Apr 8, 2011
Messages
5
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,320
I purchased 4 new NXP P89v51rd2 ics from a reputed shop and none of them are programming via ISP. the flash magic screen waits indefinitely in "reset into ISP mode now".even the device id is not visible. serial communication loopback occurs perfectly from pc via max ic via the short on txt rxd pin of muc back to pc. atmel ics burnt via parallel programmer run perfectly in the development board so the crystal works fine......
the thing is that philips muc can be burnt via the parallel programmer but could not be run in the development board....i guess the bootloader is at fault........can anyone tell me how to program the bootloader hex file into the ic via a parallel programmer please?
 

did you try to send an uppercase "U" in a terminal program at various baud rates?
if the "U" is returned, the device is in boot mode.

Post a diagram of your circuit. Does the PC control the PSEN and RST signals? What about p2.6 & P2.7?
In order to troubleshoot your problem, you should upload a circuit or describe what is connected to the programming pins:
RST,
RXD,TXD,
PSEN,
P2.6 (must not be low)
P2.7 (must not be low)
 
i tried sending 'U' but it didnt respond...PSEN line is open and RST is controlled by a switch on the board (initially high but goes low when switch is pressed)...rxd and txd are connected to max 232 circuit on board.....p2.6 and 2.7 are open but as far as i know,they are address lines right,so will they affect programming?
 

that is your problem. PSEN must be low or it won't go into boot mode. Now I am not 100% sure on the Phillips MCU's because I only have used atmel.

This is the only way I have been able to get into boot mode with the RD2's and ED2's made by atmel:
Power off your board.
PSEN LOW (use a jumper or switch)
Reset must have RC circuit, (i.e. 8.2K resistor from RST to GND, 10uF cap from reset to VCC)
P2.6 and P2.7 left floating or high whatever, just NOT LOW,
power it up.
Send the "U", you should be "IN".

If not, there may be other problems, like maybe your com port, baud rate, etc.

On the really, really, really old atmels, the bootloader was in the flash memory. If you did a full erase, the bootloader would be erased then you are SOL!! (unless of course you have a parallel programmer to restore the bootloader code)

Try it and post your results.

Good Luck
 
solved....actually not really the way you said but by changing the muc altogether :) there was something wrong with my muc (i guess the boot blocks are corrupted) i also guess that psen needs to be lower in case of atmel mucs only coz my new muc worked without it too....now i need to figure out a way to program the boot blocks back in the mucs....you know how to do it?anyone? well i have access to parallel programmer at college (i am a student and require this for my final year project)
 

Well I didn't look at the datasheet for the Phillips device. If it is the same as the atmel bootloader, try this file.

Remember, you must program The Boot Status Byte at 0x00, and the Bootloader Jump Bit at 0xFC or this will never work.

OR

you can just read a working MCU to see what the values are and the contents of the flash (whether or not the bootloader is there).

Code:
:10FC000002FEE97907900001F1F0600E790790009B
:10FC100002F1F0F583758200E47302000075C800FC
:10FC200020B0FD30B0FDD2CA780320B0FD30B0FD69
:10FC3000D8F820B0FD30B0FDC2CA15CCE5CCB4FF79
:10FC40000415CDE5CD7803C3C5CD13C5CDC5CC1303
:10FC5000C5CCD8F3E5CC75F00CA4AEF07805CEC3D6
:10FC600013CE13D8F9F4F5CAEEF4F5CB75984375B5
:10FC7000C830D2CA223099FDC2998F99227F0D9146
:10FC8000757F0A917522E5316002800802FD9C7F34
:10FC90002E9175227F589175917D02FEDAE534C36D
:10FCA00094405006E53424D08004E53424C9FF7420
:10FCB000352530F8C6EFC6E533C394405008E53328
:10FCC00024D0F52D8006E53324C9F52DE52DC45447
:10FCD000F0F52D74352530F8E6452DF674352530D0
:10FCE000F8E62531F5310530752A0022EF54F0F59C
:10FCF00021C4540FF52153210FEF540FF52275261F
:10FD00000074212526F8E6D394095006743026F6AF
:10FD10008004743726F674212526F8E6FF917505D0
:10FD200026E526B402DB223098FDC298AF99917582
:10FD30007433252AF8EFF6052A22853983853A821D
:10FD4000853B2E853C2F852E4B852F4C22B127B12C
:10FD500027919D22853901E53A540FF582E53BF163
:10FD6000F022911DD2997F559175D29CC29875262B
:10FD700000E599643A6004B12780F6752A00B14D18
:10FD8000E5352404F52B752900E529C3952B50068C
:10FD9000B14D052980F375300002FC86E538B402C8
:10FDA00002918FE5386404600302FE46D1E320E44B
:10FDB0000302FE42E53D6401704DB13AC2002000ED
:10FDC00023F1C2C394FF5004D2008030E582654C19
:10FDD0007004E583654B7002D2000582E5827002F3
:10FDE000058380DAE54C2401FFE4354BFEEF6582A4
:10FDF0007003EE65837005918F02FE40AF8391EC36
:10FE0000AF8291EC02FE46917DB13A752701AF8336
:10FE100091ECAF8291EC7F3D9175F1C2FF91ECE5E1
:10FE20003BB58307E53CB5820280150582E582700B
:10FE30000205830527E527D3941040DE917D80CB12
:10FE400080047F4C9175E5387033D1E330E02A852A
:10FE50003683853782752601E526D395355014748F
:10FE6000382526F8E6F18F0582E5827002058305C4
:10FE70002680E5F19B918F80047F509175E538B421
:10FE80000102918FE538B40331E539B40704D1F4A8
:10FE90008008B4040BD1E330E01CF169F1628012F8
:10FEA000B40605D1E330E00EB40505D1E330E40635
:10FEB000B154918F80047F509175E538B4051BE5EE
:10FEC00039B40709E53A6005D1E330E409B154FFDC
:10FED00091EC918F80047F4C9175917D753100027A
:10FEE000FD6C22758200F11D22787F7600D8FC021D
:10FEF000FD62FFFF900000788074FFF18FE582645F
:10FF0000FF7006E58364FB6007A3D8EDF19B80E7F3
:10FF1000F19B90000574FFF18D22742422C582604C
:10FF20001014601214601490000475D102E49380E0
:10FF30006390000580F490000080EF90000180EA5B
:10FF4000C582600A14600C14600E801180DC900081
:10FF50003080F990003180F490006080EF90006173
:10FF600080EA90000074FF800590000174FC7583A6
:10FF700000F18FACA8C2AF75D15275D1A28CA88008
:10FF800013C5829000056401B40102641180DF434F
:10FF9000D108F02275D10022F18FE4AAA8C2AF7572
:10FFA000D15075D1A08AA880EB53A2FEFEAC820589
:10FFB000A2E0A315A2F18FE453D1F7A3DEF18C8266
:10FFC00080D953D10074009322B9080302FF1AB9F3
:10FFD000000302FF40B9020280BEB9030280E3B908
:10FFE000040302FF69B905028097B9060502FF6E96
:10FFF00080D7B9070302FF1DB9090280AC22FFFFB9
:00000001FF
 
fine dude,thanks for helping...i tried to program it in this way
erase boot block
load the bootloader file of the specific muc
program it in the boot block....

i guess the address for boot block is different than the user code block in philips muc coz in all our programs,if the code is small,we finish the code at 00h itself and even then the boot block remains uncorrupted...u have any idea about bootloader programming in phillips muc?
 

Clearly, the Phillips device is different than the Atmel.

If you have trouble with ISP, look here:
Debugging ISP Problems

If you have an RD2 that is working with ISP, read the configuration bits, write them down and program the non-working RD2 this way using your parallel programmer.
 
Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top