помогите перекомпилировать программу с attiny85 под attiny45
помогите перекомпилировать программу с attiny85 под attiny45
Хотел сделать usb адаптер для денди(nes) джойстика.
вот статья, которой я руководствовался - http://www.bidouille.org/elec/usbnesadapter
В статье написано, что можно использовать attiny45, хотя сам автор, по-видимому, использовал attiny85, у которого 8кб флеша(в отличии от 4кб attiny45) и makefile делал под него. При его компиляции размер hex файла = 8192бита. При изменении строки о типе контроллера в makefile на:"MCU = attiny45" никаких изменений в размере hex файла не произошло. Соответственно такой прошивкой tiny45 не прошился.
Вот исходники из статьи:
http://www.bidouille.org/files/elec/usb ... 20code.zip
Помогите...
вот статья, которой я руководствовался - http://www.bidouille.org/elec/usbnesadapter
В статье написано, что можно использовать attiny45, хотя сам автор, по-видимому, использовал attiny85, у которого 8кб флеша(в отличии от 4кб attiny45) и makefile делал под него. При его компиляции размер hex файла = 8192бита. При изменении строки о типе контроллера в makefile на:"MCU = attiny45" никаких изменений в размере hex файла не произошло. Соответственно такой прошивкой tiny45 не прошился.
Вот исходники из статьи:
http://www.bidouille.org/files/elec/usb ... 20code.zip
Помогите...
- Реклама
- Engineer_Keen
- Друг Кота
- Сообщения: 3872
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: помогите перекомпилировать программу с attiny85 под atti
1) Размер HEX и размер прошивки - разные вещи (читать что такое HEX).
2) Если автор сказал, что можно использовать 45 вместо 85, это не значит, что после перекомпиляции размер прошивки (и тем более HEX) будет в 2 раза меньше, это лишь значит, что прошивка для 85 заведомо занимает менее 4кБ
Почему контроллер не прошился - другой вопрос.
2) Если автор сказал, что можно использовать 45 вместо 85, это не значит, что после перекомпиляции размер прошивки (и тем более HEX) будет в 2 раза меньше, это лишь значит, что прошивка для 85 заведомо занимает менее 4кБ
Почему контроллер не прошился - другой вопрос.
Re: помогите перекомпилировать программу с attiny85 под atti
байта ....newcheb писал(а):размер hex файла = 8192бита
Посмотреть этот хекс -- мож. быть, б'ольшая часть его FF-ками заполнена, т.е. пуста.
- Engineer_Keen
- Друг Кота
- Сообщения: 3872
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: помогите перекомпилировать программу с attiny85 под atti
Судя по дизассемблеру, код кончается на 2381-ом байте флеш-пямати...
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: помогите перекомпилировать программу с attiny85 под atti
собрал под тини45, не нравится предупреждение
может заработаетmain.c:186: warning: passing argument 1 of 'usbSetInterrupt' from incompatible pointer type
- Вложения
-
- main.zip
- (2.81 КБ) 209 скачиваний
- Реклама
Re: помогите перекомпилировать программу с attiny85 под atti
oleg110592 на ваш hex ругается также.
Может что-то с программатором?Вот что выдает avrdude(gui avrdude_prog):
avrdude.exe: NOTE: FLASH memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude.exe: erasing chip
avrdude.exe: reading input file "D:\Install\USBASP\USB NES adapter code\main.hex"
avrdude.exe: input file D:\Install\USBASP\USB NES adapter code\main.hex auto detected as Intel Hex
avrdude.exe: writing flash (2354 bytes):
Writing | ################################################## | 100% 1.25s
avrdude.exe: 2354 bytes of flash written
avrdude.exe: verifying flash memory against D:\Install\USBASP\USB NES adapter code\main.hex:
avrdude.exe: load data flash data from input file D:\Install\USBASP\USB NES adapter code\main.hex:
avrdude.exe: input file D:\Install\USBASP\USB NES adapter code\main.hex auto detected as Intel Hex
avrdude.exe: input file D:\Install\USBASP\USB NES adapter code\main.hex contains 2354 bytes
avrdude.exe: reading on-chip flash data:
Reading | ################################################## | 100% 0.63s
avrdude.exe: verifying ...
avrdude.exe: verification error, first mismatch at byte 0x0000
0x5e != 0x00
avrdude.exe: verification error; content mismatch
avrdude.exe: safemode: lfuse changed! Was 62, and is now 0
Would you like this fuse to be changed back? [y/n]
Когда через gui khazama пытаюсь пишет error setting USBASP USP Clock и выдает

Я выводы программатора(китайский USBASP) напрямую соединил с контроллером miso->miso, mosi->mosi(Кварца с конденсаторами не подпаивал). Калибровочные ячейки генератора считывает(52 2С). Может что-то сделал не так?
Может что-то с программатором?Вот что выдает avrdude(gui avrdude_prog):
Спойлер
avrdude.exe: Device signature = 0x1e9206avrdude.exe: NOTE: FLASH memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude.exe: erasing chip
avrdude.exe: reading input file "D:\Install\USBASP\USB NES adapter code\main.hex"
avrdude.exe: input file D:\Install\USBASP\USB NES adapter code\main.hex auto detected as Intel Hex
avrdude.exe: writing flash (2354 bytes):
Writing | ################################################## | 100% 1.25s
avrdude.exe: 2354 bytes of flash written
avrdude.exe: verifying flash memory against D:\Install\USBASP\USB NES adapter code\main.hex:
avrdude.exe: load data flash data from input file D:\Install\USBASP\USB NES adapter code\main.hex:
avrdude.exe: input file D:\Install\USBASP\USB NES adapter code\main.hex auto detected as Intel Hex
avrdude.exe: input file D:\Install\USBASP\USB NES adapter code\main.hex contains 2354 bytes
avrdude.exe: reading on-chip flash data:
Reading | ################################################## | 100% 0.63s
avrdude.exe: verifying ...
avrdude.exe: verification error, first mismatch at byte 0x0000
0x5e != 0x00
avrdude.exe: verification error; content mismatch
avrdude.exe: safemode: lfuse changed! Was 62, and is now 0
Would you like this fuse to be changed back? [y/n]
Я выводы программатора(китайский USBASP) напрямую соединил с контроллером miso->miso, mosi->mosi(Кварца с конденсаторами не подпаивал). Калибровочные ячейки генератора считывает(52 2С). Может что-то сделал не так?
- Engineer_Keen
- Друг Кота
- Сообщения: 3872
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: помогите перекомпилировать программу с attiny85 под atti
А CLK, а RESET, а питание с контроллера на программатор?newcheb писал(а):Я выводы программатора(китайский USBASP) напрямую соединил с контроллером miso->miso, mosi->mosi(Кварца с конденсаторами не подпаивал).
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: помогите перекомпилировать программу с attiny85 под atti
на хекс не ругается "writing flash (2354 bytes)"
avrdude сигнатуру (правильная ли не знаю) видит и вроде пишет, вот верификация не проходит на первой ячейке затыкается - читает 0
я этим программатором никогда не пользовался, другие микроконтроллеры он "шьет"?
avrdude сигнатуру (правильная ли не знаю) видит и вроде пишет, вот верификация не проходит на первой ячейке затыкается - читает 0
я этим программатором никогда не пользовался, другие микроконтроллеры он "шьет"?
Re: помогите перекомпилировать программу с attiny85 под atti
Engineer_Keen, SCK, Reset, VCC и GND - все подпаяно.
Шил им attiny2313. Но уж больно странно он работает, фьюзы почему-то avrdude_prog не шьет. Хотя "eXtreme Burner - AVR" шьет и фьюзы и прошивку заливает, но "eXtreme Burner" не поддерживает attiny45. При выключении фьюза CKDIV8(увеличение частоты внутр. генератора в 8 раз) на attiny2313, не удается залить прошивку, но фьюзы все же удается перешить(хоть и не с первого раза). Khazama тоже шьет 2313, но выдает при этом error setting USBASP ISP Clock...
Если в makefile указать не тот программатор прошивка может не залиться?
Шил им attiny2313. Но уж больно странно он работает, фьюзы почему-то avrdude_prog не шьет. Хотя "eXtreme Burner - AVR" шьет и фьюзы и прошивку заливает, но "eXtreme Burner" не поддерживает attiny45. При выключении фьюза CKDIV8(увеличение частоты внутр. генератора в 8 раз) на attiny2313, не удается залить прошивку, но фьюзы все же удается перешить(хоть и не с первого раза). Khazama тоже шьет 2313, но выдает при этом error setting USBASP ISP Clock...
Если в makefile указать не тот программатор прошивка может не залиться?
Последний раз редактировалось newcheb Вт окт 08, 2013 20:42:10, всего редактировалось 1 раз.
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: помогите перекомпилировать программу с attiny85 под atti
что за программатор, прошивка свежая?
Нет ли возможности сделать этот http://radiokot.ru/forum/viewtopic.php?f=57&t=26417
На монтажке за вечер собрать можно, сам программатор прошивается по USB
Нет ли возможности сделать этот http://radiokot.ru/forum/viewtopic.php?f=57&t=26417
На монтажке за вечер собрать можно, сам программатор прошивается по USB
Re: помогите перекомпилировать программу с attiny85 под atti
Программатор был куплен 2011г. Что там за прошивка и какие они бывают я не знаю. Сделан на atmega8. В диспетчере устройств определяется как USBasp(при установке дров). Похож на этот:
http://www.ebay.com/itm/USBasp-USBISP-3 ... 4176d118d3
только вот на моем нет джампера, который, как видимо, там напряжение меняет? AT90USB162 не имеется, да и магазинов где имелось бы поблизости нет. Попробую через LTP тогда, если других вариантов нету...
http://www.ebay.com/itm/USBasp-USBISP-3 ... 4176d118d3
только вот на моем нет джампера, который, как видимо, там напряжение меняет? AT90USB162 не имеется, да и магазинов где имелось бы поблизости нет. Попробую через LTP тогда, если других вариантов нету...
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: помогите перекомпилировать программу с attiny85 под atti
почитал про USBasp http://habrahabr.ru/post/128939/
должен быть джампер для переключения скорости - может виноват он
там же полезная ссылка http://easyelectronics.ru/avr-shag-perv ... mator.html
должен быть джампер для переключения скорости - может виноват он
там же полезная ссылка http://easyelectronics.ru/avr-shag-perv ... mator.html
Re: помогите перекомпилировать программу с attiny85 под atti
Проблема в том, что в моем программаторе я не нашел нужного джампера, есть вывод под джамер, который соединяет reset у atmega8 с чем-то. Но его назначение мне не понятно, ибо если этот джампер закоротить, то программатор перестает определяться компом. Если вы правы, то тогда можно выключить фьюз CKDIV8 и частота контроллера повысится с 512кГц до 4мГц, чуть позже проверю...
Re: помогите перекомпилировать программу с attiny85 под atti
Не хочет этот программатор прошивать флеш память attiny45(фьюзы прошивает), не знаю уж, что и делать. Контакт, который отвечает за скорость прошивки подпаял на землю, программатор работать стал медленней, ошибки остались прежние:
#2: Write Flash to chip...
avrdude.exe -c usbasp -P usb -p t45 -D -q -U flash:w:dudeavr1.tmp:r
avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
avrdude.exe: AVR device initialized and ready to accept instructions
avrdude.exe: Device signature = 0x1e9206
avrdude.exe: reading input file "dudeavr1.tmp"
avrdude.exe: writing flash (0 bytes):
avrdude.exe: 0 bytes of flash written
avrdude.exe: verifying flash memory against dudeavr1.tmp:
avrdude.exe: load data flash data from input file dudeavr1.tmp:
avrdude.exe: input file dudeavr1.tmp contains 0 bytes
avrdude.exe: reading on-chip flash data:
avrdude.exe: verifying ...
avrdude.exe: 0 bytes of flash verified
avrdude.exe: safemode: Fuses OK
avrdude.exe done. Thank you.
Программатор из 5 проводков как я понял attiny45 не поддерживает...
Спойлер
оболочка (Dudeavr)#2: Write Flash to chip...
avrdude.exe -c usbasp -P usb -p t45 -D -q -U flash:w:dudeavr1.tmp:r
avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
avrdude.exe: AVR device initialized and ready to accept instructions
avrdude.exe: Device signature = 0x1e9206
avrdude.exe: reading input file "dudeavr1.tmp"
avrdude.exe: writing flash (0 bytes):
avrdude.exe: 0 bytes of flash written
avrdude.exe: verifying flash memory against dudeavr1.tmp:
avrdude.exe: load data flash data from input file dudeavr1.tmp:
avrdude.exe: input file dudeavr1.tmp contains 0 bytes
avrdude.exe: reading on-chip flash data:
avrdude.exe: verifying ...
avrdude.exe: 0 bytes of flash verified
avrdude.exe: safemode: Fuses OK
avrdude.exe done. Thank you.


