How I got my old Classic Atmel AT90S8515 to work with Arduino IDE


searching at90s8515 came across few posts people wanting use these chips.
i wanted work, because had , sitting there doing nothing.
it took while , users of forum, thought should share did in case others same.

requirements:
- arduino ide few mods
- at09s8515-8 8 mhz crystal connected across pins 18 , 19, each 22pf cap ground //edited per drazzy's comment below 22pf
- programmer. built ponyser compatible 1 few bucks using this: http://electronics-diy.com/avr_programmer.php

i made icsp programmer header compatible arduino 6 pin header because thought made sense, in case need upload bootloader or whatever.

since working under assumptions, going list them here:
- at90s8515 pin compatible atmega8515, used files pertaining atmega8515
- although avr has analog comparator, doing using digital pins
- doing involves risk, damage avr, computer connected or other components possible , won't held responsible if decide follow these steps.

so here steps:

i added boards.txt file:

s8515.name=at90s8515-8pc

s8515.upload.tool=avrdude
s8515.upload.maximum_data_size=8192
s8515.upload.protocol=ponyser
s8515.upload.speed=9600

s8515.build.mcu=at90s8515
s8515.build.f_cpu=8000000l
s8515.build.board=avr_8515
s8515.build.core=arduino
s8515.build.variant=s8515


i added programmers.txt file:

ponyser.name=custom ponyser
ponyser.communication=serial
ponyser.protocol=ponyser
ponyser.program.protocol=ponyser
ponyser.program.tool=avrdude
ponyser.program.extra_params=-p{serial.port}

i created folder in \variants named s8515 , saved in there pins_arduino.h file:
http://www.avrfreaks.net/sites/default/files/pins_arduino.h

i had fix file in order make work 8515.
this definition: const uint8_t progmem digital_pin_to_timer_pgm[] = { break compiler, need replace timer pin 0 not_on_timer.
also, definition missing closing curly bracket , semicolon. see below.
so here final definition in file: //edit: no good, see posted pins_arduino.h below, works 8515

const uint8_t progmem digital_pin_to_timer_pgm[] = {
   not_on_timer, not_on_timer, not_on_timer, not_on_timer, // 0  - 3 // 0 timer brreaks compile
   not_on_timer, not_on_timer, not_on_timer, not_on_timer, // 4  - 7
   not_on_timer, not_on_timer, not_on_timer, not_on_timer, // 8  - 11
   not_on_timer, timer1a,      not_on_timer, not_on_timer, // 12 - 15
   not_on_timer, not_on_timer, not_on_timer, not_on_timer, // 16 - 19
   not_on_timer, not_on_timer, not_on_timer, not_on_timer, // 20 - 23
   timer1b,      not_on_timer, not_on_timer,            // 24 - 26
   not_on_timer, not_on_timer, not_on_timer, not_on_timer, // 27 - 30
   not_on_timer, not_on_timer, not_on_timer, not_on_timer, // 31 - 34
}; // << missing in original file

since haven't yet tested everything, there may problems pins or other stuff.
once have more details, post them.

as have pin_mapping.h file post it, including pin mappings "arduino" pins.

220pf caps on crystal? surely mean 22 pf (these marked 220, 22 times 10^0 pf; how 0.1uf caps 104 (10 times 10^4 pf, works out 0.1uf).


Arduino Forum > Using Arduino > Microcontrollers > How I got my old Classic Atmel AT90S8515 to work with Arduino IDE


arduino

Comments