Залить в Arduino HEX

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
Dr. Alex
Это не хвост, это антенна
Сообщения: 1438
Зарегистрирован: Вт окт 28, 2008 09:00:18
Откуда: Украина, Харьков
Контактная информация:

Залить в Arduino HEX

Сообщение Dr. Alex »

Всем доброго дня! У меня валяется парочку Ардуин: Arduino Uno, Arduino NANO. У обоих из них atmega328. Мне интересно, как можно залить нормальный HEX-файл? И возможно-ли потом вернуть всё как было?
Читал на разных сайтах, как-то там вскользь написано. Хотелось-бы услышать мнение людей, которые уже это делали. Хотя и запороть не страшно, стоит копейки у китайцев)))))
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Реклама
Vov123
Опытный кот
Сообщения: 804
Зарегистрирован: Чт мар 12, 2009 16:31:05

Re: Залить в Arduino HEX

Сообщение Vov123 »

Заливай, кто-ж не даёт? В последних версиях CVAVR (3.10-3.12) специально есть такая функция (Upload to Arduino).
Кстати, усыпил mega8 в асинхронном режиме?
Реклама
Аватара пользователя
vem566
Друг Кота
Сообщения: 4732
Зарегистрирован: Вс янв 24, 2010 13:14:02
Откуда: Омск

Re: Залить в Arduino HEX

Сообщение vem566 »

Кроме встроенного в CVAVR модуля есть самостоятельные программы типа XLoader или UpLoader. Сделаны на основе дудки. Не гробят встроенный загрузчик.
Аватара пользователя
Dr. Alex
Это не хвост, это антенна
Сообщения: 1438
Зарегистрирован: Вт окт 28, 2008 09:00:18
Откуда: Украина, Харьков
Контактная информация:

Re: Залить в Arduino HEX

Сообщение Dr. Alex »

Vov123 писал(а):Кстати, усыпил mega8 в асинхронном режиме?
Нет)))))
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Dr. Alex
Это не хвост, это антенна
Сообщения: 1438
Зарегистрирован: Вт окт 28, 2008 09:00:18
Откуда: Украина, Харьков
Контактная информация:

Re: Залить в Arduino HEX

Сообщение Dr. Alex »

А с AVR Studio 4 залить можно? Ну или SinaProg?
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Реклама
Аватара пользователя
Dr. Alex
Это не хвост, это антенна
Сообщения: 1438
Зарегистрирован: Вт окт 28, 2008 09:00:18
Откуда: Украина, Харьков
Контактная информация:

Re: Залить в Arduino HEX

Сообщение Dr. Alex »

vem566 писал(а):...есть самостоятельные программы типа XLoader или UpLoader. Сделаны на основе дудки. Не гробят встроенный загрузчик.
Кстати да, нашел статью на GetChip
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Реклама
Аватара пользователя
Jeka_M
Встал на лапы
Сообщения: 101
Зарегистрирован: Пт окт 03, 2014 14:50:06

Re: Залить в Arduino HEX

Сообщение Jeka_M »

Dr. Alex писал(а):А с AVR Studio 4 залить можно? Ну или SinaProg?
Конечно можно, а почему Вы засомневались? Ардуино - это тупо распаянный на плате AVR с обвязкой.
Dr. Alex писал(а):Мне интересно, как можно залить нормальный HEX-файл?
HEX-файл для Ардуино не отличается от HEX-файла для AVR, почему читай выше.
Dr. Alex писал(а): И возможно-ли потом вернуть всё как было?
Вернуть что? Единственное отличие платформы Ардуино от голого AVR - наличие загрузчика в МК. Он нужен только для того, чтобы загружать прошивку через USB (USB-UART преобразователь на плате). Если есть программатор - оно нафиг не нужно. А если вдруг понадобится, то загрузчик прошивается в один клик из Arduinо IDE.
Dr. Alex писал(а): Читал на разных сайтах, как-то там вскользь написано. Хотелось-бы услышать мнение людей, которые уже это делали. Хотя и запороть не страшно, стоит копейки у китайцев)))))
Ну я это делал. Прошивайте на здоровье, ничего Вы не запорите.
Аватара пользователя
Dr. Alex
Это не хвост, это антенна
Сообщения: 1438
Зарегистрирован: Вт окт 28, 2008 09:00:18
Откуда: Украина, Харьков
Контактная информация:

Re: Залить в Arduino HEX

Сообщение Dr. Alex »

Понятно, что Ардуино это МК с обвязкой) А как быть со Фьюзами?
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Аватара пользователя
Jeka_M
Встал на лапы
Сообщения: 101
Зарегистрирован: Пт окт 03, 2014 14:50:06

Re: Залить в Arduino HEX

Сообщение Jeka_M »

Через программатор можете ставить такие фьюзы, какие Вам нужны в данный момент. Потом, если будет надо, в Arduino IDE через пункт меню "Записать загрузчик" - автоматически прошиваются ардуиновсике фьюзы и загрузчик. А если нет программатора, но есть вторая ардуина - в неё можно загрузить скетч Arduino ISP (эмулятор программатора) - и прошивать ней как обычным программатором.
Vov123
Опытный кот
Сообщения: 804
Зарегистрирован: Чт мар 12, 2009 16:31:05

Re: Залить в Arduino HEX

Сообщение Vov123 »

Про фьюзы прикольно рассуждаете, как-будто кварцы собрались на платке менять.
К тому-же платка с IDE рассчитана на 16МГц
Последний раз редактировалось Vov123 Вс сен 25, 2016 13:36:20, всего редактировалось 1 раз.
Аватара пользователя
Jeka_M
Встал на лапы
Сообщения: 101
Зарегистрирован: Пт окт 03, 2014 14:50:06

Re: Залить в Arduino HEX

Сообщение Jeka_M »

А может надо будет затактировать от внутреннего осциллятора на малой частоте. Ну и во фьюзах не только тактирование настраивается.
К тому-же платка с IDE рассчитана на 16МГц
Топикстартёр написал, что хочет использовать AVR Studio 4, там частоту МК можно указать любую через F_CPU. Да и в Arduino IDE можно при желании поменять.
Последний раз редактировалось Jeka_M Вс сен 25, 2016 13:45:39, всего редактировалось 5 раз.
Аватара пользователя
Dr. Alex
Это не хвост, это антенна
Сообщения: 1438
Зарегистрирован: Вт окт 28, 2008 09:00:18
Откуда: Украина, Харьков
Контактная информация:

Re: Залить в Arduino HEX

Сообщение Dr. Alex »

Ну вы интересные! А что, фьюзами только КВАРЦ выставляется?????
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
veso74
Поставщик валерьянки для Кота
Сообщения: 1907
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: Залить в Arduino HEX

Сообщение veso74 »

Открываем файл: Arduino\hardware\arduino\avr\boards.txt (у меня (XP) в C:\Program Files\)

Примерно для UNO:

uno.bootloader.low_fuses=0xFF
uno.bootloader.high_fuses=0xDE
uno.bootloader.extended_fuses=0x05
...
uno.build.mcu=atmega328p
uno.build.f_cpu=16000000L
uno.build.board=AVR_UNO
uno.build.core=arduino
uno.build.variant=standard

но как Jeka_M написал, если компилируете программа с помощи Arduino IDE (через "Записать загрузчик"), ручной ввод фьюзы не нужен.

В папки проекта будет 2 файла: Примерно

Blink.ino.standard.hex и Blink.ino.with_bootloader.standard.hex
Vov123
Опытный кот
Сообщения: 804
Зарегистрирован: Чт мар 12, 2009 16:31:05

Re: Залить в Arduino HEX

Сообщение Vov123 »

Dr. Alex писал(а):Ну вы интересные! А что, фьюзами только КВАРЦ выставляется?????
А ещё подачу пряников и лимонада! :shock:
Аватара пользователя
Dr. Alex
Это не хвост, это антенна
Сообщения: 1438
Зарегистрирован: Вт окт 28, 2008 09:00:18
Откуда: Украина, Харьков
Контактная информация:

Re: Залить в Arduino HEX

Сообщение Dr. Alex »

Ага, и гарячий шоколад с моккачино)
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Аватара пользователя
Jeka_M
Встал на лапы
Сообщения: 101
Зарегистрирован: Пт окт 03, 2014 14:50:06

Re: Залить в Arduino HEX

Сообщение Jeka_M »

Vov123 писал(а):
Dr. Alex писал(а):Ну вы интересные! А что, фьюзами только КВАРЦ выставляется?????
А ещё подачу пряников и лимонада! :shock:
Из того, что может ещё пригодиться:
1) CKOUT - Использовать PORTB0 как выход тактового генератора
2) EESAVE - Не стирать EEPROM при выполнении команды "Стереть Кристалл"
3) WDTON - Включить сторожевой таймер
4) BODLEVEL - Brown-out Detection, система контроля питания.

Ну и если отказываемся от загрузчика, надо бы убрать фьюз BOOTRST (После сброса начинать работу с сектора загрузки).
Аватара пользователя
Dr. Alex
Это не хвост, это антенна
Сообщения: 1438
Зарегистрирован: Вт окт 28, 2008 09:00:18
Откуда: Украина, Харьков
Контактная информация:

Re: Залить в Arduino HEX

Сообщение Dr. Alex »

Jeka_M писал(а):Ну и если отказываемся от загрузчика, надо бы убрать фьюз BOOTRST
Вооооот, а потом восстановить можно?
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Аватара пользователя
Jeka_M
Встал на лапы
Сообщения: 101
Зарегистрирован: Пт окт 03, 2014 14:50:06

Re: Залить в Arduino HEX

Сообщение Jeka_M »

Можно. Опять же: либо вручную, либо "автоматически" через запись загрузчика из Arduino IDE. Это обычный фьюз, от других не отличается.
Vov123
Опытный кот
Сообщения: 804
Зарегистрирован: Чт мар 12, 2009 16:31:05

Re: Залить в Arduino HEX

Сообщение Vov123 »

В сухом остатке и получается, что фьюзы можно и не трогать вообще, и забыть о них.
Чтобы использовать вывод PORTB, опять же придётся проводить изменения в плате, другие изменения в обычной практике используются редко.
Аватара пользователя
Dr. Alex
Это не хвост, это антенна
Сообщения: 1438
Зарегистрирован: Вт окт 28, 2008 09:00:18
Откуда: Украина, Харьков
Контактная информация:

Re: Залить в Arduino HEX

Сообщение Dr. Alex »

а по умолчанию деление частоты на 8 отключено?
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Ответить

Вернуться в «AVR»