Arduino ISP

Тема в разделе "Arduino & Shields", создана пользователем SSnick, 23 дек 2014.

  1. SSnick

    SSnick Гик

    Пытаюсь залить скетч в тиньку13 через ардуино, подключение такое http://habrastorage.org/files/010/b15/fa1/010b15fa175f46b180a51372c2a222f0.png

    Почему не компилируется скетч из примеров - Arduino ISP ???? и выдает просто килограммы ошибок:

    ArduinoISP.ino: In function 'void setup()':
    ArduinoISP:69: error: 'Serial' was not declared in this scope
    ArduinoISP.ino: In function 'void loop()':
    ArduinoISP:126: error: 'Serial' was not declared in this scope
    ArduinoISP.ino: In function 'uint8_t getch()':
    ArduinoISP:132: error: 'Serial' was not declared in this scope
    ArduinoISP:133: error: 'Serial' was not declared in this scope
    ArduinoISP.ino: In function 'void spi_init()':
    ArduinoISP:159: error: 'SPCR' was not declared in this scope
    ArduinoISP:160: error: 'SPSR' was not declared in this scope
    ArduinoISP:161: error: 'SPDR' was not declared in this scope
    ArduinoISP.ino: In function 'void spi_wait()':
    ArduinoISP:167: error: 'SPSR' was not declared in this scope
    ArduinoISP:167: error: 'SPIF' was not declared in this scope
    ArduinoISP.ino: In function 'uint8_t spi_send(uint8_t)':
    ArduinoISP:172: error: 'SPDR' was not declared in this scope
    ArduinoISP.ino: In function 'void empty_reply()':
    ArduinoISP:189: error: 'Serial' was not declared in this scope
    ArduinoISP:194: error: 'Serial' was not declared in this scope
    ArduinoISP.ino: In function 'void breply(uint8_t)':
    ArduinoISP:200: error: 'Serial' was not declared in this scope
    ArduinoISP:206: error: 'Serial' was not declared in this scope
    ArduinoISP.ino: In function 'void start_pmode()':
    ArduinoISP:257: error: 'SS' was not declared in this scope
    ArduinoISP:259: error: 'SCK' was not declared in this scope
    ArduinoISP:264: error: 'MISO' was not declared in this scope
    ArduinoISP:265: error: 'MOSI' was not declared in this scope
    ArduinoISP.ino: In function 'void end_pmode()':
    ArduinoISP:271: error: 'MISO' was not declared in this scope
    ArduinoISP:272: error: 'MOSI' was not declared in this scope
    ArduinoISP:273: error: 'SCK' was not declared in this scope
    ArduinoISP:274: error: 'SS' was not declared in this scope
    ArduinoISP.ino: In function 'void write_flash(int)':
    ArduinoISP:315: error: 'Serial' was not declared in this scope
    ArduinoISP:320: error: 'Serial' was not declared in this scope
    ArduinoISP.ino: In function 'void program_page()':
    ArduinoISP:387: error: 'Serial' was not declared in this scope
    ArduinoISP:392: error: 'Serial' was not declared in this scope
    ArduinoISP:396: error: 'Serial' was not declared in this scope
    ArduinoISP.ino: In function 'char flash_read_page(int)':
    ArduinoISP:410: error: 'Serial' was not declared in this scope
    ArduinoISP.ino: In function 'char eeprom_read_page(int)':
    ArduinoISP:424: error: 'Serial' was not declared in this scope
    ArduinoISP.ino: In function 'void read_page()':
    ArduinoISP:436: error: 'Serial' was not declared in this scope
    ArduinoISP:439: error: 'Serial' was not declared in this scope
    ArduinoISP.ino: In function 'void read_signature()':
    ArduinoISP:449: error: 'Serial' was not declared in this scope
    ArduinoISP:452: error: 'Serial' was not declared in this scope
    ArduinoISP.ino: In function 'int avrisp()':
    ArduinoISP:477: error: 'Serial' was not declared in this scope
    ArduinoISP:540: error: 'Serial' was not declared in this scope
     
  2. а ардуина правильная выбрана?
     
  3. SSnick

    SSnick Гик

    выбрана плата тини13, в hardware закинул ядро тини 13, программатор - arduino as ISP,
    причем если выбрать плату уно, то все нормально компилируется... косяк в ядре тини13?
    допустим загрузил уно этим скетчем, потом выбрал тини13 и прошиваю скетчем Blink, то IDE выдает ошибку avrdude: stk500_getsync(): not in sync: resp=0x00
     
  4. Unixon

    Unixon Оракул Модератор

    Вы что, пытаетесь скетч Arduino ISP прошить в ATtiny13 ? Судя по ошибкам компиляции...

    Алгоритм:
    1) выбираем плату Uno;
    2) компилируем и прошиваем скетч Arduino ISP;
    3) выбираем плату Tiny;
    4) компилируем и прошиваем скетч Blink;

    У вас проблема в шаге (2) - не проходит компиляция скетча, превращающего Uno в программатор.
     
    Последнее редактирование: 23 дек 2014
    SSnick и 9xA59kK нравится это.
  5. 9xA59kK

    9xA59kK Гик

    Согласен с Unixon . Просто хотел добавить, вывод в Serial порт не будет работать , поэтому в скетче строки с портом надо удалить.
    Я пробовал прошивать "tiny" они отлично прошиваются , даже ради эксперимента собрал пару схем для проверки работы SLEEP MODe и WATCH DOG. Отлично работают и прошиваются через ардуину. Ссылка для примера прошивки tiny http://habrahabr.ru/post/234477/
     
  6. SSnick

    SSnick Гик

    Я понял Вас, но я просто уже всяко пытался. Я понимаю уже, что скетч ISP нужен для уно. В этом случае УНО прошивается, но тини всеравно не прошивается тем же Блинком, причем IDE сообщает (как я сказал):
    avrdude: stk500_getsync(): not in sync: resp=0x00
    Done uploading

    а кто знает, что означает данная ошибка?
    avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny13

    что за беда?
     
  7. может надо выбрать, загрузить с помощью программатора?
     
  8. SSnick

    SSnick Гик

    В общем проблему решил, не знаю надолго или нет.
    Решилась она также непонятна как и началась... проделав несколько раз к ряду одну и туже операцию - прошивка уно isp, перетыканием проводов в ТЕЖЕ самые дырки, загрузка блинка (пин для светодиода был верно прописан, в соответствии с подключенным физически) и все заморгало
    ...
    Всем спасибо кто откликнулся
     
    Последнее редактирование: 23 дек 2014
  9. SSnick

    SSnick Гик

    Чтобы не создавать новую тему, напишу тут же.
    Проблема в следующем.
    То ли вышла новая версия ide. То ли причина в том, что я удалил прошлые файлы прошивки ядра Tiny, а новые, которые вставляю в hardware не подходят. В общем таким способом не получается прошить скетч в Tiny13.

    Сообщение при компиляции

    Сообщение при прошивке



    Если кто пользуется таким способом для прошивки Tiny и прошивка проходит у вас отлично без ошибок, не могли бы Вы сказать, а лучше выложить:
    1. файлы ядра прошивки Tiny
    2. написать версию вашей ардуино ide
     
  10. SSnick

    SSnick Гик

    уж не знаю, что там нужно для УНО, мытарства продолжаются, пробовал 5-6 версий IDE, и аналогичное кол-во версий файлов ядер для тини....
     
  11. SSnick

    SSnick Гик

    а это почему?...
     
  12. SSnick

    SSnick Гик

    Причем это все на стадии компиляции и выбранной плате Attiny13, так что я думаю, что в подключении проблем быть не может. В общем задал вопрос на arduino.cc
     
  13. SSnick

    SSnick Гик

    !!!!!!!!!
    СПАСИБО!
    Заработало, но не сразу. В Readme написано, что версия 1.0.5, ее и поставил, с актуальной на данный момент 1.5.8 не заработало.

    и вот еще ... а если вдруг мне в будущем надо будет прошивать таким способом тини45,85,2313... мне на каждый мк прийдется вот такие файлы искать днями? или есть какой то универсальный вариант? =(
     
    Последнее редактирование: 3 янв 2015
  14. там в boards.txt, надо не заменить, а добавить к содержимому.

    актуальная сейчас 1,0,6. на тот момент была 1,0,5.
    а как оно там с беттами дружит, незнаю, сам на эту тини13 времени убил уйму.
     
  15. SSnick

    SSnick Гик

    верно, так и сделал и основные платы появились в списке. спасибо

    а как насчет других тинь? 45, 85 и 2313? или вы их не программировали данным способом?
     
  16. танцы с бубном только у тини13, остальное работает с первого раза, даже мега32 с загрузчиком
     
    SSnick нравится это.
  17. SSnick

    SSnick Гик

    ну ты просто мой спаситесь, низкий поклон!
     
  18. Daniil

    Daniil Гуру

    Почитайте тут(автор тот же)
    http://habrahabr.ru/post/247329/
    Программа sinaprog, только мне в папке ports.txt понадобилось добавить свой com порт. Там есть тини45 и т.п.
    hex-файлы можно доставать из arduino ide.
     
  19. SSnick

    SSnick Гик

    спасибо, ты настоящий друг