Programming AT90S8515

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

Hello,
I have some old hardware which uses an AT90S8515, I also have two .hex files, one for flash the other for EEPROM. My problem is I can't find a way to program the old hardware with these .hex files. I have a JTAGICE3 programmer and have downloaded the latest studio6.2 software, but that is where it stops. Can anyone tell is it possible to achieve what I want with the tools that I have and if so what are the steps? If not, then does anyone know what I need?
Thanks
Todd

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

Hello, and welcome Todd -

The AT90S devices are really, really, old. I'm not even sure where to find a spec sheet, though there must be some out on the net somewhere. I am not surprised, in the least, that they are not listed as a supported device.

Not sure what to suggest. Hopefully, one of the "old timers" might have some better information.

Jim

Jim Wagner Oregon Research Electronics, Consulting Div. Tangent, OR, USA http://www.orelectronics.net

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

Thanks Jim, yes I think they were one of the first AVRs that Atmel produced.

Todd

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

I just fired up my "old" AVR Studio Ver 4.x and mkII, to see if it was a supported device. It isn't.

Sorry.

JC

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

Quote:

Not sure what to suggest. Hopefully, one of the "old timers" might have some better information.

Well, OP didn't ask for advice. OP asked whether he could use his new mid-range SnapOn engine analyzer on his 1951 Chevy pickup truck.

If you want to change the timing on your 1951 Chevy pickup truck I can indeed recommend tools, but it won't involve the new SnapOn.

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

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

Thanks for trying JC!

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

Quote:
my "old" AVR Studio Ver 4.x
Whaddya mean old?....
Quote:
mkII, to see if it was a supported device. It isn't.
But supported with AVRISP MK1 or STK500.

Attachment(s): 

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

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

Hi John,

Thanks for the information. I was trying to use what I had inhouse but I may have to reconsider and go out and purchase a STK500 kit. My only concern is will the software run on either a windows 7 or windows 8 PC?

Todd

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

AS4.18 runs on WIN7 no idea about WIN8.

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

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

Cheers!

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

js wrote:
Whaddya mean old?....

About your age...? :wink:

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

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

I would be 100% confident that avrdude will be able to understand a AT90S8515. And presumably send the relevant commands to any of the hardware programmers.

Just try:

avrdude -c jtag3isp -P USB -p AT90S8515 -B5

You will need the latest avrdude to know jtag3

I don't have the latest avrdude. Nor a JTAGICE-3.

Or you could use an old avrdude with a USBASP, Arduino, ...

If you have the source code, I would recommend replacing the AT90S8515 with a ATmega8515 and recompiling.

David.

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

Hi David,

Thanks for the suggestions, I will give them a try.

Todd

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

Quote:
But supported with AVRISP MK1 or STK500.

I didn't even think to check the STK500. :oops:

Of course the follow up question is how long one wants to support the old chip, vs redoing the project with a current micro.

JC

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

Quote:
replacing the AT90S8515 with a ATmega8515 and recompiling.
The ATmega8515 and ATmega8535 have 90Sxxxx compatibility fuses so, in theory, one should be a be to run the old code without recompiling.

It has been a long time since I used those chips bit I think it worked.

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

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

I only have a handful of these boards left so once they are gone the product will be discontinued so the minimum amount of time and effort is what I'm really after.
It is good to know that I could always use the ATmega8515 if there is ever a need to bring the product back to life at a later date.
In the meantime I'm pursuing the use of AVRDUDE.

Todd

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

Quote:
I could always use the ATmega8515
AND the Mega162 which is also pin compatible but you will need to change some bits of the code and recompile. You get 16K flash and 2 serial ports unless the pins are already used for something else.

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

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

Thanks John

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

Hey

 

i have problem while burning the AT90S8515-8PC. Later i used the controller AT90S8515-8PI with ponyprog, but now i have purchased AT90S8515-8PC controller , out of 10 only 1 is programmed remaining 9 shows the error (-25)i.e. unknown device or device locked. i am using Serial programming.These controller easily programmable through LABTOOL but i have to burn device file and eeprom file, so the conclusion of LABtool i get to knows it burns only one file at a time.

 

please give me solution of this problem, i got stuck in this from last one week

 

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

Go on.   The AT90S8515  is obsolete.    It was replaced by the ATmega8515 over 12 years ago.

 

Avrdude should be able to control the programmer.    Note that programming AT90S8515 is much slower than the ATmega8515.

 

I would never trust PonyProg.  

I would never trust a shop / Ebay that sells obsolete AT90S8515 chips.

 

David.

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

is there any way to programme the AT90S8515-8pc, Actually i have  100 ics of same .

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

Yes, of course you can. STK500, USBASP, ...
Most programming hardware is capable.
Avrdude.exe or stk500.exe should work.
.
Be realistic. Someone sold 100 obsolete chips to you. You paid them money.
There is a reason why they wanted to get rid of obsolete stock.
.
Modern chips would be cheaper. Modern chips would have better performance. Faster to program.
.
David.

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

 

there is still 4 pcs. if you are lucky you can add them to your 100 pcs

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

The chips might be bona-fide stock that has been sitting unused in a warehouse for 18 years.

The chips might be pulls from unused equipment.

The chips might be pulls from used equipment.

The chips might be QC failures or pulls from faulty equipment.

 

When you Google AT90S8515-8PC  you get Ebay adverts quoting very HIGH prices.

 

If you are maintaining / repairing old equipment,   it is probably cheaper to use the pin-compatible mega8515 as replacement.

 

Hey-ho,   you can always try selling your surplus AT90S8515-8PC on Ebay.

 

David.

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

That chip appears to have a fuse bit that disables SPI programming. If that bit has been set then you will need to use a parallel programmer to clear it. (or at least, that's how I read the datasheet).

#1 This forum helps those that help themselves

#2 All grounds are not created equal

#3 How have you proved that your chip is running at xxMHz?

#4 "If you think you need floating point to solve the problem then you don't understand the problem. If you really do need floating point then you have a problem you do not understand." - Heater's ex-boss

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

ok i have USBASP , I'll try with that.

 

if i want to replace AT90S8515-8PC with ATMEGA8515 , what changes i have to made in code ?

is same code run over it or i have to change some settings?

 

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

prajapati1709 wrote:

ok i have USBASP , I'll try with that.

 

if i want to replace AT90S8515-8PC with ATMEGA8515 , what changes i have to made in code ?

is same code run over it or i have to change some settings?

 

 

I havent seen the DS but highly probably I assume that you have to. What the guys here are trying to advice you in conclusion is that you should change it now better than saying "what if..."

Last Edited: Thu. Dec 6, 2018 - 11:17 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Explain your situation.   i.e. used/unused chips.   Then you can get practical advice.

 

All 90S8515 need an external crystal or clock.

They should program via ISP.     Just SLOWLY.

 

Do you have the source code for the 90S8515 firmware?

Unless the firmware does trickery,   you simply replace with a mega8515.   Program the S8515C fuse.   Program the fuses for 8MHz crystal (or whatever your existing 90S8515 uses)

 

David.

Last Edited: Thu. Dec 6, 2018 - 11:51 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

david.prentice wrote:
They should program via ISP.     Just SLOWLY.

AVR085: Replacing AT90S8515 by ATmega8515

(page 9)

Other Concerns

...

ATmega8515 uses page-by-page programming, while AT90S8515 uses byte-by-byte programming of Flash memory.

...

via AN_2519 AVR085: Migrating from AT90S8515 to ATmega8515 | Application Notes | Microchip Technology Inc.

 

"Dare to be naïve." - Buckminster Fuller

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

I have never used a 90S8515.    But I can remember programming a 90S2313.   It was painfully SLOW and it only had 2kB Flash.   The 90S8515 has four times as much Flash memory to program.

 

David.

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

prajapati1709 wrote:
please give me solution of this problem,
david.prentice wrote:
They should program via ISP. Just SLOWLY.

"Slowly" includes the bitrate of the ISP clock to accomodate the default speed of the virgin device.  Things could be that simple.

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

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

From distant memory,   the SPI speed is the same for 90S as for MEGA  i.e. <=  F_CPU/4

 

As Mr Chapman has pointed out,   the SLOWNESS is down to individual byte programming.

 

If the nominal programming time is 5ms,   8kB x 5ms = 40960 ms.    But 64 pages of 128-bytes is 64 x 5ms takes 320 ms.

 

No,   I have not checked the mega8515 Page size.    Nor the typical programming time.

 

David.

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

AN910 is probably the second AVR programmer I used.

First was Pony Prog (or similar, and only once) to program AN910.

AN910 is an Atmel application note (& software) to build your own programmer. It uses an at90s2313 to translate between RS232 and ISP.

It is slow, but it works. And I believe AT90S8515 is inherently slow because it programs 1 byte at a time.

More modern AVR's have small pages, you load 8 bytes into some (invisible?) buffer, and then program those 8 bytes into flash.

Programming stuff into flash has inherent delays.

 

AVRdude can control a lot of different hardware. If you have an old PC with an LPT port, then avrdude can program your at90S8515 with it.

If you have a beaglebone, Raspi, Cubie board or another small Linux board with GPIO pins, then AVRdude can program your at90s8515 with it.

 

I also se no reason to not trust something like Ponyprog.

Even old chips such as at90s8515 effectively program themselves. A "programmer" is nothing more than some communication channel between a (usually) PC and the target to exchange data, and commands.

Compare this with for example old Eproms. (Such as 27c128, 27c256, or any number starting with "27" and ending with a round power of2).

Those chips had specific voltages to apply and pulsewidths (Very old were 24V or 25V, newer versions were around 12.5V).

In programmers for those chips programer quality is an importent factor.

If the pulsewidth or voltages were wrong, you would damage the chips and they would never work again.

But for more modern chips which program themselves it either works or it does not work, and chips are verified after programming, So you know if it worked or not.

Programming of more modern chips (And I call at90s8515 "modern" in this context) still use the high voltage, but they have an on board charge pump to generate that voltage.

The high voltage is used to channel some electrons through an isolation barrier on the individual FLASH memory cells, so it needs very little current, but it neads to reach the threshold voltage.

 

TL866A is an Ali / Ebay / China special and it seems to be an amazing programmer for it's price, but software is mostly windoze, so it's useless to me.

Personally I'm quite happy with those small serial gadged programmers (I have USBasp for AVR, and ST-Link V2 for STM32), and I have not much use for a parallel programmer.

 

A quick search suggests that USBasp can also program the AT90S8515:

https://duckduckgo.com/html?q=usbasp+at90s8515

 

But if you want to do some "serious" development and re-program the chip a lot then  using some atmega8515 chips for development seems a good idea just because of the much faster programming.

Paul van der Hoeven.
Bunch of old projects with AVR's:
http://www.hoevendesign.com

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

Paul's comments are misleading.

 

I thought that I had better check.

AT90S8515 program time per byte = 4ms @ 5V

ATmega8515 page size = 64 bytes.   Program time per page = 4.5ms.

 

There is a similar amount of comms traffic from the PC to programmer

Total programming time is 32768 ms for 90S8515  (8192 bytes @ 4ms)

Total programming time is 576 ms for mega8515  (128 pages @ 4.5ms)

 

PonyProg software was not very intuitive when it came to Fuses.

LPT bit-banged programmers were prone to glitches.

 

You only have to go back 10-12 years on this Forum to discover the problems from PonyProg and/or LPT hardware.

You also see things like bit-banged SPI over a USB-UART chip.     e.g. 45 minutes to program a Mega32.

 

Just buy a $3 USBASP and get on with the more interesting parts of the hobby.

 

David.

 

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

As the AT90S did not have internal oscillators I wonder if this is all really about dodgy clocks?

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

The mega8515 is not 100% compatible with the 8515

I remember that an old costumer asked me to make the changes when the 8515 got obsolete (I can't remember what is was but only some init values I think.

(it was all written in the old Atmel ASM where there was an rjmp error so any changes was a pain).

 

  

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

david.prentice wrote:
Paul's comments are misleading.
Why?

david.prentice wrote:
AT90S8515 program time per byte = 4ms @ 5V ATmega8515 page size = 64 bytes.   Program time per page = 4.5ms.

 

>> 64*4/4.5
ans =  56.889

So programming the old 90S is about 60x slower than a more modern variant.

 

I never claimed PonyProg was the best programming software around, just that it CAN be used and has been used (10+ years ago).

I do not care much for digging up the details, but I'm sure that most of the problems were because of dodgy wiring, bad breadboards, forgetting decoupling caps and such.

Using an LPT inconveniently placed at the back of a PC under your desk is an invitation to build something unreliable, especially for inexperienced beginners. And inexperienced beginners are the target group of the Pony Prog software. So it is logical you can find lots of troubles, but the Pony Prog software is not to blaim for that.

I also said I only used it once to progam a better programmer (AN910). Which I used for some years untill I upgraded to USBasp.

Back then the PonyProg software was a real nice project to bootstrap yourself into working with uC's on a small budget.

 

If interested into the differences between AT90S8515 and ATMEGA8515 then check out doc 2519, aka AVR085:

 

 

 

Paul van der Hoeven.
Bunch of old projects with AVR's:
http://www.hoevendesign.com

Last Edited: Thu. Dec 6, 2018 - 05:00 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You can never have 100% compatibility. If the OP revealed the origin of these obsolete chips we would know whether it is worth the trouble.
.
But most importantly, does the OP have the source code or just the HEX?
If we could see the source code, we could give a reasonable opinion about mega8515.
.
Accessing undocumented register bits or assembler tricks can be difficult to predict.
Most C programs obey all the rules.
.
David.

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

After Re-reading OP's post it seems he only has some hex files and existing hardware with AT90S8515 already fitted and he just wants to put his hex files into those AVR's with the programmer he has.

 

No mention whatsoever about porting code or a desire to use an ATmega. 

 

Oops, got myself bitten again:

OP's post was from 2014 and it was revived by prajapati1709 in #19

 

Paul van der Hoeven.
Bunch of old projects with AVR's:
http://www.hoevendesign.com

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

I am surprised I did no have a reply from years ago in this thread!

 

I do now :)   This one is for posterity.

 

Have dozens of these obsolete time wasters. Have 2 Ice200s too.  Useful if one wants to connect a lot of external memory at the cost of any reasonable clock speed.

 

There is an Arduino core for it.  No boot loader though.  One has to save the hex file from the arduino IDE,  then use an external programmer to upload.  I managed to get a serial sketch to work.  Attempted to connect an ILI9341 TFT screen.  Was painfully slow, but the Adafruit demo sketch did run.

 

 

 

 

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

other that the max speed is 8MHz and no HW MUL it's about the same as a mega8515 so why all the comments about " painfully slow " ?

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

sparrow2 wrote:
so why all the comments about " painfully slow " ?

That refers to the programming speed -- review the comments and stats above on "byte mode" vs. "page mode".

 

That said, how often will you be programming your small stash of long-obsolete chips?  If you have a few of those chips and ISP a few dozen times, then you lose a couple minutes out of your life if you just sit there and stare at the progress bar.  More likely you prepare the next unit, put away the previous unit, take a sip of coffee, ogle your favourite body (a "unisex" comment) in the office, get more coffee, take a pee, check email, or similar such that it isn't wasted.

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

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

sparrow2 wrote:

other that the max speed is 8MHz and no HW MUL it's about the same as a mega8515 so why all the comments about " painfully slow " ?

 

The chips I have are the 4MHZ grade.  It is not the processor that is slow, it is the updates through the HW SPI to the ILI9341 TFT display.  You can almost watch the pixels write.

Most Arduinos expect a F_CPU of 16 megahertz.  4 MHz is a quarter of that.

 

The external memory also can slow things down, Especially if the memory needs wait states for true 8051 compatibility.  Not that this affects much MIDI processing MIDI is happy at a clock of 1 Mhz which is what the Apple ][+ did.  So by comparisons this is a speed demon.

 

Sometimes I think that time is at it's best when wasted.  Enjoy the moment.  (Sempre momenta.)  Everything becomes obsolete sooner or later.

 

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

I compiled a handfull of examples for those ILI TFT's (Adafruit & RinkyDink).

With "Adafruit" on "Arduino" they use a digitalWrite() to latch the data into the display. Replacing those 2 lines with a direct bit set/clear almost doubles the data transfer for the parallel version of that lib.

Then there is the redicilous "pinmagic.h" which is a contortion to force hardware together that does not fit.

I thought a bit about it, and then quickly discarded the whole Idea of matching an AVR with a TFT display.

It does sorta work a little bit for static menu's, but that's about it and it is not a well fitting combination.

 

For me this was the main reason to start looking into faster microcontrollers.

Something like STM32F103C8T6 is a good fit for these displays.

Just look on youtube for some demos of the DSO138 or DSO Shell.

This processor can do somewhere between 5 and 10 screen updates/s.

This demo pushes "big buck bunny" at 8fps to an ST7781:

https://www.youtube.com/watch?v=9n9LHX6vwKc

On top of that, the "Blue Pill" development board costs < USD2 and is breadboard friendly, and a programmer (ST-Link V2) costs about the same.

http://www.aliexpress.com/wholesale?SearchText=STM32F103C8T6

They are also supported by GCC, just like the AVR's.

The only things holding you back are the learning curve, which is quite a roller coaster, and the overwhelming amount of choices of other ARM Cortex X controllers.

With those uC families you can get to a few hundred MHz and a gazillion pins if you want or need it.

 

A processor like the ESP8266 (or even faster ESP32) can reach quite acceptable refresh rates on the SPI versions of those TFT displays, also with plenty of demo's on youtube.

The AVR's  also quickly run out of resources for storing fonts, bitmaps or screen buffering.

 

I've always liked the AVR processors, and still do, but not for such displays.

 

 

If you're intested in ARM, then have a look at the mbed website. It has an overview of 100+ developmentboards from a multitude of manufacturers:

https://os.mbed.com/platforms/

 

Paul van der Hoeven.
Bunch of old projects with AVR's:
http://www.hoevendesign.com

Last Edited: Fri. Dec 7, 2018 - 08:29 PM