Залить в Arduino HEX
- Dr. Alex
- Это не хвост, это антенна
- Сообщения: 1438
- Зарегистрирован: Вт окт 28, 2008 09:00:18
- Откуда: Украина, Харьков
- Контактная информация:
Залить в Arduino HEX
Всем доброго дня! У меня валяется парочку Ардуин: Arduino Uno, Arduino NANO. У обоих из них atmega328. Мне интересно, как можно залить нормальный HEX-файл? И возможно-ли потом вернуть всё как было?
Читал на разных сайтах, как-то там вскользь написано. Хотелось-бы услышать мнение людей, которые уже это делали. Хотя и запороть не страшно, стоит копейки у китайцев)))))
Читал на разных сайтах, как-то там вскользь написано. Хотелось-бы услышать мнение людей, которые уже это делали. Хотя и запороть не страшно, стоит копейки у китайцев)))))
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
- Реклама
Re: Залить в Arduino HEX
Заливай, кто-ж не даёт? В последних версиях CVAVR (3.10-3.12) специально есть такая функция (Upload to Arduino).
Кстати, усыпил mega8 в асинхронном режиме?
Кстати, усыпил mega8 в асинхронном режиме?
Re: Залить в Arduino HEX
Кроме встроенного в CVAVR модуля есть самостоятельные программы типа XLoader или UpLoader. Сделаны на основе дудки. Не гробят встроенный загрузчик.
- Dr. Alex
- Это не хвост, это антенна
- Сообщения: 1438
- Зарегистрирован: Вт окт 28, 2008 09:00:18
- Откуда: Украина, Харьков
- Контактная информация:
Re: Залить в Arduino HEX
Нет)))))Vov123 писал(а):Кстати, усыпил mega8 в асинхронном режиме?
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
- Dr. Alex
- Это не хвост, это антенна
- Сообщения: 1438
- Зарегистрирован: Вт окт 28, 2008 09:00:18
- Откуда: Украина, Харьков
- Контактная информация:
Re: Залить в Arduino HEX
А с AVR Studio 4 залить можно? Ну или SinaProg?
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
- Реклама
- Dr. Alex
- Это не хвост, это антенна
- Сообщения: 1438
- Зарегистрирован: Вт окт 28, 2008 09:00:18
- Откуда: Украина, Харьков
- Контактная информация:
Re: Залить в Arduino HEX
Кстати да, нашел статью на GetChipvem566 писал(а):...есть самостоятельные программы типа XLoader или UpLoader. Сделаны на основе дудки. Не гробят встроенный загрузчик.
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Re: Залить в Arduino HEX
Конечно можно, а почему Вы засомневались? Ардуино - это тупо распаянный на плате AVR с обвязкой.Dr. Alex писал(а):А с AVR Studio 4 залить можно? Ну или SinaProg?
HEX-файл для Ардуино не отличается от HEX-файла для AVR, почему читай выше.Dr. Alex писал(а):Мне интересно, как можно залить нормальный HEX-файл?
Вернуть что? Единственное отличие платформы Ардуино от голого AVR - наличие загрузчика в МК. Он нужен только для того, чтобы загружать прошивку через USB (USB-UART преобразователь на плате). Если есть программатор - оно нафиг не нужно. А если вдруг понадобится, то загрузчик прошивается в один клик из Arduinо IDE.Dr. Alex писал(а): И возможно-ли потом вернуть всё как было?
Ну я это делал. Прошивайте на здоровье, ничего Вы не запорите.Dr. Alex писал(а): Читал на разных сайтах, как-то там вскользь написано. Хотелось-бы услышать мнение людей, которые уже это делали. Хотя и запороть не страшно, стоит копейки у китайцев)))))
- Dr. Alex
- Это не хвост, это антенна
- Сообщения: 1438
- Зарегистрирован: Вт окт 28, 2008 09:00:18
- Откуда: Украина, Харьков
- Контактная информация:
Re: Залить в Arduino HEX
Понятно, что Ардуино это МК с обвязкой) А как быть со Фьюзами?
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Re: Залить в Arduino HEX
Через программатор можете ставить такие фьюзы, какие Вам нужны в данный момент. Потом, если будет надо, в Arduino IDE через пункт меню "Записать загрузчик" - автоматически прошиваются ардуиновсике фьюзы и загрузчик. А если нет программатора, но есть вторая ардуина - в неё можно загрузить скетч Arduino ISP (эмулятор программатора) - и прошивать ней как обычным программатором.
Re: Залить в Arduino HEX
Про фьюзы прикольно рассуждаете, как-будто кварцы собрались на платке менять.
К тому-же платка с IDE рассчитана на 16МГц
К тому-же платка с IDE рассчитана на 16МГц
Последний раз редактировалось Vov123 Вс сен 25, 2016 13:36:20, всего редактировалось 1 раз.
Re: Залить в Arduino HEX
А может надо будет затактировать от внутреннего осциллятора на малой частоте. Ну и во фьюзах не только тактирование настраивается.
Топикстартёр написал, что хочет использовать AVR Studio 4, там частоту МК можно указать любую через F_CPU. Да и в Arduino IDE можно при желании поменять.К тому-же платка с IDE рассчитана на 16МГц
Последний раз редактировалось Jeka_M Вс сен 25, 2016 13:45:39, всего редактировалось 5 раз.
- Dr. Alex
- Это не хвост, это антенна
- Сообщения: 1438
- Зарегистрирован: Вт окт 28, 2008 09:00:18
- Откуда: Украина, Харьков
- Контактная информация:
Re: Залить в Arduino HEX
Ну вы интересные! А что, фьюзами только КВАРЦ выставляется?????
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
-
veso74
- Поставщик валерьянки для Кота
- Сообщения: 1907
- Зарегистрирован: Сб май 05, 2012 20:24:52
- Откуда: KN34PC, Болгария
- Контактная информация:
Re: Залить в Arduino HEX
Открываем файл: 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
Примерно для 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
Re: Залить в Arduino HEX
А ещё подачу пряников и лимонада!Dr. Alex писал(а):Ну вы интересные! А что, фьюзами только КВАРЦ выставляется?????
- Dr. Alex
- Это не хвост, это антенна
- Сообщения: 1438
- Зарегистрирован: Вт окт 28, 2008 09:00:18
- Откуда: Украина, Харьков
- Контактная информация:
Re: Залить в Arduino HEX
Ага, и гарячий шоколад с моккачино)
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Re: Залить в Arduino HEX
Из того, что может ещё пригодиться:Vov123 писал(а):А ещё подачу пряников и лимонада!Dr. Alex писал(а):Ну вы интересные! А что, фьюзами только КВАРЦ выставляется?????
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
Вооооот, а потом восстановить можно?Jeka_M писал(а):Ну и если отказываемся от загрузчика, надо бы убрать фьюз BOOTRST
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Re: Залить в Arduino HEX
Можно. Опять же: либо вручную, либо "автоматически" через запись загрузчика из Arduino IDE. Это обычный фьюз, от других не отличается.
Re: Залить в Arduino HEX
В сухом остатке и получается, что фьюзы можно и не трогать вообще, и забыть о них.
Чтобы использовать вывод PORTB, опять же придётся проводить изменения в плате, другие изменения в обычной практике используются редко.
Чтобы использовать вывод PORTB, опять же придётся проводить изменения в плате, другие изменения в обычной практике используются редко.
- Dr. Alex
- Это не хвост, это антенна
- Сообщения: 1438
- Зарегистрирован: Вт окт 28, 2008 09:00:18
- Откуда: Украина, Харьков
- Контактная информация:
Re: Залить в Arduino HEX
а по умолчанию деление частоты на 8 отключено?
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...


