Maker Pro
Maker Pro

Atmel AT89C51RD2 vs NXP P89C51RD2

E

Eeyore

Jan 1, 1970
0
The NXP (Philips) part is in sytem programmable with 'flash magic'.

The Atmel equivalent mentions ISP capability too but I can't find any
detail. Are they 100% compatible ?

Graham
 
R

Rich Webb

Jan 1, 1970
0
The NXP (Philips) part is in sytem programmable with 'flash magic'.

The Atmel equivalent mentions ISP capability too but I can't find any
detail. Are they 100% compatible ?

Don't know about compatability but the AVR part is programmed using
their "FLIP" utility.

<http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3886> will
have more information.

IIRC the Atmel parts are factory-loaded with a serial bootloader and
the user has the option to install a custom bootloader.

Don't forget to reset the BLJB...
 
M

mpm

Jan 1, 1970
0
The NXP (Philips) part is in sytem programmable with 'flash magic'.

The Atmel equivalent mentions ISP capability too but I can't find any
detail. Are they 100% compatible ?

Graham

Flash Magic sucks, in my opinion.*
Kiel has some emulator boards that can double as both hardware
emulators and (in many cases) a device programmer. Check to see if
that's the case with your NXP device.

Otherwise, for $25 (US), you can get the Atmel ISP programmer and be
done with it.
Cheap, simple, no reset line B/S to deal with. Little or no aspirin
required.

* Actually, it's a toss up between what sucks the most.
Flash Magic, or the instructions that come with it.

Respectfully submitted,
-mpm
 
A

Arie

Jan 1, 1970
0
"Eeyore" ...
The NXP (Philips) part is in sytem programmable with 'flash magic'.
The Atmel equivalent mentions ISP capability too but I can't find any
detail. Are they 100% compatible ?

I think I remember a problem...

I wrote a small bootloader that used one sector and that could (re)program
the 48 kB application in-system.
It handled Philips (sorry, NXP) and TEMIC (AFAIK same as Atmel).

The TEMIC had EEPROM as flash and so jou just write a byte, you don't erase
blocks. The 'erase' command failed and when that happened I just wrote a
bunch of 0xFF to that block.

Arie
 
T

Tilmann Reh

Jan 1, 1970
0
Rich said:
Don't know about compatability but the AVR part is programmed using
their "FLIP" utility.

JFTR: It's *not* an AVR, but an 8051 derivative.

Tilmann
 
T

Tilmann Reh

Jan 1, 1970
0
Arie said:
"Eeyore" ...

I think not, but the Atmel is definitely ISP capable using the same HEX
style protocol (which is fully documented, BTW). As mentioned by Rich,
Atmel provides a tool named FLIP for doing ISP.
I think I remember a problem...

I wrote a small bootloader that used one sector and that could (re)program
the 48 kB application in-system.
It handled Philips (sorry, NXP) and TEMIC (AFAIK same as Atmel).

The TEMIC had EEPROM as flash and so jou just write a byte, you don't erase
blocks. The 'erase' command failed and when that happened I just wrote a
bunch of 0xFF to that block.

That must have been a bug somewhere. We used the Temic RD2 and now the
Atmel ED2, both with our own IAP loader, and never noticed anything like
that.

However, I think Atmel and NXP versions could indeed be slightly
different - additionally, the T89C51RD2 (notice that the first "A" ist
missing) previously made by Temic (who were taken over by Atmel) is
different in many details from the AT89C51RD2 later made by Atmel.

The older Temic part had an additional 2k EEPROM, while the Philips hat
not. Maybe Atmel changed their nomenclature to be more compatible. Now
their (current) RD2 is functionally equivalent to the (current) RD2 from
NXP, and the chip with the additional EEPROM is the ED2.

You'll have to read and compare the datasheets very carefully...

Tilmann
 
R

Rich Webb

Jan 1, 1970
0
JFTR: It's *not* an AVR, but an 8051 derivative.

#ifdef DOH
for (i = 0; i < BIGNUM; ++i) {
printf("All AVR are Atmel. Not all Atmel are AVR!\n");
}
#endif
 
E

Eeyore

Jan 1, 1970
0
mpm said:
Flash Magic sucks, in my opinion.*

In what way ?

Kiel has some emulator boards that can double as both hardware
emulators and (in many cases) a device programmer. Check to see if
that's the case with your NXP device.

Not planning on getting on Kiel boards.

Otherwise, for $25 (US), you can get the Atmel ISP programmer and be
done with it.
Cheap, simple, no reset line B/S to deal with. Little or no aspirin
required.

I made a 'clone' of the Atmel ISP 'cable' as they call it (per their app
note) and have been having some trouble with it. I did manage to download
some code from a pre-programmed 89S52 but since then no further luck !

* Actually, it's a toss up between what sucks the most.
Flash Magic, or the instructions that come with it.

So does Flash Magic just do the same thing but via the seriaal port ? i.e.
are the signals (commands) it sends identical to those the AT89ISP program
sends ?

Graham
 
A

Arie

Jan 1, 1970
0
"Tilmann Reh" ...
I think not, but the Atmel is definitely ISP capable using the same HEX
style protocol (which is fully documented, BTW). As mentioned by Rich,
Atmel provides a tool named FLIP for doing ISP.


That must have been a bug somewhere. We used the Temic RD2 and now the
Atmel ED2, both with our own IAP loader, and never noticed anything like
that.

However, I think Atmel and NXP versions could indeed be slightly
different - additionally, the T89C51RD2 (notice that the first "A" ist
missing) previously made by Temic (who were taken over by Atmel) is
different in many details from the AT89C51RD2 later made by Atmel.

The older Temic part had an additional 2k EEPROM, while the Philips hat
not. Maybe Atmel changed their nomenclature to be more compatible. Now
their (current) RD2 is functionally equivalent to the (current) RD2 from
NXP, and the chip with the additional EEPROM is the ED2.

You'll have to read and compare the datasheets very carefully...

Tilmann


Thanks for refreshing my memory. It is already failing for code from 4 years
ago (did some repairs on it even after I left that company).

Indeed the old T... chip from Temic I used was different from the newer
AT...
I did have a look at the code again, and I did comment out the "flash the
block to be erased with 0xFF" the day after I put it in.
See code fragement below.
I also found a note that the Philips chip went though 2 incompatible
revisions, the Temic too...

Arie de Muynck


==================

//--------------------------------------------------------
// CMD_FLASH_ERASE erase a flash block
//--------------------------------------------------------

case CMD_FLASH_ERASE:

adr = net_get_word() & 0xE000; // parm1 = address

end = 0;
switch( adr)
{
case 0x2000: end = 0x3FFF; break; // accept only valid adr
case 0x4000: end = 0x7FFF; break;
case 0x8000: end = 0xBFFF; break;
case 0xC000: end = 0xFBFF; break;

default: // if not valid
net_put_byte( STS_BAD_PARM); // reject parm1
net_put_byte( 1);
net_send();
break;
}

if (end) // if valid block
{
b = 0xFF; // check if already empty
tmp = end;
while ((tmp >= adr) && (b == 0xFF))
b &= get_code( tmp--);

if (b != 0xFF) // if any byte programmed
iap_call( IAP_ERA_BLOCK, adr, 0); // start erase

/*------- fails anyway...

//----- AdM 040412
// Patch to allow TEMIC (EEPROM type): doesn't really erase.
// This causes checksum compare by controller to fail.
// We now detect the non-erase and write 0xFF instead.

b = 0xFF; // check if really empty
tmp = adr;
while ((tmp <= end) && (b == 0xFF))
b &= get_code( tmp++);

if( b != 0xFF) // if still programmed
{
tmp = adr; // just overwrite with 0xFF
while( tmp <= end)
iap_call( IAP_PROG_BYTE, tmp++, 0xFF);
}
---------------*/

net_sts_send( STS_OK); // return OK msg
}
break;
 
T

TT_Man

Jan 1, 1970
0
The NXP (Philips) part is in sytem programmable with 'flash magic'.

The Atmel equivalent mentions ISP capability too but I can't find any
detail. Are they 100% compatible ?

Graham

Flash Magic sucks, in my opinion.*
Kiel has some emulator boards that can double as both hardware
emulators and (in many cases) a device programmer. Check to see if
that's the case with your NXP device.

Otherwise, for $25 (US), you can get the Atmel ISP programmer and be
done with it.
Cheap, simple, no reset line B/S to deal with. Little or no aspirin
required.

* Actually, it's a toss up between what sucks the most.
Flash Magic, or the instructions that come with it.

Respectfully submitted,
-mpm

An ISP cable won't program the 89C51ED2" etc.etc. parts. They are only
programmable by boot loader and special 'weird' hardware configuration and
FLIP
Currently , I can't get FLIP to erase 'locked' parts- ongoing atmel tech
question...
I am currently having to 'erase' them in a commercil parallel programmer.
Dallas 89c450 is the biz...
 
T

Tilmann Reh

Jan 1, 1970
0
Eeyore said:
I made a 'clone' of the Atmel ISP 'cable' as they call it (per their app
note) and have been having some trouble with it. I did manage to download
some code from a pre-programmed 89S52 but since then no further luck !

This is a completely different interface. The RD2 is programmed via the
RXD/TXD lines, not by SPI interface at special port pins as the 89Sxx chips.
So does Flash Magic just do the same thing but via the seriaal port ? i.e.
are the signals (commands) it sends identical to those the AT89ISP program
sends ?

I don't know for sure, but I think the SPI programming scheme used by
AT89ISP for the 89Sxx chips also uses a completely different protocol.

Tilmann
 
Top