added device(AT family) at Sinaprog

Go To Last Post
32 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hai
All

I'm looking information(didn't found at google) on how to added devices(MCUs)at Sinaprog regarded with my previous thread..

https://www.avrfreaks.net/index.p...

at attachment...

Is there avrfighter with English or info to made Sinaprog able to program another AT families.

Regards
Jeckson

Attachment(s): 

.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

What other "AT families"? avrdude only knows ISP, TPI, PDI and JTAG programming for tiny, mega and xmega. If it's not in avrdude.conf it is not supported.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hai
Thank's

Honestly that I'm needed to program the AT89S5X family.

Quote:
If it's not in avrdude.conf it is not supported.

How's to modified the avrdude.conf?

After that for device file for Sinaprog.

Thank you
Jeckson

PS:
I have simple program only for AT89S but not recomended for professional application.

.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Your question would be better placed on www.8052.com which is for 8051 support. This board and the tools described here are for AVR8 programming.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hai
Clawson

But I used avrdude and sinaprog which clawson recomended.

Thank you
Jeckson

.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

These are the devices avrdude supports:

C:\WinAVR-20100110\bin>grep desc avrdude.conf | grep AT
    desc                = "ATtiny11";
    desc                = "ATtiny12";
    desc                = "ATtiny13";
    desc                = "ATtiny15";
    desc             = "AT90S1200";
    desc             = "AT90S4414";
    desc             = "AT90S2313";
    desc             = "AT90S2333";
    desc             = "AT90S2343";
    desc             = "AT90S4433";
    desc             = "AT90S4434";
    desc             = "AT90S8515";
    desc             = "AT90S8535";
    desc             = "ATMEGA103";
    desc             = "ATMEGA64";
    desc             = "ATMEGA128";
    desc             = "AT90CAN128";
    desc             = "AT90CAN64";
    desc             = "AT90CAN32";
    desc             = "ATMEGA16";
    desc             = "ATMEGA164P";
    desc             = "ATMEGA324P";
    desc             = "ATMEGA644";
    desc             = "ATMEGA644P";
    desc             = "ATMEGA1284P";
    desc             = "ATMEGA162";
    desc             = "ATMEGA163";
    desc             = "ATMEGA169";
    desc             = "ATMEGA329";
    desc             = "ATMEGA329P";
    desc             = "ATMEGA3290";
    desc             = "ATMEGA3290P";
    desc             = "ATMEGA649";
    desc             = "ATMEGA6490";
    desc             = "ATMEGA32";
    desc             = "ATMEGA161";
    desc             = "ATMEGA8";
    desc             = "ATMEGA8515";
    desc             = "ATMEGA8535";
    desc                = "ATTINY26";
    desc                = "ATTINY261";
    desc                = "ATTINY461";
    desc                = "ATTINY861";
    desc             = "ATMEGA48";
    desc             = "ATMEGA88";
    desc            = "ATMEGA168";
    desc                = "ATMEGA328P";
     desc          = "ATtiny2313";
     desc          = "AT90PWM2";
     desc          = "AT90PWM3";
     desc          = "AT90PWM2B";
     desc          = "AT90PWM3B";
     desc          = "ATtiny25";
     desc          = "ATtiny45";
     desc          = "ATtiny85";
    desc             = "ATMEGA640";
    desc             = "ATMEGA1280";
    desc             = "ATMEGA1281";
    desc             = "ATMEGA2560";
    desc             = "ATMEGA2561";
    desc             = "ATMEGA128RFA1";
     desc          = "ATtiny24";
     desc          = "ATtiny44";
     desc          = "ATtiny84";
    desc             = "ATmega32U4";
    desc             = "AT90USB646";
    desc             = "AT90USB647";
    desc             = "AT90USB1286";
    desc             = "AT90USB1287";
    desc             = "AT90USB162";
    desc             = "AT90USB82";
    desc             = "ATMEGA325";
    desc             = "ATMEGA645";
    desc             = "ATMEGA3250";
    desc             = "ATMEGA6450";
    desc        = "ATXMEGA64A1";
    desc        = "ATXMEGA128A1";
    desc        = "ATXMEGA128A1REVD";
    desc        = "ATXMEGA192A1";
    desc        = "ATXMEGA256A1";
    desc        = "ATXMEGA64A3";
    desc        = "ATXMEGA128A3";
    desc        = "ATXMEGA192A3";
    desc        = "ATXMEGA256A3";
    desc        = "ATXMEGA256A3B";
    desc        = "ATXMEGA16A4";
    desc        = "ATXMEGA32A4";
    desc        = "ATXMEGA64A4";
    desc        = "ATXMEGA128A4";
    desc        = "ATtiny4";
    desc        = "ATtiny5";
    desc        = "ATtiny9";
    desc        = "ATtiny10";

Do you see AT89 in there? No, me neither.

avrdude is not the tool you need. It's even called "AVRdude" - there's a clue in the very name!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

stk500.exe can program some AT89Sxx devices.

AvrProg.exe can program several AT89Sxx and AT89Sxxxx devices via AVR910 protocol (and certain hardware)

Avrdude makes no effort to support these devices. In principle it could do. But I suspect it would no longer work with all the different types of ISP hardware.

Unless there is a great demand for a single program, it is simpler to use 89S tools with 89S devices. For some reason only know to Atmel, the protocols work very differently for different 8051 variants.

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hai

Thank for reply

Quote:
stk500.exe can program some AT89Sxx devices.

I'm used USBasp
According from website.It's able to program AT89S5X family with AVR_fighter(Only with Chinese Lang.)Is there English version? or another program for AT89S5X with USBasp?

USBasp mainly used for AVR but side effect to program AT89S5X family.That's why I post at avrfreaks.net.

Quote:
Avrdude makes no effort to support these devices. In principle it could do. But I suspect it would no longer work with all the different types of ISP hardware.

How's to do that? Is that something like Hex editor(or similiar) to change the avrdude.conf(and device at Sinaprog)?

Thank you
Jeckson

.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

If all the AT89S5x series followed a 'similar' protocol, then fine.

But they do not. And some hardware supports some variants, and most do not support any at all.

No. I have never used USBasp. Nor have I read the docs. If you want to use USBasp, then you should read the USBasp docs.

If the USBasp hardware can program your target 89Sxx devices, then it is worth configuring / adapting avrdude. If USBasp hardware does not work, there is not a lot of point!

Personally, I use an 'AVR910' programmer to program an obsolete AT89S8252 via AvrProg. If I wanted to use AT89S52 or AT89S8253, I would have an interest. But I do not possess these devices, so I have never bothered.

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hai
David

Thank's for rapid reply

AVR_fighter able to program AT89S5X but only Chinese version.

I must used another programmer software for USBasp which able to program AT89S5X...

Regards
Jeckson

.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Jeckson,

Which variant do you want to program?
AT89S51, S52, S53, S54, S55 ... S8252, S2553
They are all different.

What hardware do you want to use?

What is your eventual purpose?

AFIK, you have a lot of experience with 8051. So I assume that you have all the hardware needed for programming 8051's.

All the AVR range can be programmed with simple hardware, and follow a 'similar' protocol. Which means you can add a new device very simply to an existing programmer hardware. ---- normally just an ascii .CONF file.

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hai
David

Thank you for reply....

Just S51,S52 and S53

Yes...of course that I have mcs-51 programmers...
But all that from parallel port.
(I assuming that David STK-200 for ascii.conf)??

Kindly advice that usb replacing all comport and parport...at earlier pc/notebook,etc..etc.

Avr-fighter(with USBasp) able to program at89s family but only in chinese lang... Full of ???? Words at menu ...attachment above...

I'm just looking software for usbasp that able to program at89s family....

If avrdude(+sinaprog or else) able to program how's modified??

That's it...

Thank you very much
Jeckson

.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

S51, S52 differ greatly to S53.
S51, S52 are programmed with any stk500 compatible programmer. You can program them via the appropriate stk500.exe. Most GUI type of programs probably do not support them.

S53 is another matter. The algorithm is completely different.

As I said, I do not have a USBasp programmer. Nor have I read any docs.

I think you will find that there is firmware for AVR910 protocol. I use it myself for programming an AT89S8252.

So if you are determined to use a single USB programmer for AVR and AT89Sxx, you will need to forgo AT89S53 support. Or use a USB->RS232 cable.

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

David,

The USBAsp is indirectly an Igor Cesko (spelling?) based programmer that is doing the bit-bang USB thing in software on a Tiny2313. As such there's not much CPU cycles or space left for doing any fancy protocols. As such it does 99% of the protocol decode stuff over on the avrdude side of things with the chip basically just listening for the 4 byte ISP packets and stuffing them out to a bit-bang ISP interface to the chip.

I think there's almost no chance whatsoever of that programmer being used to implement an AT89 protocol. All the work would have to be done in avrdude source which then requires a system to be able to rebuild arvdude (simple on Linux a complete brain-f**k on Windows!). This would also require an intimate knowledge of the avrdude design and implementation (anyone who's studied the source will know this is close to a life's work!)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Ah-ha. I have never really taken much notice of what USBasp is.

The point is that an AT89S51 and AT89S52 use exactly the same 4-byte SPI protocol as AVRs do. Hence stk500.exe supporting them.

However the AT89S53 and the AT89S8252 use a 3-byte SPI protocol. So you would struggle to squeeze the extra routines into a Tiny2313. The AVR910 firmware for the Tiny2313 is a tight fit. And it uses RS232 too. No complex USB routines.

However, having just looked at the USBasp schematic at http://www.fischl.de/usbasp/ it looks as if it uses a mega48. In which case, you can migrate to a mega8, mega88, mega168, mega328 as required.

Mind you, the general tone of threads about USBasp seem to be along the lines of 'how cheap can we make it'

If I had an USBasp and wanted to program an AT89Sxx, I suppose that there would be an incentive. Are there any / many people interested?

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
it looks as if it uses a mega48

Ah I think I mixed up USBtinyISP and USBAsp - apologies. :oops:

{USBtinyISP: www.ladyada.net/make/usbtinyisp/ )

So ignore my comment - perhaps AT89S53 will be possible though clearly it's going to take some work on the Fischl source code.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clawson wrote:
This would also require an intimate knowledge of the avrdude design and implementation (anyone who's studied the source will know this is close to a life's work!)
Hmm, I have occasionally hacked things in avrdude, like adding the display of fuse values as text instead of hex numbers. The code is actually reasonably organized. There is room for improvement, and it has its dark corners badly needing cleanup, but I won't consider it a life's work to understand the avrdude design.

Stealing Proteus doesn't make you an engineer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I would agree with Arnold. Avrdude is pretty clearly written. However, I have no inclination to start interfering with it.

Jeckson wants to use USBasp to program the 'wierdo' AT89S53. I am not aware of any software / firmware that would cope with this device. I could not find the Source Code.

I have discovered that there is a programmer called BiProg that appears to cater for all / most AT89Sxxx devices. http://ruckl.wz.cz/biprog_en/biprog_en.php
I think that it will appear as a AVRISP-1 device to Studio. So it should be quite versatile to use. You can either use RS232 or a USB bridge cable.

The other good news is that wek translated the documents. So he probably knows all about it.

It includes extra XML Part Description Files for the more esoteric AT89S variants. Which means that Studio can send well-tailored commands to the firmware.

I have almost implemented the 'wierdo' on a STK500v2 protocol programmer. This is running on an Arduino, so you need no special hardware at all.

Is anyone familiar with the XML fields in the ATMEL/AVR_Tools/Partdescriptions folder?

Jan, did you mug up on the XML when you did the translation?

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hai

Great information...

I only found this for AT89S52 that working with AVRdude.
How's with anothers(S51/S53/else)...?

part
    id               = "8052";
    desc             = "AT89S52";
    signature        = 0x1E 0x52 0x06;
    chip_erase_delay = 20000;
    pgm_enable       = "1 0 1 0  1 1 0 0    0 1 0 1  0 0 1 1",
                       "x x x x  x x x x    x x x x  x x x x";

    chip_erase       = "1 0 1 0  1 1 0 0    1 0 0 x  x x x x",
                       "x x x x  x x x x    x x x x  x x x x";

    timeout      = 200;
    stabdelay      = 100;
    cmdexedelay      = 25;
    synchloops      = 32;
    bytedelay      = 0;
    pollindex      = 3;
    pollvalue      = 0x53;
    predelay      = 1;
    postdelay      = 1;
    pollmethod      = 0;

    memory "flash"
        size            = 8192;
        paged           = no;
        min_write_delay = 4000;
        max_write_delay = 9000;
        readback_p1     = 0xff;
        readback_p2     = 0xff;
        read            = "  0   0   1   0    0   0   0   0",
                          "  x   x   x a12  a11 a10  a9  a8",
                          " a7  a6  a5  a4   a3  a2  a1  a0",
                          "  o   o   o   o    o   o   o   o";

        write           = "  0   1   0   0    0   0   0   0",
                          "  x   x   x a12  a11 a10  a9  a8",
                          " a7  a6  a5  a4   a3  a2  a1  a0",
                          "  i   i   i   i    i   i   i   i";
   mode      = 0x21;
   delay      = 12;
      ;

    memory "signature"
        size            = 3;
        read            = "0  0  1  0   1  0  0  0   x  x  x  0   0  0 a1 a0",
                          "0  0  0  0   0  0  0  0   o  o  o  o   o  o  o  o";
      ;
  ; 

Regards
Jeckson

.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Suggest you re-read this thread. It's been established that the devices you want to program us a 3 byte SPI protocol but avrdude only drives a 4 byte SPI protocol. So it's not as simple as adding an avrdude.conf entry (as it is for AT89S52 which also uses 4 byte). You need to modify the source of avrdude itself.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Jeckson,

As I said earlier, AT89S53 and AT89S8252 use a 3-byte SPI command. So the firmware in your programmer must be able to handle 3-bytes rather than the standard 4-byte commands.

So I would suggest that you put your existing AT89S53 devices into some stable designs.

Then simply use AT89S52 or AT89S8253 devices instead for any new development.

As you are already an expert with 8051, you know that all the larger 8051's have bootloaders e.g AT89C51RE2.
You program these with Atmel FLIP.

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hai
CLawson and David...

So only at89s51/s52 and s8253..for minor modification.

Which one at above code that I must modified...for s51 and s8253.
?

Regards
Jeckson

.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I suggest that you confirm that your AT89S52 avrdude.conf entry is ok.

Then you alter the signature and memory size entries for an AT89S51.

I have not got a AT89S51 or AT89S8253 to try.

There are probably quite a few changes needed for an AT89S8253. But since you have never said whether you possess this chip, there is little point.

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hai
David

Thank you for assistance.

Quote:
I suggest that you confirm that your AT89S52 avrdude.conf entry is ok.
..OK

Quote:
Then you alter the signature and memory size entries for an AT89S51.

Is that only this to change...?

signature = 0x1E 0x52 0x06;

and

size = 8192;

Quote:
There are probably quite a few changes needed for an AT89S8253. But since you have never said whether you possess this chip, there is little point.

I just went to local elec.store(noon)..There are 89s8252 and 8253 but the price 6(8) times than S5X.

Kindly info for 89S8253 for avrdude.conf

Regards
Jeckson [/i]

.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You have to make your own choices. The AT89S8252 is very obsolete. I understand from www.8052.com that the AT89S8253 has the odd 'issue'.

However, these devices contain internal EEPROM, and the regular 89S52 does not.

AFIK, the AT89S53 is also obsolete.

Now, for development purposes the price of a micro is fairly unimportant. What you want is a swift and convenient edit-compile-burn-test cycle. An eventual product is going to be pre-programmed into the cheaper AT89C devices.

If someone has a real AT89S8253 chip, I am quite happy to 'suggest' an avrdude.conf entry.

I would also be interested in seeing how avrdude actually performs when writing an AT89S52. IMHO it uses a crap algorithm with a STK500. stk500.exe should work quite efficiently.

I might buy an AT89S52 just to play with. I do not see much point in buying an AT89S8253 since I have several AT89S8252's.

David.

Yes, that is all you need to change for an AT89S51. Let me know when you have a real AT89S8253.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hai
David

thank's for quick reply...

Quote:
AFIK, the AT89S53 is also obsolete.

There is here but forget cause avrdude.conf cann't program it.

Quote:
Now, for development purposes the price of a micro is fairly unimportant. What you want is a swift and convenient edit-compile-burn-test cycle. An eventual product is going to be pre-programmed into the cheaper AT89C devices. [code]

Here the S cheaper than C type..

Quote:
If someone has a real AT89S8253 chip, I am quite happy to 'suggest' an avrdude.conf entry.

Kindly sharing info for avrdude.conf(8253)

Quote:
Yes, that is all you need to change for an AT89S51. Let me know when you have a real AT89S8253.

Is that this..?

signature = 0x1E 0x51 0x06;

size = 4096;

That's it??

Regards
Jeckson

.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yes. All you do for the AT89S51 entry in the avrdude.conf is

part
    id               = "8051";
    desc             = "AT89S51";
    signature        = 0x1E 0x51 0x06;
...
    memory "flash"
        size            = 4096;
...
        read            = "  0   0   1   0    0   0   0   0",
                          "  x   x   x   x  a11 a10  a9  a8",
                          " a7  a6  a5  a4   a3  a2  a1  a0",
                          "  o   o   o   o    o   o   o   o";

        write           = "  0   1   0   0    0   0   0   0",
                          "  x   x   x   x  a11 a10  a9  a8",
                          " a7  a6  a5  a4   a3  a2  a1  a0",
                          "  i   i   i   i    i   i   i   i";
...

This should be all you need to do. However, I am a little wary of avrdude with AT89S devices. So if you are having problems, we can exchange LOG files.

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hai
David

How's about at89s8253 for avrdude.conf?
I just talk with my friend at STMIK dipanegara(local university) that he posses the IC and will given me only 3 us...(didn't used)

Regards
Jeckson

.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

When you have the chip, email me.

Then I can email a 'conf' entry to try. With an avrdude batch file.

You email me back with the LOG generated by the batch file. I send you a modified 'conf'

Rinse and Repeat.

It should be possible to get the 'conf' working ok by this method. Bear in mind that there are 4000km between our countries. I need to know the exact contents of a LOG file. It is not wise to just post snippets, especially since we speak different languages.

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Here's a mad idea - but rather than trying to persuade an AVR programmer to program AT89's wouldn't it be easier to just build the simplest at89 programmer? Google says:

http://www.xs4all.nl/~sbolt/e-se...

That uses nothing but the parallel port on a PC and a simple program (DOS, Windows or Linux)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Cliff,

Jeckson has used 8051 devices for years. I think that the purpose of this enquiry is because his new computer has only got USB ports.

He has used an LPT programmer for many years.

I can only guess that he has decided to have a go with AVR family devices. After danni and wek have migrated, 8052.com will only be left with the die-hards.

Meanwhile, I just ordered some AT89S devices from RS to see how avrdude really functions.

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hai
David and Clawson.Thank you for Info

Quote:
http://www.xs4all.nl/~sbolt/e-se...

Jeckson has used 8051 devices for years. I think that the purpose of this enquiry is because his new computer has only got USB ports.

He has used an LPT programmer for many years.

Clawson..I had saw that kind programers since AVR born.
David...I didn't had my "actually own" PC and saw that only USB appears at in front of PCs which I rent and used.

Yes..LPT for some years.

Quote:
I can only guess that he has decided to have a go with AVR family devices. After danni and wek have migrated, 8052.com will only be left with the die-hards.

Who is Danni and Wek??Did David mean Peter and Jan at 8052.com??
Still AT89S5X best fix for east :roll:

They all ATMEL chip(AT89S and AVRs)

Quote:
Then I can email a 'conf' entry to try. With an avrdude batch file.

David,Is that OK with PM at this freaks for S8253 avrdude.conf?

Regards
Jeckson

.