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.
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
Post a Comment