Atmel AT89C51RD2 vs NXP P89C51RD2

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

Reply to
Eeyore
Loading thread data ...

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

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...

--
Rich Webb     Norfolk, VA
Reply to
Rich Webb

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

Reply to
mpm

"Eeyore" ...

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

Reply to
Arie

Rich Webb schrieb:

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

Tilmann

Reply to
Tilmann Reh

Arie schrieb:

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

Reply to
Tilmann Reh

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

--
Rich Webb     Norfolk, VA
Reply to
Rich Webb

In what way ?

Not planning on getting on Kiel boards.

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 !

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

Reply to
Eeyore

"Tilmann Reh" ...

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

Reply to
Arie

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...

Reply to
TT_Man

Eeyore schrieb:

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.

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

Reply to
Tilmann Reh

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.