Кто-нибудь смог подружить Arduino IDE и Atmega1284p?

Jaguar
Offline
Зарегистрирован: 18.02.2016
Протестировал:
 
avrdude: verifying ...
avrdude: 25926 bytes of flash verified
 
avrdude done.  Thank you.
 
Я нашел проблему. Похоже камень работает в режиме 1МГц Internal
Потому что Блинк посекундный по времени правильгно работает только в этом решиме.
 
А в режиме 16 МГц, работает по 16 секуннд на фазу.
Как мне это исправить? Перешивать fuse? Никогда этого не делал
Клапауций 232
Offline
Зарегистрирован: 05.04.2016

Jaguar пишет:

Как мне это исправить? Перешивать fuse? Никогда этого не делал

да - перешивать фьюзы на тактирование от внешнего кварцевого резонатора.

Jaguar
Offline
Зарегистрирован: 18.02.2016

Почитал калькулятор фьюзов - что-то мне кажется - сейчас я наломаю дров :(

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

найди файл boards.txt из пакета https://github.com/MCUdude/MightyCore посмотри там для своего МК параметры и прошей их

*.bootloader.low_fuses=?
*.bootloader.high_fuses=?
или тупо прошей загрузчик - зальётся загрузчик и прошьются фьюзы
Jaguar
Offline
Зарегистрирован: 18.02.2016

Вуаля! Камень работает как надо! На 16МГц!

Спасибо Клапауций!

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

тема сисек # no STK500v1 support, use the ATmega16 one осталасть нераскрыта

Jaguar
Offline
Зарегистрирован: 18.02.2016

Клапауций 232, если честно, я не понял вопроса про stk500v1, но готов потестировать для тебя, то, что посчитаешь интересным.

А так - 1284 работает замечательно со всеми моими наработками, шью проямо через уно. Еще доставлю RTC, расширение EEPROM и в произвоство. Сейчас все спаяно на макетке. Сейчас я очень рад, что связался с этим контроллером.

Хотя все равно уход на stm32 не за горами. Хотя бы в части вывода  изображений на табло.

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

Jaguar пишет:

Клапауций 232, если честно, я не понял вопроса про stk500v1, но готов потестировать для тебя, то, что посчитаешь интересным.

Клапауций 232 пишет:

в avrdude.conf в секции 

#------------------------------------------------------------
# ATmega1284P
#------------------------------------------------------------
...
# no STK500v1 support, use the ATmega16 one
...

STK500v1 - тот программатор, которым ты сейчас шьёшь.

Jaguar
Offline
Зарегистрирован: 18.02.2016

Шил, шью и буду шить :)

expertykt
Offline
Зарегистрирован: 14.10.2016

А если этот МК на плате Melzi v.3 3.0 то как надо соединять SPI к Arduino UNO?  Я соединял так: MISO - 12 UNO, SCK - 13 UNO, Reset - 10 UNO, MOSI - 11 UNO. В результате: avrdude: Expected signature for ATMEGA1284P is 1E 97 05

Подскажите пожалуйста.

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

expertykt пишет:

А если этот МК на плате Melzi v.3 3.0 то как надо соединять SPI к Arduino UNO?  Я соединял так: MISO - 12 UNO, SCK - 13 UNO, Reset - 10 UNO, MOSI - 11 UNO. В результате: avrdude: Expected signature for ATMEGA1284P is 1E 97 05

Подскажите пожалуйста.

ты тему читал? ТС так же неправильно подключил МК

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

expertykt пишет:

В результате: avrdude: Expected signature for ATMEGA1284P is 1E 97 05

Сигнатура прошиваемого микроконтроллера не совпадает с той, которая записана в конфигурационном файле boards.txt для данного микроконтроллера. У вас точно ATMEGA1284P ? В любом случае зайдите в "Файл" - "Настройки" - "Показать подробный вывод" - "Загрузка". После чего снова попытайтесь прошить МК. Когда появится эта ошибка - чуть выше будет указана та сигнатура, которая читается. Напишите её сюда.

Клапауций 232 пишет:

ты тему читал? ТС так же неправильно подключил МК

Ух ты ж ёпрст... Я тоже не глянул в начало темы.
Хм, оказывается даже такое бывает...

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

Jeka_M пишет:

Ух ты ж ёпрст... Я тоже не глянул в начало темы. Хм, оказывается даже такое бывает...

отож.

Jaguar
Offline
Зарегистрирован: 18.02.2016

А вот с cp2102 (USB->UART) подружить не получается.

Может потому что 20МГц разогнал? По идее никак не должно влиять. Но про-мини шил,а напрямую atmegu не могу :(

Jaguar
Offline
Зарегистрирован: 18.02.2016

Ни ручные ресеты МК не помогают, ни через кондер, как в статьях советуют. 

Jaguar
Offline
Зарегистрирован: 18.02.2016

При этом не удается только прошивать. А читать в ком-порт отлично можно.
То есть, если прошить через arduino uno (ну или любым другим способом) какой-нибудь скетч с командой Serial.println("Hello world"), то компьютер отлично видит все эти передачи в порт.

Так почему не шьется? Идеи есть? Я в свое время так шил про-мини

Штирлиц
Штирлиц аватар
Offline
Зарегистрирован: 13.06.2015

Jaguar пишет:

При этом не удается только прошивать. А читать в ком-порт отлично можно.
То есть, если прошить через arduino uno (ну или любым другим способом) какой-нибудь скетч с командой Serial.println("Hello world"), то компьютер отлично видит все эти передачи в порт.

Так почему не шьется? Идеи есть? Я в свое время так шил про-мини

В посту 27 я так и писал - есть проблемы с загрузкой скетчей через serial. Первый раз скетч загружался .Второй (или третий)- клинил в процесе загрузки и ничего не помогало( перезапуск ИДЕ с отключением USB провода). Только перезапуск Винды.Но лично мне оно и не надо . Я загружал скетчи через пункт"Скетч>Загрузить через програматор".

В старой ИДЕ 1.0.1 с ядром Sanguino таких проблем не было . Загрузка через сериал работала корректно.

expertykt
Offline
Зарегистрирован: 14.10.2016

Клапауций 232 пишет:

ты тему читал? ТС так же неправильно подключил МК

Уважаемый!

Я по жизни экономист, купил ребенку 3D принтер на ДР и никак не предполагал что придется разбираться в программировании МК. Поэтому все буквы в ваших постах мне знакомы, но ни одного слова понять не могу. 

Надеюсь на Вашу доброту и терпение, до ДР мало времени осталось и надо успеть запустить принтер. 

История полностью:

пару раз принтер включился нормально, потом слетела прошивка. 

Прошивку Marlin дал продавец, но я так понял он сам ничего не понимает и инструкцию дать мне не смог никакую.

Marlin на последней IDE не компилируется, как использовать в IDE готовый HEX я не нашел.

Пробовал шить Marlin через юсб Sanguino на разных версиях IDE 1.0.1, 1.0.2, 1.0.5, 1.0.6 и последней. Продавец сказал что нужна 1.0.2. 

Везде был результат not sync.

Blink заливать не пробовал.

Подключил Arduino NANO к Melzi по схеме отсюда.

И по этой же схеме (последовательность действий) успешно прошил загрузчик в IDE 1.6.12 (последней).

После этого там же в IDE 1.6.12 отключил NANO и прямо через юсб успешно залил скетч Blink.

Как упоминал выше, на IDE 1.6.12 не компилируется Marlin, поэтому вновь безрезультатно пытался шить его на всех версиях IDE прямо в юсб без NANO.

Затем нашел загрузчик ATmegaBOOT_1284P.hex, который по CRC64 совпадает с Mighty 1284P.

Загрузчиком Mighty заменил тот что был в IDE 1.0.6 и прошил его через NANO. Здесь же в 1.0.6 успешно прошил Blink в юсб без NANO. Marlin прошивается в юсб без NANO, но не проходит верификацию. Так же и на 1.0.2 и 1.0.1.

Теперь пытаюсь шить Marlin через NANO. Использование подключения NANO к Melzi, которое работало (вроде бы) при прошивке загрузчика дает ошибку сигнатуры.

Пожалуйста подскажите правильное подключение NANO к Melzi для прошивки Marlin в виде номеров пинов NANO и названий пинов Melzi, потому что по-другому я не пойму. Картинку с подключениями ног МК я не понимаю как применить к пинам NANO и Melzi.

Спасибо!

expertykt
Offline
Зарегистрирован: 14.10.2016

Штирлиц пишет:

 Я загружал скетчи через пункт"Скетч>Загрузить через програматор".

Держитесь за стул. Я не знал, что с NANO нужен этот пункт и нажимал просто "Загрузить".

Кстати, он находится "Файл > Загрузить через програматор".

Так что получилось. С той же самой схемой подключения.

Принтер ожил.

Спасибо!

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Jaguar пишет:
Так почему не шьется? Идеи есть?

Есть - там нет загрузчика. Поскольку CP2102 это не программатор, а всего лишь USB-UART преобразователь - он не может загружать прошивку, если в МК нет загрузчика. В купленном МК изначально нет загрузчика. Прошивается загрузчик из Arduino IDE. Также, если загрузчик всё таки был, но потом МК прошили с помощью программатора - то загрузчик стирается, и его надо прошить заново.

Штирлиц
Штирлиц аватар
Offline
Зарегистрирован: 13.06.2015

expertykt пишет:

Кстати, он находится "Файл > Загрузить через програматор".

Так что получилось. С той же самой схемой подключения.

В ранних версиях ИДЕ -"Файл > Загрузить через програматор",

в более новых ИДЕ-  "Скетч > Загрузить через програматор"

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

expertykt пишет:

Я по жизни экономист, купил ребенку 3D принтер на ДР и никак не предполагал что придется разбираться в программировании МК. Поэтому все буквы в ваших постах мне знакомы, но ни одного слова понять не могу. 

ок. я по жизни радиомонтажник - я покупаю ребёнку дуино.

почему ты-экономист не купил ребёнку маленький банк, что бы не предполагать странного?

спасибо за понимание.

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

я кого просил читать тему с самого начала?

expertykt пишет:

Штирлиц пишет:

 Я загружал скетчи через пункт"Скетч>Загрузить через програматор".

Держитесь за стул. Я не знал, что с NANO нужен этот пункт и нажимал просто "Загрузить".

Кстати, он находится "Файл > Загрузить через програматор".

Так что получилось. С той же самой схемой подключения.

Принтер ожил.

Спасибо!

Клапауций 232 пишет:

вдогонку - надеюсь, жмёшь кнопку "загрузить через программатор".

Jaguar пишет:

ЭЭЭЭЭээээ ... нет..... просто шью :) 

Jaguar пишет:

Семен семеныч.... какой же я тупой :)

Jaguar
Offline
Зарегистрирован: 18.02.2016

Jeka, а вроде я где-то читал, что существует опция прошивки с включение загрузчика .... Вот только где читал и как включается эта опция - не помню

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

Jaguar пишет:

Jeka, а вроде я где-то читал, что существует опция прошивки с включение загрузчика .... Вот только где читал и как включается эта опция - не помню

просто: подключи программатор, нажми "Записать загрузчик", отключи программатор, скетчи заливай кнопкой "Загрузка".

всё.

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Jaguar пишет:

Jeka, а вроде я где-то читал, что существует опция прошивки с включение загрузчика .... Вот только где читал и как включается эта опция - не помню

Вроде... где-то...

В Ардуино (микроконтроллер AVR) нет опции включения или отключения загрузчкиа. Вы либо шьёте программаторм (при этом загрузчик затирается однозначно), либо загружаете через USB-UART преобразователь, предварительно прошив загрузчик прогармматором (делается один раз). Другого не дано.

Это в STM32 есть такая возможность. Там загрузчик жёстко зашит в микроконтроллер с завода и его невозможно стереть. Включается притягиванием ножки BOOT0 к питанию, а ножки BOOT1 к земле. В AVR этого нет.

Jaguar
Offline
Зарегистрирован: 18.02.2016

Да, наверное в stm32. Я собираюсь освоить эти контроллеры, как технологию, ща которой будущее , но пока не могу себе позволить тратить время на написание библиотек для stm32. Там их очень мало, лишь базовые. Причем для некоторых задач stm32 избыточны. И возни с их настройках не стоят. Но я уже закупился stm32 и по завершению большого проекта на avr начну егопеедкдывать под stm32

Jaguar
Offline
Зарегистрирован: 18.02.2016

Спсибо, Jeka! Действительно, главное не перепрошивать по SPI после записи загрузчика. Теперь все работает

expertykt
Offline
Зарегистрирован: 14.10.2016

Клапауций 232 пишет:

почему ты-экономист не купил ребёнку маленький банк

Наверное это тема для другого форума, но если коротко - банк тоже пробовал, но стараюсь дать попробовать больше, чтобы проще ему было искать себя. 

Клапауций 232 пишет:

я кого просил читать тему с самого начала?

С третьего раза понял, не так уж плохо для пятого десятка.

expertykt
Offline
Зарегистрирован: 14.10.2016

Клапауций 232 пишет:

просто: подключи программатор, нажми "Записать загрузчик", отключи программатор, скетчи заливай кнопкой "Загрузка".

При таком порядке у меня короткий скетч Blink заливается, а большая прошивка Marlin не верифицируется.

Если Marlin шить через программатор, проходит успешно, экран принтера показывает меню и кнопками можно гулять по меню. При следующем включении снова мертвый принтер.

Как можно это победить? Разные скорости пробовал в настройке драйвера вместе с настройкой в boards.txt.

Правильно ли я загрузчик шью? Порядок следующий:

1)  в Arduino IDE удаляю все загрузчики;

2) из папки Standart от Mighty копирую все файлы в папку bootloaders в Arduino IDE;

вот эти

3) подключаю Melzi к Arduino NANO 

pin 1 MISO (Melzi) on pin 12 (Arduino) 

pin 3 SCK (Melzi) on pin 13 (Arduino) 

pin 5 Reset(Melzi) on pin 10 (Arduino) 

pin 4 MOSI (Melzi) on pin 11 (Arduino)

4) сверяю скорость порта (драйвер) настройкам в IDE ;

5) на Melzi внимания не обращаю, потому что сейчас он только для питания;

6) выбираю плату Sanguino 1284P 16MHz;

7) выбираю порт 7 Arduino NANO;

8) выбираю программатор Arduino as ISP;

9) проверяю установленный джампер Reset;

10) выбираю "Загрузить загрузчик";

11) наблюдаю ошибку "не найден файл загрузчика";

12) переименовываю ATmegaBOOT_1284P.hex на то, что не нашел IDE;

13) снова выбираю "Загрузить загрузчик";

14) наблюдаю бегущие огни на дорожке диодов Arduino NANO;

15) получаю завершение прошивки загрузчика без ошибок;

16) отключаю Arduino NANO от Melzi ;

17) проверяю соответствие скорости порта 5 тому что указано в boards.txt;

18) выбираю порт 5 Melzi (драйвер 2011 года);

19) открываю прошивку Marlin;

20) выбираю "Загрузить" (не ч/з программатор);

21) получаю ошибку верификации.

Пробовал на разных скоростях, работает на 57600 и 115200, на других not sync.

После такой загрузке загрузчика получается загрузить на Melzi ч/з юсб скетч Blink, мигает раз в секунду.

При загрузке Marlin ч/з Arduino NANO получаю живой экран принтера и переключение меню кнопками принтера.

Что неправильно делаю?

Jaguar
Offline
Зарегистрирован: 18.02.2016

expertykt, многое я делал не так. И у меня заливался скетч 29 Кб успешно.

Но главное - на плохо собранной схеме с наводками (длинные провода, плохой монтаж), верификация у меня проходила через раз.
Перепаял по человечески макет - ошибок нет.

Если не пайка, начни со следующего:

1. В итоге файл boards.txt трогать не надо.

2. Устанавливай библиотеку не вручную копируя, а IDE (Инфтрументы->Плата)

У меня заработало все как часы только после пункта 2. Ручная инсталляция давала кривой результат. И причем - в сети куча кривых драйверов 1284p. Я нашел прямые не сразу. Но ссылку могу только дома посмотреть.
Разогнал успешно камень даже на внешний 20МГц 5В при первой же прошивке без всяких начальных закгрузок через внутренние осциляторы контроллера.

expertykt
Offline
Зарегистрирован: 14.10.2016

Jaguar пишет:

Но главное - на плохо собранной схеме с наводками (длинные провода, плохой монтаж), верификация у меня проходила через раз.

Перепаял по человечески макет - ошибок нет.

Использовал проводки мама-мама из набора Ардуино вот такие. Что паять надо совсем не понимаю, объясните пожалуйста.

Jaguar пишет:

2. Устанавливай библиотеку не вручную копируя, а IDE (Инфтрументы->Плата)

В таком случае Вы использовали загрузчик "optiboot" с платами bobuino и maniacbug, а не загрузчик "standart"?

Jaguar пишет:

 И причем - в сети куча кривых драйверов 1284p. Я нашел прямые не сразу. Но ссылку могу только дома посмотреть.

Будьте добры, посмотрите пожалуйста.

Jaguar
Offline
Зарегистрирован: 18.02.2016

Я  предпочитаю работать в таком стиле. Только поменял привычку на использование smd компонентов. Ну и контроллеры в кроватки ставлю . Только подобные макеты жизнеспособны для опытно-промышленных тестов

Jaguar
Offline
Зарегистрирован: 18.02.2016

Голый чип, шью стандартной уной. Вывел на штыри линии spi. В новых проектах вывожу еще под переходник usb-uart tx-rx. Spi шью теперь первый раз для бутлоадера . Промышленные вещи выполняю в smd 0805 + tqpf. Uart необходим для трассировки и чтении по serial результатов программы на компе

Jaguar
Offline
Зарегистрирован: 18.02.2016

Голый чип, шью стандартной уной. Вывел на штыри линии spi. В новых проектах вывожу еще под переходник usb-uart tx-rx. Spi шью теперь первый раз для бутлоадера . Промышленные вещи выполняю в smd 0805 + tqpf

expertykt
Offline
Зарегистрирован: 14.10.2016

Все чудесатее и чудесатее.

Присланная продавцом прошивка Marlin нормально заливалась ч/з программатор и давала признаки жизни (но без загрузчика смысла в этом нет). Эта же прошивка без ошибок загружается по юсб с загрузчиком maniacbug от Mighty, но в результате мертвый принтер. Другие же прошивки с левыми настройками для других принтеров также заливаются без ошибок по юсб, и принтер оживает, и подключается к компу, и управляется с него (с поправкой на левые настройки). 

Jaguar пишет:

Голый чип, шью стандартной уной. 

В папке Mighty лежат два загрузчика: "standart" и "optiboot". Как я понимаю, optiboot получен в результате переделки standart. Standart  в настройках Mighty вообще не используется, как я понял. Вы какую плату выбираете в IDE, дайте скрин по-возможности.

Jaguar
Offline
Зарегистрирован: 18.02.2016

У тебя принтер на 1284 построен? :)))))))))

expertykt
Offline
Зарегистрирован: 14.10.2016

Jaguar пишет:

У тебя принтер на 1284 построен? :)))))))))

На МК написано 1284P и продавец сказал что плата Sanguino 1284P.

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

для тестинга сервиса изготовления ПП заказывал платки с китая

http://arduino.ru/forum/obshchii/interesnoe-na-aliexpress-i-ebay?page=114#comment-333577

долго лежали, сегодня руки дошли, распаял

через дудку с USBAPS-оп прошил оптибут и фьюзы, подоткнул USB-UART, зашил блинк и под пиво налаждался от лога ардуино IDE

Скетч использует 2820 байт (2%) памяти устройства. Всего доступно 130048 байт.
Глобальные переменные используют 200 байт (1%) динамической памяти, оставляя 16184 байт для локальных переменных. Максимум: 16384 байт.

есть 5 платок, в Москве отдам желающим (самовыоз).

Andrey12
Andrey12 аватар
Offline
Зарегистрирован: 26.12.2014

xDriver пишет:

есть 5 платок, в Москве отдам желающим (самовыоз).

А можно мне одну платку? Не поздно? Меняю на пиво! Откуда вывозить? 

контакты можно сюда - ask_mail собака на майл ру

 

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

ответил на почту.

Andrey12
Andrey12 аватар
Offline
Зарегистрирован: 26.12.2014

xDriver пишет:

ответил на почту.

Спасибо огромное, спаял, прошил, лежит мигает блинком :-)

medsport
Offline
Зарегистрирован: 01.11.2018

подскажите, пожалуйста, как вы фьэзы выставляли? (если не сложно, то можно скриншот фьюз)

avrdude V3.3 использовали?

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

для arduino ide есть примочка

https://github.com/MCUdude/MightyCore

Andrey12
Andrey12 аватар
Offline
Зарегистрирован: 26.12.2014

Valera19701 пишет:

для arduino ide есть примочка

https://github.com/MCUdude/MightyCore

Этой примочкой и пользуюсь.

medsport пишет:

подскажите, пожалуйста, как вы фьэзы выставляли? (если не сложно, то можно скриншот фьюз)

avrdude V3.3 использовали?

Прошил через USBASP загрузчик в плату из Arduino IDE, поэтому скришота фьюзов нет, а потом нормально уже подключается через USB-UART.