Ошибка при записи загрузчика пропущен параметр конфигурации bootloader tool

Victor

  • #1

Arduino IDE для ESP8266
ArduinoIDE.png

Новый метод установки на стандартную версию Arduino IDE 1.6.4, через Board Manager
1. Установить Arduino IDE 1.6.4 с официального сайта Arduino
2. Запустить IDE, далее Файл — Настройки — в поле «Additional Boards Manager URLs» вставить ссылку на стабильную версию [inline]http://arduino.esp8266.com/package_esp8266com_index.json[/inline], или для nightly build [inline]http://arduino.esp8266.com/staging/package_esp8266com_index.json[/inline], нажать OK
3. Инструменты — Плата — Boards Manager
4. В Boards Manager в поле фильтра введите esp8266 или вручную пролистайте список и кликните на ESP8266 by ESP8266 Community Forum
5. Кликните Install
6. Дождитесь окончания загрузки (около 130 Мегабайт)
7. Закройте Boards Manager и в меню Инструменты — Плата — Generic ESP8266
8. Установите частоту вашего модуля 80/160Mhz, размер флеш памяти и выберите порт
9. Profit!
ArduinoBoardsManager2.png
Скачать с github (Windows, Linux, Mac OS X)
Скачать исходный код
Скачать x64 Alpha с appveyor build-сервера

Инструкция по сборке Arduino IDE из исходников на разных платформах

Альтернативный метод установки на 1.6.4, предложенный Adafruit
1. Установить Arduino IDE 1.6.4 с официального сайта Arduino
2. Запустить IDE, далее Файл — Настройки — в поле «Additional Boards Manager URLs» вставить [inline]https://adafruit.github.io/arduino-board-index/package_adafruit_index.json[/inline], нажать OK
3. Инструменты — Плата — Boards Manager
4. В Boards Manager в поле фильтра введите esp8266 или вручную пролистайте список и кликните на ESP8266 by ESP8266 Community Forum
5. В появившемся поле выберите версию 1.6.2 и кликните Install
6. Дождитесь окончания загрузки (около 130 Мегабайт)
7. Закройте Boards Manager и в меню Инструменты — Плата — Generic ESP8266
8. Установите частоту вашего модуля 80/160Mhz и выберите порт
9. Profit!
ArduinoBoardsManager.png

Внимание!!!! Актуальная ссылка для Менеджера плат на github!!
[inline]http://arduino.esp8266.com/stable/package_esp8266com_index.json[/inline]

Последнее редактирование модератором: 14 Май 2018

  • #2

День добрый, в скачанном c Вашего гитхаба Arduino 1.6.1 пытаюсь скомпилировать что-либо (WebServer) — ошибка (в Win8.1/64 не указана, какая). Пытаюсь залить бутлоадер — ошибка.
В первом случае — посмотрел, какой экзешник крешится, это xtensa-lx106-elf-g++.exe
Пытаюсь запустить его отдельно — наконец-то выяснилось, чего ему нужно: libiconv-2.dll Он есть по пути arduino-1.6.1hardwaretoolsavrlibexecgccavr4.8.1, но не подтягивается.
При попытке залить бутлоадер вываливается такая ошибка: «Ошибка при загрузке бутлоадера: пропущен ‘bootloader.tool’ параметр конфигурации»
И еще, в гитхабе не работает кнопка «Clone in Desktop» — это что-то не включено, либо пока github борется с DDOS-ом, они что-то там отключили?

Victor

  • #4

Да, проблема с dll-кой, на билд сервере она почему-то перестала перекладываться в каталог с arduino.exe.
К вечеру выложу исправленный билд, пока можете скопировать вручную.

  • #5

Да, проблема с dll-кой, на билд сервере она почему-то перестала перекладываться в каталог с arduino.exe.
К вечеру выложу исправленный билд, пока можете скопировать вручную.

Да, скомпилировалось, сервер запустился. С бутлоадером ошибка осталась.

Подскажите, в этом проекте можно будет использовать область флеши, выше 512кБ? (сейчас 16МБ впаяна).

  • #6

Да, скомпилировалось, сервер запустился. С бутлоадером ошибка осталась.

Подскажите, в этом проекте можно будет использовать область флеши, выше 512кБ? (сейчас 16МБ впаяна).

А что за бутлоадер вы хотите прошить? в esp бутлоадер находится в ROM, поэтому на функцию прошивки бутлоадера я не вообще не смотрел.

в принципе можно использовать и 16mb flash. добавлю поддержку в список тасков.

  • #7

А что за бутлоадер вы хотите прошить? в esp бутлоадер находится в ROM, поэтому на функцию прошивки бутлоадера я не вообще не смотрел.

В программаторах засветился esptool, предположил по аналогии с соседним Arduino IDE ESP8266, что он может отдельно загрузчик записать. (1.2, 1.3b). По большому счету не критично, гораздо нужней там была бы функция «стереть fullflash» (забить весь объем FF-ками) очень практично, особенно в периоды испытаний.

в принципе можно использовать и 16mb flash. добавлю поддержку в список тасков.

Отлично! Думаю вполне логичным смотрится вариант, предложенный pvvx (все програмное пространство ограничить стандартными 512кБ, а остаток — отдать под файловую систему, ту же обсуждаемую spifFS, или еще какую-либо). Хотя Вам видней, как правильней организовать работу с повышенным объемом, но поддержка нужна. На 15MB можно вполне себе рюшечный интерфейс соорудить, либо данные с датчиков месяц хранить…

upd. Скетч тестового Web-сервера. В консоль до начала отработки текущей программы сыпется мусор (наверное бутлоадер согласовывается). Получается не совсем корректная отработка. Как этот мусор можно отключить?

upd2. Если в хроме зажать F5, то сервер валится, оставляя за собой в консоли:

Код:

ets Jan  8 2013,rst cause:4, boot mode:(3,7)

wdt reset
load 0x40100000, len 30000, room 16
tail 0
chksum 0x99
load 0x3ffe8000, len 2556, room 8
tail 4
chksum 0x5e
load 0x3ffe8a00, len 2340, room 4
tail 0
chksum 0x70
csum 0x70
r”0

Последнее редактирование: 28 Мар 2015

  • #8

он может отдельно загрузчик записать. (1.2, 1.3b)

Сейчас приложение собирается без загрузчика второй стадии, то есть по адресу 0x00000 идет само приложение. Вероятно, в будущем это изменится для поддержки функции заливки прошивки по воздуху, тогда понадобится запись загрузчика.

Отлично! Думаю вполне логичным смотрится вариант, предложенный pvvx (все програмное пространство ограничить стандартными 512кБ, а остаток — отдать под файловую систему, ту же обсуждаемую spifFS, или еще какую-либо). Хотя Вам видней, как правильней организовать работу с повышенным объемом, но поддержка нужна. На 15MB можно вполне себе рюшечный интерфейс соорудить, либо данные с датчиков месяц хранить…

Да, для начала нужно сделать поддержку spiffs и прицепить C-шный stdio к этой файловой системе (как это сделано в mbed, например).

upd. Скетч тестового Web-сервера. В консоль до начала отработки текущей программы сыпется мусор (наверное бутлоадер согласовывается). Получается не совсем корректная отработка. Как этот мусор можно отключить?

Вроде бы после перезагрузки бутлоадер всегда выдает лог загрузки на скорости 74800. А что именно некорректно отрабатывает из-за этого.

upd2. Если в хроме зажать F5, то сервер валится, оставляя за собой в консоли:

Принято, посмотрю.

  • #9

А что именно некорректно отрабатывает из-за этого.

Если пропадает питание и модуль висит на uart-е роутера:
В начальный момент загрузки большинство коммутаторов/роутеров с консольным входом делают таймаут в 1-2 сек, для возможности перехвата управления.
Если в консоль в этот момент пульнуть хоть что-нибудь — он остановится в ожидании дальнейших указаний.
Аналогично себя ведут многие устройства (спутниковые тюнера, планшеты, …), правда в некоторых сделано чуть лучше — они ожидают определенную последовательность.

Victor

  • #10

Если пропадает питание и модуль висит на uart-е роутера

посмотрите это

anakod

  • #11

Немного запутался с переносом веток, поэтому отпишусь здесь.

Очень инетерсный проект. то что касается переключения контекста — это просто восхитительно. Я хотел добиться решения задачи выполнения фоновых задач в Sming, и именно поэтому изначально долго присматривался к FreeRTOS. Но с нм не задалось (хотя, вполне вероятно зря, потихоньку продолжаю смотреть в ту сторону). У Вас же простое красивое и элегантное решение для главной проблемы — как заставить фоновые задачи работать корректно (и без привлечения многопоточной ОС). Я изучил код, но пока все равно, как мне кажется, еще не полностью понимаю эту ассемблерно-стековую магию, igrr, могли бы Вы рассказать поподробнее?

По возможностям здесь есть несколько плюсов и несколько минусов в сравнении с моими текущими наработками:
Плюсы

  • Просто шикарное решение по переключению котекста и выполнению фоновых задач
  • mDNS — раньше не задумывался о подобной возможности, маленький но очень приятный штрих к теме виртуальных веб серверов

Минусы/чего не хватает

  • Файловая система
  • Полноценный веб-сервер с Views и Templates (а вообще, если честно, мне кажется не совсем правильно делать всю обработку в веб сервере на String’ах, хотя бы просто по памяти)
  • HTTP клиент
  • FTP
  • SPI
  • Протестированная работа с различной периферией и готовые примеры
  • AnalogWrite (но, в Sming сейчас тоже только софтверный)
  • Обертки под системные API

Так что тут правда хорошо бы как-нибудь кооперировать наши усилия, но как? Мы зашли к решению схожих проблем с немного разных сторон, более того, изначально Sming рождался именно как идея перенести Arduino под ESP (и даже назывался NetWiring) но позже я пересмотрел концепцию, т.к. с одной стороны, понял что совместимость никогда не будет полной, а с другой, что ESP8266 намного мощнее любых Ардуино поэтому не надо пытаться загнать разработку в эти старые рамки. Поэтому например появилась полноценная файловая система а не эмулятор EEPROM (который планировался изначально), весьма мощные классы для веб сервера и т.п.

igrr, буду рад пообщаться по любым вопросам!

  • #12

Я хотел добиться решения задачи выполнения фоновых задач в Sming, и именно поэтому изначально долго присматривался к FreeRTOS. Но с нм не задалось (хотя, вполне вероятно зря, потихоньку продолжаю смотреть в ту сторону).

Я начал писать этот код до выхода версии sdk с FreeRTOS, поэтому это был единственный способ, который просматривался.
Общая идея такая. Есть функция loop_wrapper в core_esp8266_main.cpp, весь пользовательский код (т.е. setup и loop) запускается оттуда. Функция loop_task (в том же файле) — это обработчик таска, которому назначен приоритет 0. Функция loop_wrapper, а вместе с ней и пользовательский код, запускаются из этого обработчика таска. При запуске функции loop_wrapper мы смотрем, есть ли у нас сохраненный стек (т.е. было ли прервано выполнение функции loop_wrapper на предыдущем вызове таска). Если нет — сохраняем регистры, указатель на верхушку стека (SP) и указатель на инструкцию (PC) — это даст нам возможность «выпрыгнуть» из функции loop_wrapper, когда потребуется, после этого начинаем выполнять loop_wrapper. Если сохраненное состояние есть — восстанавливаем записанные SP, PC, и другие регистры, и продолжаем выполнение loop_wrapper из того места, где оно было приостановлено. Для переключения контекста есть две функции: esp_yield и esp_schedule. Первая сохраняет PC, SP, и другие регистры и «выпрыгивает» из loop_wrapper, тем самым возвращая управление системе, вторая — просто вызывает system_os_post для запуска таска при следующей возможности.
Ограничение такого подхода — можно сделать только один дополнительный контекст.

По возможностям здесь есть несколько плюсов и несколько минусов в сравнении с моими текущими наработками:

В целом согласен, я бы отнес к фичам своего проекта еще и библиотеку ESP8266WiFi, которая реализует знакомый многим API библиотеки WiFi Shield.

  • Файловая система
  • Полноценный веб-сервер с Views и Templates (а вообще, если честно, мне кажется не совсем правильно делать всю обработку в веб сервере на String’ах, хотя бы просто по памяти)
  • HTTP клиент
  • FTP
  • SPI
  • Протестированная работа с различной периферией и готовые примеры
  • AnalogWrite (но, в Sming сейчас тоже только софтверный)
  • Обертки под системные API

Да, это очень мощный функционал. Насколько я понимаю, всё это можно обернуть в библиотеки. При этом останется базовая совместимость с Arduino и совместимые API для работы с WiFi и TCP/IP, но также появится куча мощных функций. Внутри библиотек при этом можно делать все что угодно — использовать lwip напрямую, не использовать String и т.п.
Если мы сможем адаптировать ваши библиотеки (веб-сервер, http, ftp, spi, sleep modes и т.д.) для компиляции в составе Arduino, мне кажется, будет очень крутое решение.

Victor

  • #13

Мысли по поводу обновления прошивки по воздуху.
Рассматриваемый Иваном вариант

Wifi upload works as follows:
— esp modules send multicast UDP packets over wifi network.
— some tool running on the users PC receives these packets and builds a list of esp modules that are ready to receive the sketch
— the list of modules is added to the list of ports, allowing the user to select which esp module he would like to upload to
— when the user presses upload, some tool sends the sketch over TCP to the selected module

Отлично подходит для прошивки по WiFi, но не очень подходит для передачи файлов по WiFi (а когда будет реализована файловая система — этот вопрос точно возникнет). Может быть решать задачу в комплексе?

Если использовать программатор не esptool, а другую универсальную консольную утилиту, то вопрос может быть частично снят. (Выбираем в меню esptool — прошиваем через serial, выбираем другую — шьем по WiFi)

Однако я вижу еще и необходимость в утилите с интерфейсом, похожим на файловый менеджер для легкого выполнения операций на файловой системе. Это позволит быстро разрабатывать и отлаживать HTML,CSS и Javascript файлы.

Именно по этому пути я развиваю ESPlorer для NodeMCU (если помните, сначала была консольная luatool. И да, в ESPlorer по WiFi тоже планируется передача файлов). Сейчас люди используют и luatool и ESPlorer только для решения разных задач.

Victor

  • #15

Как насчёт использования FTP для заливки файлов? И не придётся писать собственные GUI тулы…

Victor

  • #16

Как насчёт использования FTP для заливки файлов? И не придётся писать собственные GUI тулы…

Вполне рабочий вариант. Желательно еще на всех модулях mDNS поднимать. Хотя с mDNS вроде в любом случае удобнее.

Victor

  • #17

igrr, получается что не нужно

the list of modules is added to the list of ports

а просто выбираем другой прошивальщик вместо esplool, который ищет доступные esp8266, выводит их где-то списком, юзер выбирает нужную и прошивка полетела по воздуху.
Как такая идея?

Если третий — это тот, который с http://arduinesp.com, то он сегодня оставил следующий комментарий (правда почему-то в багтрекере другого моего проекта, ну да ладно).

на его странице загрузки http://www.arduinesp.com/download/

Код:

Change list
0.20 – 29 March 2015 – Core replaced with esp8266.com/arduino created by Ivan Grokhotkov

  • #18

выводит их где-то списком, юзер выбирает нужную

Вообще не хотелось бы городить какие-то внешние окна выбора, когда есть уже встроенное в среду меню, для этого предназначенное.
Но возможно это разумный компромисс, пока device discovery в самой среде не будет отрефакторен для поддержки чего-то кроме Yun.
Только тогда писать этот gui нужно на чем-то кросс-платформенном, не требующем еще одного рантайма (Java, или С++wxWidgets).

Victor

  • #19

на чем-то кросс-платформенном

получается мне надо еще младшего брата ESPlorer-у запилить

Victor

  • #20

igrr, народ тут спрашивает когда можно будет GPIO0 руками не дергать — хотят точь в точь как на ардуине или UDK.
Я, честно говоря, вообще не понимаю, почему это сразу не реализовано. С этим какие-то подводные камни есть?

KvaksMan

  • #1

не надо писать жирным и красным

Загрузил Arduino ISP для Arduino nano,
Снимок экрана (18).pngпри нажатии записать загрузчик выдаёт ошибку:
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x15
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x15

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x01
avrdude: stk500_initialize(): (a) protocol error, expect=0x14, resp=0x10
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

avrdude: stk500_disable(): unknown response=0x12
Ошибка при записи загрузчика.

KvaksMan

  • #3

не надо писать жирным и красным

Сложно объяснить но попробуй зажать ресет, потом нажми записать загрузчик, а когда моргнет светодиод приёма на плате отпусти ресет, у меня была такая же проблема когда я пытался записать загрузчик optibut в nano

Теперь ошибка:
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xf9
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x15
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x15

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x01
avrdude: stk500_initialize(): (a) protocol error, expect=0x14, resp=0x10
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

avrdude: stk500_disable(): unknown response=0x12

Ошибка при записи загрузчика.

Форум РадиоКот • Просмотр темы — помоните заменить сигнатуры для прошивки

Сообщения без ответов | Активные темы

ПРЯМО СЕЙЧАС:
Автор Сообщение

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 11:33:12 

Поставщик валерьянки для Кота

Карма: 12

Рейтинг сообщений: 532

Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1978

Рейтинг сообщения: 0

Если не получится, чтобы не шить из консоли вручную, качните вот эту оболочку для программатора: https://blog.zakkemble.net/avrdudess-a-gui-for-avrdude/

Изображение

Programmer выбираете — STK500v1, Baud rate — 19200, MCU — ATmega168 (без P!), Flash — файлик с бутлоадером, EEPROM — пусто, Options — ничего не отмечено, Fuses lock bits: L — 0xFF, H — 0xDE, E — 0x04, Set fuses отмечаете галкой, Set lock НЕ ОТМЧАЕТЕ. После этого нажимаете кнопку Program!.

Добавлено after 1 minute 3 seconds:

Di123 писал(а):

Изображение

Вы немного не ту командную строку запустили, там подсказывает что нужно сделать. Перед avrdude во 2ой команде добавить .:

Код:

cd D:загрузкиPortableFLProg_7-3-1_Win64ideV6hardwaretoolsavr/bin

.avrdude -CD:загрузкиPortableFLProg_7-3-1_Win64ideV6hardwaretoolsavr/etc/avrdude.conf -v -patmega168 -cstk500v1 -PCOM3 -b19200 -e -Uefuse:w:0x4:m -Uhfuse:w:0xde:m -Ulfuse:w:0xff:m -Uflash:w:a168_16MHz_ff_de_4.hex:a

Вернуться наверх
 

ПрофильПрофиль

Реклама

Di123

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 11:51:11 

Опытный кот
Аватар пользователя

Зарегистрирован: Пт авг 05, 2016 04:47:49
Сообщений: 700

Рейтинг сообщения: 0

в командной строке не меняется путь

Изображение

а здесь так

Изображение

тоесть записалось ?

Добавлено after 9 minutes 50 seconds:
нет
ни 168 ни 168Р невоспринимает

Изображение

Вернуться наверх
Реклама

parovoZZ

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 11:52:35 

Карма: 11

Рейтинг сообщений: 114

Зарегистрирован: Пт июн 01, 2018 07:28:45
Сообщений: 1760

Рейтинг сообщения: 0

Ну он же пишет
Double check chip!

т.е. дважды проверьте чип!

Вернуться наверх

Di123

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 11:54:48 

Опытный кот
Аватар пользователя

Зарегистрирован: Пт авг 05, 2016 04:47:49
Сообщений: 700

Рейтинг сообщения: 0

Вернуться наверх
Реклама

Как выбрать батарейки для IoT-устройств – обзор эксперта

Как выбрать химические источники тока (ХИТ, батарейки) для устройств промышленного и бытового интернета вещей? В чем различие критериев выбора и ключевых параметров? Какие изделия популярных брендов FANSO и POWER FLASH удовлетворяют этим критериям?
Обо всем этом рассказывает ведущий инженер компании КОМПЭЛ по модулям питания и химическим источникам тока в статье.

Подробнее>>

parovoZZ

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 11:58:43 

Карма: 11

Рейтинг сообщений: 114

Зарегистрирован: Пт июн 01, 2018 07:28:45
Сообщений: 1760

Рейтинг сообщения: 0

Вернуться наверх
Реклама
Реклама

Выгодные LED-драйверы MOSO для индустриальных приложений

Компэл представляет выгодные светодиодные драйверы MOSO для промышленных решений с высоким классом защиты от внешних воздействующих факторов, хорошей устойчивостью к импульсным помехам и высокой надежностью. В ряде серий реализована возможность дистанционного контроля, кроме того, отдельные версии драйверов могут программироваться на работу в автономном режиме по заранее заданному сценарию. Рассмотрим подробнее их характеристики.

Подробнее>>

NStorm

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 12:00:27 

Поставщик валерьянки для Кота

Карма: 12

Рейтинг сообщений: 532

Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1978

Рейтинг сообщения: 0

Или вы меняете МК, или что-то с коннектом у вас. Раньше была такая надпись:
avrdude: Device signature = 0x1e9406 (probably m168)
Теперь такая:
avrdude: Device signature = 0x1e940b (probably m168p)

Di123, Программатор видит то ATmega168, то 168P. Ну попробуйте в проге AvrDudess MCU выбрать тогда всё-таки ATmega168P (теперь всё-таки с буквой P), для этого МК.
НЕ меняйте целевой МК, тот же, что был на прошлом скрине у вас пробуйте! Для 168 или 168A надо выбирать в настройках ATmega168, для 168P или 168PA — надо выбирать ATmega168P в настройках проги. Это чуть разные МК, файл для них один и тот же подойдет, но прошивать их нужно меняя эту настройку. Прошивальщик проверяет тип МК по сигнатуре и если она не совпадает — не будет шить. А у тех 168ых, что с буквой P — сигнатура чуть другая!

Добавлено after 1 minute 6 seconds:

Сигнатуре 1E9406 соответствует AtMega168A.

Или просто 168. Только на фото ТС на чипе маркировка ATmega168PA, где сигнатура должна быть 1E940B.

Вернуться наверх

Di123

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 12:05:28 

Опытный кот
Аватар пользователя

Зарегистрирован: Пт авг 05, 2016 04:47:49
Сообщений: 700

Рейтинг сообщения: 0

parovoZZ, в ардудес нет такого типа микросхемы
NStorm, я там два разных хекса пробовал записать 168 и 168Р мало ли прокатит

а вот замена микросхемы сделала движения
я даже видел что она что то записывала
щас попробую на работу вачдога

Изображение Изображение

Вернуться наверх

parovoZZ

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 12:09:22 

Карма: 11

Рейтинг сообщений: 114

Зарегистрирован: Пт июн 01, 2018 07:28:45
Сообщений: 1760

Рейтинг сообщения: 0

parovoZZ, в ардудес нет такого типа микросхемы

а вот замена микросхемы сделала движения
я даже видел что она что то записывала

Процедура верификации закончилась ошибкой.

Я ж уже писал на родственном форуме, что необходимо делать.

Вернуться наверх

NStorm

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 12:14:30 

Поставщик валерьянки для Кота

Карма: 12

Рейтинг сообщений: 532

Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1978

Рейтинг сообщения: 0

Di123, да не дрочите вы хексы! Сколько можно объяснять — дело НЕ В ХЕКСАХ. Дело в том, что вы пихаете один МК, а в настройках программы выставляете другой. В хексе тип мк нигде не записан. Хоть что туда прошивайте, только работать не будет. Проблема была именно в другом, сто раз написал же уже. 168 и 168PA — разные МК! Хотя хекс для них подойдет один! Но выбрать в настройках программатора нужно правильный тип мк. А вы вечно наоборот пытались.

Но теперь-то наконец-таки прошилось. Но с вотчдогом… уже сто раз в других темах объясняли.. но видимо бесполезно.

Добавлено after 1 minute 21 second:

Процедура верификации закончилась ошибкой.

Я ж уже писал на родственном форуме, что необходимо делать.

Не надо ничего делать. Это нормально. Будьте внимательны. Это верификация extended fuse’а. Там пишется одно, а читается чуть другое, потому что часть битов не пишется. Это нормально. Что 0x04, что 0xFC — пофиг.

Добавлено after 2 minutes 6 seconds:
Главное что бит BOOTSZ1 установился в 1 (2ой бит — что в 0xFC, что в 0x04 он выставлен), а BOOTSZ0 в 0. Можно во фьюзах E поменять на 0xFC чтобы ошибки не было. Но это ни на что не повлияет.

Вернуться наверх

Di123

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 12:21:07 

Опытный кот
Аватар пользователя

Зарегистрирован: Пт авг 05, 2016 04:47:49
Сообщений: 700

Рейтинг сообщения: 0

parovoZZ, я там походу замучил всех

NStorm, хорошо с хексами понял (я думал что ни разные ибо на гитхабе там подкаждую микруху с буквой они были)
как теперь залить в ИДЕ )
стандартный вариант не прокатывает с выбором 168
а залит в неё загрузчик от гитхаба то есть он нечислится в иде в боардсе

Добавлено after 2 minutes 33 seconds:
а вачдог на этой прошивке работает
человек который писал блок под него проверял что всё нормально с ним
поэтому я и хотел её в приоритете записать

Вернуться наверх

NStorm

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 12:22:46 

Поставщик валерьянки для Кота

Карма: 12

Рейтинг сообщений: 532

Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1978

Рейтинг сообщения: 0

Di123, за время этой дискуссии могли бы уже разобраться. У вас же явно пишет что шьете как atmega168, а по факту находится atmega168P. Но там проблема в том, что оно будет пытаться лок биты шить, а они не верифицируются как надо. Забейте. Зачем вам шить из IDE, если отдельно уже прошили? Это ничего не поменяет. Шейте из AVRDUdess тот хекс, что нужен и всё. IDE сделает всё тоже самое, не больше, ни меньше, если заставите её шить даже.

Вернуться наверх

Di123

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 12:28:09 

Опытный кот
Аватар пользователя

Зарегистрирован: Пт авг 05, 2016 04:47:49
Сообщений: 700

Рейтинг сообщения: 0

да я разобрался что нето выбрал потомучто он мне даже размер памяти показывает стандартный хотя там на 1,5кб больше должно быть

я имел ввиду как скеч залить теперь в него в ИДЕ нет упоминания о моём загрузчике

Добавлено after 1 minute 40 seconds:
я же в середине упоминал о том что как бы эту прошивку пристегнуть в боардс что бы хекс начал отоброжаться в списке менеджера плат

Добавлено after 1 minute 15 seconds:
щас там отоброжается мой бесполезный a168_16MHz_ff_de_4 с сайта конструктора

Вернуться наверх

NStorm

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 12:29:37 

Поставщик валерьянки для Кота

Карма: 12

Рейтинг сообщений: 532

Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1978

Рейтинг сообщения: 0

Как это нет? Должна была atmega168 (16 MHz) появиться.

Вернуться наверх

Di123

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 12:42:16 

Опытный кот
Аватар пользователя

Зарегистрирован: Пт авг 05, 2016 04:47:49
Сообщений: 700

Рейтинг сообщения: 0

вы всё правильно говорите она никуда не делась
только через неё не прошивается теперь

Код:

Arduino: 1.8.13 (Windows 10), Плата:»Arduino Pro or Pro Mini, ATmega168 (5V, 16 MHz)»

Скетч использует 1152 байт (8%) памяти устройства. Всего доступно 14336 байт.

Глобальные переменные используют 27 байт (2%) динамической памяти, оставляя 997 байт для локальных переменных. Максимум: 1024 байт.

Произошла ошибка при загрузке скетча

avrdude: Expected signature for ATmega168 is 1E 94 06

         Double check chip, or use -F to override this check.

там по памяти видно чт оона её воспринимает как со старым загрузчиком

Добавлено after 56 seconds:
Изображение

Вернуться наверх

NStorm

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 12:57:03 

Поставщик валерьянки для Кота

Карма: 12

Рейтинг сообщений: 532

Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1978

Рейтинг сообщения: 0

Di123, ну не то же выбираете! Сравните что написал я и что выбрали вы!

Добавлено after 53 seconds:
Смотреть надо не в «процессоре», а в «плата».

Добавлено after 4 minutes 5 seconds:

Цитата:

там по памяти видно чт оона её воспринимает как со старым загрузчиком

Я вам уже в 3ей вашей теме говорю — загрузчик тут не причем. Количество (показываемой и расчетной) свободной памяти жестко задается в boards.txt и всё. Вы добавили туда свою секцию с правильным свободным размером флэша, но продолжаете упорно выбирать встроенную в IDE изначально плату, а не ваш вариант.

Вернуться наверх

Di123

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 13:07:50 

Опытный кот
Аватар пользователя

Зарегистрирован: Пт авг 05, 2016 04:47:49
Сообщений: 700

Рейтинг сообщения: 0

я его тоже пробовал
пишит Ошибка при загрузке: пропущен параметр конфигурации ‘upload.tool’

хотя мы там удалили биты и переименовали 168

Добавлено after 1 minute 14 seconds:

Код:

a168_16MHz.bootloader.tool=avrdude
a168_16MHz.name=atmega168 (16 MHz)
a168_16MHz.upload.protocol=arduino
a168_16MHz.upload.maximum_size=15872
a168_16MHz.upload.speed=57600
a168_16MHz.bootloader.low_fuses=0xff
a168_16MHz.bootloader.high_fuses=0xde
a168_16MHz.bootloader.extended_fuses=0x4
a168_16MHz.bootloader.path=optiboot
a168_16MHz.bootloader.file=a168_16MHz_ff_de_4.hex
a168_16MHz.build.mcu=atmega168
a168_16MHz.build.f_cpu=16000000L
a168_16MHz.build.core=arduino
a168_16MHz.build.variant=standard

Вернуться наверх

NStorm

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 13:30:42 

Поставщик валерьянки для Кота

Карма: 12

Рейтинг сообщений: 532

Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1978

Рейтинг сообщения: 0

Добавьте строку

Код:

a168_16MHz.upload.tool=avrdude

a168_16MHz.build.mcu=atmega168 верните на 168P, раз у вас P сейчас.

Вернуться наверх

Di123

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 13:39:44 

Опытный кот
Аватар пользователя

Зарегистрирован: Пт авг 05, 2016 04:47:49
Сообщений: 700

Рейтинг сообщения: 0

ещё больше оранжевого стало

Код:

Arduino: 1.8.13 (Windows 10), Плата:»atmega168 (16 MHz)»

Warning: Board arduino:avr:a168_16MHz doesn’t define a ‘build.board’ preference. Auto-set to: AVR_A168_16MHZ

avr-g++: error: strange device name ‘atmega16xd0’ after ‘-mmcu=’: bad character ‘xd0’

exit status 1

Ошибка компиляции для платы atmega168 (16 MHz).

Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
«Показать подробный вывод во время компиляции»

Код:

a168_16MHz.upload.tool=avrdude
a168_16MHz.bootloader.tool=avrdude
a168_16MHz.name=atmega168 (16 MHz)
a168_16MHz.upload.protocol=arduino
a168_16MHz.upload.maximum_size=15872
a168_16MHz.upload.speed=57600
a168_16MHz.bootloader.low_fuses=0xff
a168_16MHz.bootloader.high_fuses=0xde
a168_16MHz.bootloader.extended_fuses=0x4
a168_16MHz.bootloader.path=optiboot
a168_16MHz.bootloader.file=a168_16MHz_ff_de_4.hex
a168_16MHz.build.mcu=atmega168Р
a168_16MHz.build.f_cpu=16000000L
a168_16MHz.build.core=arduino
a168_16MHz.build.variant=standard

Добавлено after 51 second:
неможет приоритет задать

Вернуться наверх

NStorm

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 13:43:14 

Поставщик валерьянки для Кота

Карма: 12

Рейтинг сообщений: 532

Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1978

Рейтинг сообщения: 0

Какой еще нахрен приоритет?! Вы зачем вместо латинской P написали русскую букву «Р»? Исправьте. Нет кирриллической буквы «эр» в названии мк.

Вернуться наверх

Di123

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 13:49:22 

Опытный кот
Аватар пользователя

Зарегистрирован: Пт авг 05, 2016 04:47:49
Сообщений: 700

Рейтинг сообщения: 0

затупил маленько

поправил
теперь при загрузке просто висит слово загрузка
нет завершения
а точнее после заливки загрузчика моргает блинк две вспышки в сек
и учитывая что должна идти загрузка а он продолжает моргать то значит ничего он не грузит

я пробовал залить хотя бы блинк

Добавлено after 31 second:

Код:

Произошла ошибка при загрузке скетча
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x1d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x1d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x1d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x1d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x1d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x1d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x1d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x1d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x1d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x1d

Вернуться наверх

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Контроллер ATMEGA328P-PUПлатформа Arduino стала нынче практически мейнстримом.
В этой статье напишу о том, как собрать минимальную платформу на контроллере Amega 328P-PU, чтобы ее можно было программировать на платформе Arduino IDE.

Контроллер Atmega 328 от компании ATMEL является сердцем платформ Arduino UNO , Arduino Nano, Arduino Pro Mini и ряда других. Данные платы вместе с многочисленными «шилдами» и модулями удобны для создания прототипов, но довольно громоздки и избыточны для готовых устройств.

Конечное устройство можно собрать на макетной или печатной плате. Для этого приобретаем контроллеры Atmega. Я покупал наплощадке aliexpress.com.

Цена на момент покупки была $20 за 10 контроллеров, 10 панелек и 10 кварцевых резонаторов на 16МГц. (Сейчас цена стала немного дороже)

Ссылка на товар на сайте aliexpress.com

Буковка «P» в названии микросхемы означает низкое энергопотребление, а PU-корпус DIP28, который удобно паять обычным паяльником.

Контроллеры ATMEGA328P-PU с панельками и кварцами
Контроллер ATMEGA328P-PU. Комплет

Контроллеры пришли, как их теперь готовить?

Yеобходимо установить загрузчик в наши контроллеры. Для этого используем плату Arduino Uno и купленный заранее очень дешевый программатор USBasp. Чтобы не мудрить с проводками, лучше сразу взять еще и такой переходник на 6-ти пиновый разъем ICSP.

Качаем и ставим драйвер программатора.

Описываем параметры микроконтроллера в файле c:Program Files (x86)Arduinohardwarearduinoboards.txt

Для себя я сделал две конфигурации — внутренний кварц 8МГц с загрузчиком optiboot и отключенной проверкой на напряжение питания (чтобы можно было запитать микросхему вольт так от трех)

atmega328_8_33.name=Atmega328 (3.3V, 8 MHz internal)

atmega328_8_33.upload.protocol=arduino
atmega328_8_33.upload.maximum_size=30720
#atmega328_8_33.upload.speed=19200
atmega328_8_33.upload.speed=57600

atmega328_8_33.bootloader.low_fuses=0xC2
atmega328_8_33.bootloader.low_fuses=0xE2
atmega328_8_33.bootloader.high_fuses=0xDE
atmega328_8_33.bootloader.extended_fuses=0x07
atmega328_8_33.bootloader.path=optiboot
atmega328_8_33.bootloader.file=optiboot_atmega328.hex
atmega328_8_33.bootloader.unlock_bits=0x3F
atmega328_8_33.bootloader.lock_bits=0x0F

atmega328_8_33.build.mcu=atmega328p
atmega328_8_33.build.f_cpu=8000000L
atmega328_8_33.build.core=arduino
atmega328_8_33.build.variant=standard

и точная такая же с внешним кварцевым резонатором на 16МГц.

atmega328_16.name=Atmega328_16 (3.3V, 16 MHz external)

atmega328_16.upload.protocol=arduino
atmega328_16.upload.maximum_size=32256
atmega328_16.upload.speed=115200
atmega328_16.bootloader.low_fuses=0xff
atmega328_16.bootloader.high_fuses=0xde
atmega328_16.bootloader.extended_fuses=0x07
atmega328_16.bootloader.path=optiboot
atmega328_16.bootloader.file=optiboot_atmega328.hex
atmega328_16.bootloader.unlock_bits=0x3F
atmega328_16.bootloader.lock_bits=0x0F
atmega328_16.build.mcu=atmega328p
atmega328_16.build.f_cpu=16000000L
atmega328_16.build.core=arduino
atmega328_16.build.variant=standard

Аккуратно вынимаем из панельки Arduino контроллер и ставим туда наш.

Программатор USBASP + Arduino UNO

Запускам стандартную ArduinoIDE, выбираем в меню «Сервис->Программатор->USBasp», плату Atmega328 (3.3V, 8 MHz internal) или Atmega328_16 (3.3V, 16 MHz external) и нажимаем «Записать загрузчик». После окончания процесса загрузки мы получаем контроллер,  в который можно уже в дальнейшем заливать программы через стандартный USB Ардуины.

В принципе, если вам не требуется низковольтное питание, можно не править фал board.txt, а пошить контроллер как Arduino Uno.

Дальнейшая работа с контроллером такая — либо шить его вставляя на плату Arduino Uno через стандартный USB порт этой платы. Прошив контроллер на работу с внутренним кварцем, можно сразу использовать его практически без всякой обвязки. Например, мигать светодиодом на 13-м порту, как на этой картинке.

Самодельный Arduino из контроллера ATMEGA328P-PU

Если же нужно постоянно использовать контроллер в своей плате, не переставляя его — то нужно собрать такую схему

Самодельный Arduino из контроллера ATMEGA328P-PU. Схема

и прошивать его через конвертер USB-RS232.

Контроллер с внешним кварцем работает быстрее и гораздо стабильнее.

Где это уже работает?
Контроллер управления вентилятором в ванной комнате

101

Контроллер управления светодиодной люстрой

102

А как же мозг не вскипел все это реализовывать?

Ну конечно же был помощник

Самодельный Arduino из контроллера ATMEGA328P-PU. Помощник

Полезные ссылки к данной статье:

  • Конфигурация FUSE-бит для AVR контроллеров
  • Калькулятор FUSE-бит для AVR
  • Описание Atmega 328P-PU на сайте производителя
  • Даташит Atmega 328

I am getting an error while Uploading the Bootloader to Atmega8A
I am selecting..

  Board -> Arduino NG and Older
  Processor -> Atmega8A
  Programmer -> USBasp

and sketch code is ArduinoISP, After selecting port then I do «Burn Bootloader»

But getting an error of…

   "efuse" memory type not defined for part "ATmega8"
    Error while burning bootloader. 

Please tell me what to do. Any help will be appreciated.

Thank you

asked Nov 25, 2015 at 12:39

Nik's user avatar

Google is your friend!!!
Apparently this is a known regression bug not yet corrected. The possible solution is also suggested there by user rigelinorion and here is the quote:

Hello, I solved it this way...

Open for edit the file C:Program FilesArduinohardwarearduinoavrplatforms.txt
this is standard section uploader/programmers tools

#==============================================================================
tools.avrdude.cmd.path={runtime.ide.path}/hardware/tools/avr/bin/avrdude
tools.avrdude.config.path={runtime.ide.path}/hardware/tools/avr/etc/avrdude.conf
tools.avrdude.cmd.path.linux={runtime.ide.path}/hardware/tools/avrdude
tools.avrdude.config.path.linux={runtime.ide.path}/hardware/tools/avrdude.conf

tools.avrdude.upload.params.verbose=-v -v -v -v
tools.avrdude.upload.params.quiet=-q -q
tools.avrdude.upload.pattern="{cmd.path}" "-C{config.path}" {upload.verbose} -p{build.mcu} -c{upload.protocol} -P{serial.port} -b{upload.speed} -D "-Uflash:w:{build.path}/{build.project_name}.hex:i"

tools.avrdude.program.params.verbose=-v -v -v -v
tools.avrdude.program.params.quiet=-q -q
tools.avrdude.program.pattern="{cmd.path}" "-C{config.path}" {program.verbose} -p{build.mcu} -c{protocol} {program.extra_params} "-Uflash:w:{build.path}/{build.project_name}.hex:i"

tools.avrdude.erase.params.verbose=-v -v -v -v
tools.avrdude.erase.params.quiet=-q -q
tools.avrdude.erase.pattern="{cmd.path}" "-C{config.path}" {erase.verbose} -p{build.mcu} -c{protocol} {program.extra_params} -e -Uefuse:w:{bootloader.extended_fuses}:m -Ulock:w:{bootloader.unlock_bits}:m -Uhfuse:w:{bootloader.high_fuses}:m -Ulfuse:w:{bootloader.low_fuses}:m

tools.avrdude.bootloader.params.verbose=-v -v -v -v
tools.avrdude.bootloader.params.quiet=-q -q
tools.avrdude.bootloader.pattern="{cmd.path}" "-C{config.path}" {bootloader.verbose} -p{build.mcu} -c{protocol} {program.extra_params} "-Uflash:w:{runtime.ide.path}/hardware/arduino/avr/bootloaders/{bootloader.file}:i" -Ulock:w:{bootloader.lock_bits}:m
#==============================================================================

create a new tool called, for example, avrdude1
simply copy section tools.avrdude and name it tools.avrdude1
the trick is that we remove switch "-Uefuse:w:{bootloader.extended_fuses}:m" from "tools.avrdude1.erase.pattern="

#=============================================================================
tools.avrdude1.cmd.path={runtime.ide.path}/hardware/tools/avr/bin/avrdude
tools.avrdude1.config.path={runtime.ide.path}/hardware/tools/avr/etc/avrdude.conf
tools.avrdude1.cmd.path.linux={runtime.ide.path}/hardware/tools/avrdude
tools.avrdude1.config.path.linux={runtime.ide.path}/hardware/tools/avrdude.conf

tools.avrdude1.upload.params.verbose=-v -v -v -v
tools.avrdude1.upload.params.quiet=-q -q
tools.avrdude1.upload.pattern="{cmd.path}" "-C{config.path}" {upload.verbose} -p{build.mcu} -c{upload.protocol} -P{serial.port} -b{upload.speed} -D "-Uflash:w:{build.path}/{build.project_name}.hex:i"

tools.avrdude1.program.params.verbose=-v -v -v -v
tools.avrdude1.program.params.quiet=-q -q
tools.avrdude1.program.pattern="{cmd.path}" "-C{config.path}" {program.verbose} -p{build.mcu} -c{protocol} {program.extra_params} "-Uflash:w:{build.path}/{build.project_name}.hex:i"

tools.avrdude1.erase.params.verbose=-v -v -v -v
tools.avrdude1.erase.params.quiet=-q -q

#this line was edited
tools.avrdude1.erase.pattern="{cmd.path}" "-C{config.path}" {erase.verbose} -p{build.mcu} -c{protocol} {program.extra_params} -e -Ulock:w:{bootloader.unlock_bits}:m -Uhfuse:w:{bootloader.high_fuses}:m -Ulfuse:w:{bootloader.low_fuses}:m

tools.avrdude1.bootloader.params.verbose=-v -v -v -v
tools.avrdude1.bootloader.params.quiet=-q -q
tools.avrdude1.bootloader.pattern="{cmd.path}" "-C{config.path}" {bootloader.verbose} -p{build.mcu} -c{protocol} {program.extra_params} "-Uflash:w:{runtime.ide.path}/hardware/arduino/avr/bootloaders/{bootloader.file}:i" -Ulock:w:{bootloader.lock_bits}:m
#==============================================================================

Here is an example of the use of the tool avrdude1 in boards.txt file

atmega8.name=ATmega8 OPTIBOOT
atmega8.upload.protocol=arduino
atmega8.upload.maximum_size=7168
atmega8.upload.speed=115200
atmega8.upload.tool=avrdude1
atmega8.bootloader.low_fuses=0xbf
atmega8.bootloader.high_fuses=0xCC
atmega8.bootloader.path=atmega8
atmega8.bootloader.file=optiboot/optiboot_atmega8.hex
atmega8.bootloader.unlock_bits=0x3F
atmega8.bootloader.lock_bits=0x0F
atmega8.bootloader.tool=avrdude1
atmega8.build.mcu=atmega8
atmega8.build.f_cpu=16000000L
atmega8.build.core=arduino
atmega8.build.variant=standard

answered Nov 25, 2015 at 13:10

brtiberio's user avatar

brtiberiobrtiberio

9265 silver badges15 bronze badges

4

I used Programmer «AVRUPro+» for Uploading Program. I downloaded its Software «Progisp» Then I did some few steps….

1) After downloading it, Run the Progisp.exe file.
2) Then went to Command tab, and clicked “Program Fuse”, It just did my fuse set.
3)Then I just did the simple process of burning the bootloader to my Atmega Controller.
4)After this I was able to upload my program to my new Atmega Controller.

Thank you

answered Nov 27, 2015 at 12:10

Nik's user avatar

I am getting an error while Uploading the Bootloader to Atmega8A
I am selecting..

  Board -> Arduino NG and Older
  Processor -> Atmega8A
  Programmer -> USBasp

and sketch code is ArduinoISP, After selecting port then I do «Burn Bootloader»

But getting an error of…

   "efuse" memory type not defined for part "ATmega8"
    Error while burning bootloader. 

Please tell me what to do. Any help will be appreciated.

Thank you

asked Nov 25, 2015 at 12:39

Nik's user avatar

Google is your friend!!!
Apparently this is a known regression bug not yet corrected. The possible solution is also suggested there by user rigelinorion and here is the quote:

Hello, I solved it this way...

Open for edit the file C:Program FilesArduinohardwarearduinoavrplatforms.txt
this is standard section uploader/programmers tools

#==============================================================================
tools.avrdude.cmd.path={runtime.ide.path}/hardware/tools/avr/bin/avrdude
tools.avrdude.config.path={runtime.ide.path}/hardware/tools/avr/etc/avrdude.conf
tools.avrdude.cmd.path.linux={runtime.ide.path}/hardware/tools/avrdude
tools.avrdude.config.path.linux={runtime.ide.path}/hardware/tools/avrdude.conf

tools.avrdude.upload.params.verbose=-v -v -v -v
tools.avrdude.upload.params.quiet=-q -q
tools.avrdude.upload.pattern="{cmd.path}" "-C{config.path}" {upload.verbose} -p{build.mcu} -c{upload.protocol} -P{serial.port} -b{upload.speed} -D "-Uflash:w:{build.path}/{build.project_name}.hex:i"

tools.avrdude.program.params.verbose=-v -v -v -v
tools.avrdude.program.params.quiet=-q -q
tools.avrdude.program.pattern="{cmd.path}" "-C{config.path}" {program.verbose} -p{build.mcu} -c{protocol} {program.extra_params} "-Uflash:w:{build.path}/{build.project_name}.hex:i"

tools.avrdude.erase.params.verbose=-v -v -v -v
tools.avrdude.erase.params.quiet=-q -q
tools.avrdude.erase.pattern="{cmd.path}" "-C{config.path}" {erase.verbose} -p{build.mcu} -c{protocol} {program.extra_params} -e -Uefuse:w:{bootloader.extended_fuses}:m -Ulock:w:{bootloader.unlock_bits}:m -Uhfuse:w:{bootloader.high_fuses}:m -Ulfuse:w:{bootloader.low_fuses}:m

tools.avrdude.bootloader.params.verbose=-v -v -v -v
tools.avrdude.bootloader.params.quiet=-q -q
tools.avrdude.bootloader.pattern="{cmd.path}" "-C{config.path}" {bootloader.verbose} -p{build.mcu} -c{protocol} {program.extra_params} "-Uflash:w:{runtime.ide.path}/hardware/arduino/avr/bootloaders/{bootloader.file}:i" -Ulock:w:{bootloader.lock_bits}:m
#==============================================================================

create a new tool called, for example, avrdude1
simply copy section tools.avrdude and name it tools.avrdude1
the trick is that we remove switch "-Uefuse:w:{bootloader.extended_fuses}:m" from "tools.avrdude1.erase.pattern="

#=============================================================================
tools.avrdude1.cmd.path={runtime.ide.path}/hardware/tools/avr/bin/avrdude
tools.avrdude1.config.path={runtime.ide.path}/hardware/tools/avr/etc/avrdude.conf
tools.avrdude1.cmd.path.linux={runtime.ide.path}/hardware/tools/avrdude
tools.avrdude1.config.path.linux={runtime.ide.path}/hardware/tools/avrdude.conf

tools.avrdude1.upload.params.verbose=-v -v -v -v
tools.avrdude1.upload.params.quiet=-q -q
tools.avrdude1.upload.pattern="{cmd.path}" "-C{config.path}" {upload.verbose} -p{build.mcu} -c{upload.protocol} -P{serial.port} -b{upload.speed} -D "-Uflash:w:{build.path}/{build.project_name}.hex:i"

tools.avrdude1.program.params.verbose=-v -v -v -v
tools.avrdude1.program.params.quiet=-q -q
tools.avrdude1.program.pattern="{cmd.path}" "-C{config.path}" {program.verbose} -p{build.mcu} -c{protocol} {program.extra_params} "-Uflash:w:{build.path}/{build.project_name}.hex:i"

tools.avrdude1.erase.params.verbose=-v -v -v -v
tools.avrdude1.erase.params.quiet=-q -q

#this line was edited
tools.avrdude1.erase.pattern="{cmd.path}" "-C{config.path}" {erase.verbose} -p{build.mcu} -c{protocol} {program.extra_params} -e -Ulock:w:{bootloader.unlock_bits}:m -Uhfuse:w:{bootloader.high_fuses}:m -Ulfuse:w:{bootloader.low_fuses}:m

tools.avrdude1.bootloader.params.verbose=-v -v -v -v
tools.avrdude1.bootloader.params.quiet=-q -q
tools.avrdude1.bootloader.pattern="{cmd.path}" "-C{config.path}" {bootloader.verbose} -p{build.mcu} -c{protocol} {program.extra_params} "-Uflash:w:{runtime.ide.path}/hardware/arduino/avr/bootloaders/{bootloader.file}:i" -Ulock:w:{bootloader.lock_bits}:m
#==============================================================================

Here is an example of the use of the tool avrdude1 in boards.txt file

atmega8.name=ATmega8 OPTIBOOT
atmega8.upload.protocol=arduino
atmega8.upload.maximum_size=7168
atmega8.upload.speed=115200
atmega8.upload.tool=avrdude1
atmega8.bootloader.low_fuses=0xbf
atmega8.bootloader.high_fuses=0xCC
atmega8.bootloader.path=atmega8
atmega8.bootloader.file=optiboot/optiboot_atmega8.hex
atmega8.bootloader.unlock_bits=0x3F
atmega8.bootloader.lock_bits=0x0F
atmega8.bootloader.tool=avrdude1
atmega8.build.mcu=atmega8
atmega8.build.f_cpu=16000000L
atmega8.build.core=arduino
atmega8.build.variant=standard

answered Nov 25, 2015 at 13:10

brtiberio's user avatar

brtiberiobrtiberio

9265 silver badges15 bronze badges

4

I used Programmer «AVRUPro+» for Uploading Program. I downloaded its Software «Progisp» Then I did some few steps….

1) After downloading it, Run the Progisp.exe file.
2) Then went to Command tab, and clicked “Program Fuse”, It just did my fuse set.
3)Then I just did the simple process of burning the bootloader to my Atmega Controller.
4)After this I was able to upload my program to my new Atmega Controller.

Thank you

answered Nov 27, 2015 at 12:10

Nik's user avatar

Ошибка при загрузке бутлоадера

Тема в разделе «Микроконтроллеры AVR», создана пользователем ZelGer, 13 авг 2015.


  1. ZelGer

    ZelGer
    Нерд

    Всем здравствуйте, пытаюсь прошить ATMega8-16PU но при загрузке бутлоадера пишет: «Ошибка при загрузке бутлоадера: пропущен ‘bootloader.tool’ параметр конфигурации»


    ZelGer,
    13 авг 2015

    #1


  2. Airbus

    Airbus
    Радиохулиган
    Модератор

    Как и чем шьём?Так? http://zelectro.cc/arduino_programming?page=2


    Airbus,
    16 авг 2015

    #2


  3. Airbus

    Airbus
    Радиохулиган
    Модератор

    И так http://tinyurl.com/ovjxh9a


    Airbus,
    19 авг 2015

    #3

(Вы должны войти или зарегистрироваться, чтобы ответить.)

Показать игнорируемое содержимое

Ваше имя или e-mail:
У Вас уже есть учётная запись?
  • Нет, зарегистрироваться сейчас.
  • Да, мой пароль:
  • Забыли пароль?

Запомнить меня


Амперка / Форум

  • Вики
  • Видео
  • Форум

В предыдущем посте описал, как мой Digispark сломался.

Пришлось восстанавливать Bootloader.

Исходное руководство — упоминавшийся здесь ролик https://www.youtube.com/watch?v=msq89zS3Faw

В имевшейся у меня версии Arduino IDE 1.6.12 фрагмент файла boards.txt, где описана обычная плата Digispark, имеет вид

digispark-tiny.name=Digispark (Default - 16.5mhz)
digispark-tiny.upload.using=micronucleusprog
digispark-tiny.upload.protocol=usb
digispark-tiny.upload.tool=micronucleus
digispark-tiny.upload.maximum_size=6012
digispark-tiny.build.mcu=attiny85
digispark-tiny.build.f_cpu=16500000L
digispark-tiny.build.board=AVR_DIGISPARK
digispark-tiny.build.core=tiny
digispark-tiny.build.variant=digispark
digispark-tiny.upload.wait_for_upload_port = false
digispark-tiny.upload.use_1200bps_touch = false
digispark-tiny.upload.disable_flushing = false

Как можно видеть, здесь никаких строк про low_fuses и high_fuses нету. Также здесь не упоминается файл с бутлоадером.

Как с таким файлом boards.txt шить загрузчик — совершенно не понятно.

Скачал старую версию IDE (DigisparkArduino-Win32-1.0.4-May19.zip) отсюда, распаковал в папку.

Там файл boards.txt как раз такой же, как в видео. Отредактировал его в соответствии с этой видео-инструкцией.

Было:
digispark-tiny.name=Digispark (Tiny Core)
digispark-tiny.upload.maximum_size=6012
digispark-tiny.build.mcu=attiny85
digispark-tiny.build.f_cpu=16500000L
digispark-tiny.build.core=tiny
digispark-tiny.upload.using=digispark
digispark-tiny.bootloader.low_fuses=0xf1
digispark-tiny.bootloader.high_fuses=0x5f
digispark-tiny.bootloader.extended_fuses=0xfe
digispark-tiny.bootloader.path=micronucleus
digispark-tiny.bootloader.file=micronucleus-1.06-upgrade.hex

Стало:
digispark-tiny.name=Digispark (Tiny Core)
digispark-tiny.upload.maximum_size=6012
digispark-tiny.build.mcu=attiny85
digispark-tiny.build.f_cpu=16500000L
digispark-tiny.build.core=tiny
digispark-tiny.upload.using=digispark
digispark-tiny.bootloader.low_fuses=0xe1
digispark-tiny.bootloader.high_fuses=0xdd
digispark-tiny.bootloader.extended_fuses=0xfe
digispark-tiny.bootloader.path=micronucleus
digispark-tiny.bootloader.file=micronucleus-1.06.hex

Файл с загрузчиком micronucleus-1.06.hex взял отсюда.

Залил в UNO скетч из примеров ArduinoISP.

Подключил UNO к Digispark так, как описал уважаемый Sembior.

В IDE 1.0.4 выбрал плату Digispark (Tiny Core), программатор Arduino as ISP.

Нажал Сервис — Записать загрузчик.

После этого через Arduino IDE 1.6.12 скетчи заливаются, как и раньше.

p.s. залил этим же способом бутлоадер t85_default.hex самой свежей версии отсюда, всё также работает корректно.

Форум РадиоКот • Просмотр темы — помоните заменить сигнатуры для прошивки

Сообщения без ответов | Активные темы

ПРЯМО СЕЙЧАС:

Автор Сообщение

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 11:33:12 

Поставщик валерьянки для Кота

Карма: 12

Рейтинг сообщений: 532

Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1978

Рейтинг сообщения: 0

Если не получится, чтобы не шить из консоли вручную, качните вот эту оболочку для программатора: https://blog.zakkemble.net/avrdudess-a-gui-for-avrdude/

Изображение

Programmer выбираете — STK500v1, Baud rate — 19200, MCU — ATmega168 (без P!), Flash — файлик с бутлоадером, EEPROM — пусто, Options — ничего не отмечено, Fuses lock bits: L — 0xFF, H — 0xDE, E — 0x04, Set fuses отмечаете галкой, Set lock НЕ ОТМЧАЕТЕ. После этого нажимаете кнопку Program!.

Добавлено after 1 minute 3 seconds:

Di123 писал(а):

Изображение

Вы немного не ту командную строку запустили, там подсказывает что нужно сделать. Перед avrdude во 2ой команде добавить .:

Код:

cd D:загрузкиPortableFLProg_7-3-1_Win64ideV6hardwaretoolsavr/bin

.avrdude -CD:загрузкиPortableFLProg_7-3-1_Win64ideV6hardwaretoolsavr/etc/avrdude.conf -v -patmega168 -cstk500v1 -PCOM3 -b19200 -e -Uefuse:w:0x4:m -Uhfuse:w:0xde:m -Ulfuse:w:0xff:m -Uflash:w:a168_16MHz_ff_de_4.hex:a

Вернуться наверх
 

ПрофильПрофиль

 

Реклама

Di123

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 11:51:11 

Опытный кот
Аватар пользователя

Зарегистрирован: Пт авг 05, 2016 04:47:49
Сообщений: 833

Рейтинг сообщения: 0

в командной строке не меняется путь

Изображение

а здесь так

Изображение

тоесть записалось ?

Добавлено after 9 minutes 50 seconds:
нет
ни 168 ни 168Р невоспринимает

Изображение

Вернуться наверх
Реклама

parovoZZ

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 11:52:35 

Карма: 11

Рейтинг сообщений: 114

Зарегистрирован: Пт июн 01, 2018 07:28:45
Сообщений: 1759

Рейтинг сообщения: 0

Ну он же пишет
Double check chip!

т.е. дважды проверьте чип!

Вернуться наверх

Di123

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 11:54:48 

Опытный кот
Аватар пользователя

Зарегистрирован: Пт авг 05, 2016 04:47:49
Сообщений: 833

Рейтинг сообщения: 0

Вернуться наверх

parovoZZ

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 11:58:43 

Карма: 11

Рейтинг сообщений: 114

Зарегистрирован: Пт июн 01, 2018 07:28:45
Сообщений: 1759

Рейтинг сообщения: 0

Вернуться наверх
Реклама

NStorm

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 12:00:27 

Поставщик валерьянки для Кота

Карма: 12

Рейтинг сообщений: 532

Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1978

Рейтинг сообщения: 0

Или вы меняете МК, или что-то с коннектом у вас. Раньше была такая надпись:
avrdude: Device signature = 0x1e9406 (probably m168)
Теперь такая:
avrdude: Device signature = 0x1e940b (probably m168p)

Di123, Программатор видит то ATmega168, то 168P. Ну попробуйте в проге AvrDudess MCU выбрать тогда всё-таки ATmega168P (теперь всё-таки с буквой P), для этого МК.
НЕ меняйте целевой МК, тот же, что был на прошлом скрине у вас пробуйте! Для 168 или 168A надо выбирать в настройках ATmega168, для 168P или 168PA — надо выбирать ATmega168P в настройках проги. Это чуть разные МК, файл для них один и тот же подойдет, но прошивать их нужно меняя эту настройку. Прошивальщик проверяет тип МК по сигнатуре и если она не совпадает — не будет шить. А у тех 168ых, что с буквой P — сигнатура чуть другая!

Добавлено after 1 minute 6 seconds:

Сигнатуре 1E9406 соответствует AtMega168A.

Или просто 168. Только на фото ТС на чипе маркировка ATmega168PA, где сигнатура должна быть 1E940B.

Вернуться наверх

Di123

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 12:05:28 

Опытный кот
Аватар пользователя

Зарегистрирован: Пт авг 05, 2016 04:47:49
Сообщений: 833

Рейтинг сообщения: 0

parovoZZ, в ардудес нет такого типа микросхемы
NStorm, я там два разных хекса пробовал записать 168 и 168Р мало ли прокатит

а вот замена микросхемы сделала движения
я даже видел что она что то записывала
щас попробую на работу вачдога

Изображение Изображение

Вернуться наверх

parovoZZ

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 12:09:22 

Карма: 11

Рейтинг сообщений: 114

Зарегистрирован: Пт июн 01, 2018 07:28:45
Сообщений: 1759

Рейтинг сообщения: 0

parovoZZ, в ардудес нет такого типа микросхемы

а вот замена микросхемы сделала движения
я даже видел что она что то записывала

Процедура верификации закончилась ошибкой.

Я ж уже писал на родственном форуме, что необходимо делать.

Вернуться наверх

NStorm

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 12:14:30 

Поставщик валерьянки для Кота

Карма: 12

Рейтинг сообщений: 532

Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1978

Рейтинг сообщения: 0

Di123, да не дрочите вы хексы! Сколько можно объяснять — дело НЕ В ХЕКСАХ. Дело в том, что вы пихаете один МК, а в настройках программы выставляете другой. В хексе тип мк нигде не записан. Хоть что туда прошивайте, только работать не будет. Проблема была именно в другом, сто раз написал же уже. 168 и 168PA — разные МК! Хотя хекс для них подойдет один! Но выбрать в настройках программатора нужно правильный тип мк. А вы вечно наоборот пытались.

Но теперь-то наконец-таки прошилось. Но с вотчдогом… уже сто раз в других темах объясняли.. но видимо бесполезно.

Добавлено after 1 minute 21 second:

Процедура верификации закончилась ошибкой.

Я ж уже писал на родственном форуме, что необходимо делать.

Не надо ничего делать. Это нормально. Будьте внимательны. Это верификация extended fuse’а. Там пишется одно, а читается чуть другое, потому что часть битов не пишется. Это нормально. Что 0x04, что 0xFC — пофиг.

Добавлено after 2 minutes 6 seconds:
Главное что бит BOOTSZ1 установился в 1 (2ой бит — что в 0xFC, что в 0x04 он выставлен), а BOOTSZ0 в 0. Можно во фьюзах E поменять на 0xFC чтобы ошибки не было. Но это ни на что не повлияет.

Вернуться наверх

Di123

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 12:21:07 

Опытный кот
Аватар пользователя

Зарегистрирован: Пт авг 05, 2016 04:47:49
Сообщений: 833

Рейтинг сообщения: 0

parovoZZ, я там походу замучил всех

NStorm, хорошо с хексами понял (я думал что ни разные ибо на гитхабе там подкаждую микруху с буквой они были)
как теперь залить в ИДЕ )
стандартный вариант не прокатывает с выбором 168
а залит в неё загрузчик от гитхаба то есть он нечислится в иде в боардсе

Добавлено after 2 minutes 33 seconds:
а вачдог на этой прошивке работает
человек который писал блок под него проверял что всё нормально с ним
поэтому я и хотел её в приоритете записать

Вернуться наверх

NStorm

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 12:22:46 

Поставщик валерьянки для Кота

Карма: 12

Рейтинг сообщений: 532

Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1978

Рейтинг сообщения: 0

Di123, за время этой дискуссии могли бы уже разобраться. У вас же явно пишет что шьете как atmega168, а по факту находится atmega168P. Но там проблема в том, что оно будет пытаться лок биты шить, а они не верифицируются как надо. Забейте. Зачем вам шить из IDE, если отдельно уже прошили? Это ничего не поменяет. Шейте из AVRDUdess тот хекс, что нужен и всё. IDE сделает всё тоже самое, не больше, ни меньше, если заставите её шить даже.

Вернуться наверх

Di123

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 12:28:09 

Опытный кот
Аватар пользователя

Зарегистрирован: Пт авг 05, 2016 04:47:49
Сообщений: 833

Рейтинг сообщения: 0

да я разобрался что нето выбрал потомучто он мне даже размер памяти показывает стандартный хотя там на 1,5кб больше должно быть

я имел ввиду как скеч залить теперь в него в ИДЕ нет упоминания о моём загрузчике

Добавлено after 1 minute 40 seconds:
я же в середине упоминал о том что как бы эту прошивку пристегнуть в боардс что бы хекс начал отоброжаться в списке менеджера плат

Добавлено after 1 minute 15 seconds:
щас там отоброжается мой бесполезный a168_16MHz_ff_de_4 с сайта конструктора

Вернуться наверх

NStorm

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 12:29:37 

Поставщик валерьянки для Кота

Карма: 12

Рейтинг сообщений: 532

Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1978

Рейтинг сообщения: 0

Как это нет? Должна была atmega168 (16 MHz) появиться.

Вернуться наверх

Di123

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 12:42:16 

Опытный кот
Аватар пользователя

Зарегистрирован: Пт авг 05, 2016 04:47:49
Сообщений: 833

Рейтинг сообщения: 0

вы всё правильно говорите она никуда не делась
только через неё не прошивается теперь

Код:

Arduino: 1.8.13 (Windows 10), Плата:»Arduino Pro or Pro Mini, ATmega168 (5V, 16 MHz)»

Скетч использует 1152 байт (8%) памяти устройства. Всего доступно 14336 байт.

Глобальные переменные используют 27 байт (2%) динамической памяти, оставляя 997 байт для локальных переменных. Максимум: 1024 байт.

Произошла ошибка при загрузке скетча

avrdude: Expected signature for ATmega168 is 1E 94 06

         Double check chip, or use -F to override this check.

там по памяти видно чт оона её воспринимает как со старым загрузчиком

Добавлено after 56 seconds:
Изображение

Вернуться наверх

NStorm

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 12:57:03 

Поставщик валерьянки для Кота

Карма: 12

Рейтинг сообщений: 532

Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1978

Рейтинг сообщения: 0

Di123, ну не то же выбираете! Сравните что написал я и что выбрали вы!

Добавлено after 53 seconds:
Смотреть надо не в «процессоре», а в «плата».

Добавлено after 4 minutes 5 seconds:

Цитата:

там по памяти видно чт оона её воспринимает как со старым загрузчиком

Я вам уже в 3ей вашей теме говорю — загрузчик тут не причем. Количество (показываемой и расчетной) свободной памяти жестко задается в boards.txt и всё. Вы добавили туда свою секцию с правильным свободным размером флэша, но продолжаете упорно выбирать встроенную в IDE изначально плату, а не ваш вариант.

Вернуться наверх

Di123

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 13:07:50 

Опытный кот
Аватар пользователя

Зарегистрирован: Пт авг 05, 2016 04:47:49
Сообщений: 833

Рейтинг сообщения: 0

я его тоже пробовал
пишит Ошибка при загрузке: пропущен параметр конфигурации ‘upload.tool’

хотя мы там удалили биты и переименовали 168

Добавлено after 1 minute 14 seconds:

Код:

a168_16MHz.bootloader.tool=avrdude
a168_16MHz.name=atmega168 (16 MHz)
a168_16MHz.upload.protocol=arduino
a168_16MHz.upload.maximum_size=15872
a168_16MHz.upload.speed=57600
a168_16MHz.bootloader.low_fuses=0xff
a168_16MHz.bootloader.high_fuses=0xde
a168_16MHz.bootloader.extended_fuses=0x4
a168_16MHz.bootloader.path=optiboot
a168_16MHz.bootloader.file=a168_16MHz_ff_de_4.hex
a168_16MHz.build.mcu=atmega168
a168_16MHz.build.f_cpu=16000000L
a168_16MHz.build.core=arduino
a168_16MHz.build.variant=standard

Вернуться наверх

NStorm

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 13:30:42 

Поставщик валерьянки для Кота

Карма: 12

Рейтинг сообщений: 532

Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1978

Рейтинг сообщения: 0

Добавьте строку

Код:

a168_16MHz.upload.tool=avrdude

a168_16MHz.build.mcu=atmega168 верните на 168P, раз у вас P сейчас.

Вернуться наверх

Di123

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 13:39:44 

Опытный кот
Аватар пользователя

Зарегистрирован: Пт авг 05, 2016 04:47:49
Сообщений: 833

Рейтинг сообщения: 0

ещё больше оранжевого стало

Код:

Arduino: 1.8.13 (Windows 10), Плата:»atmega168 (16 MHz)»

Warning: Board arduino:avr:a168_16MHz doesn’t define a ‘build.board’ preference. Auto-set to: AVR_A168_16MHZ

avr-g++: error: strange device name ‘atmega16xd0’ after ‘-mmcu=’: bad character ‘xd0’

exit status 1

Ошибка компиляции для платы atmega168 (16 MHz).

Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
«Показать подробный вывод во время компиляции»

Код:

a168_16MHz.upload.tool=avrdude
a168_16MHz.bootloader.tool=avrdude
a168_16MHz.name=atmega168 (16 MHz)
a168_16MHz.upload.protocol=arduino
a168_16MHz.upload.maximum_size=15872
a168_16MHz.upload.speed=57600
a168_16MHz.bootloader.low_fuses=0xff
a168_16MHz.bootloader.high_fuses=0xde
a168_16MHz.bootloader.extended_fuses=0x4
a168_16MHz.bootloader.path=optiboot
a168_16MHz.bootloader.file=a168_16MHz_ff_de_4.hex
a168_16MHz.build.mcu=atmega168Р
a168_16MHz.build.f_cpu=16000000L
a168_16MHz.build.core=arduino
a168_16MHz.build.variant=standard

Добавлено after 51 second:
неможет приоритет задать

Вернуться наверх

NStorm

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 13:43:14 

Поставщик валерьянки для Кота

Карма: 12

Рейтинг сообщений: 532

Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1978

Рейтинг сообщения: 0

Какой еще нахрен приоритет?! Вы зачем вместо латинской P написали русскую букву «Р»? Исправьте. Нет кирриллической буквы «эр» в названии мк.

Вернуться наверх

Di123

Не в сети

Заголовок сообщения: Re: помоните заменить сигнатуры для прошивки

СообщениеДобавлено: Пт янв 22, 2021 13:49:22 

Опытный кот
Аватар пользователя

Зарегистрирован: Пт авг 05, 2016 04:47:49
Сообщений: 833

Рейтинг сообщения: 0

затупил маленько

поправил
теперь при загрузке просто висит слово загрузка
нет завершения
а точнее после заливки загрузчика моргает блинк две вспышки в сек
и учитывая что должна идти загрузка а он продолжает моргать то значит ничего он не грузит

я пробовал залить хотя бы блинк

Добавлено after 31 second:

Код:

Произошла ошибка при загрузке скетча
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x1d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x1d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x1d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x1d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x1d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x1d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x1d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x1d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x1d
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x1d

Вернуться наверх

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

It would be nice if the burn bootloader function was used to flash the sdk libs, and then the upload would only have to flash the sketch, saving ~145KB on each upload.

Indeed it would be! I have attempted to implement such a feature about a month ago. Unfortunately there doesn’t seem to be an easy way to do that.
When you link the whole app together, linker determines the total amount of data that needs to go into rodata, data, and bss segments. It calculates things like _rodata_start, _rodata_end, and, most importantly, _heap_start.
_heap_start is referenced by Espressif startup code in libmain.a, because this is where heap is set up. So as you see it’s not (easily) possible to flash the libraries and then add the app — because the libraries need to know how much data the app will use.

I guess we need to find a way to patch libmain.a so that it pulls these symbols from, say, some fixed address in flash, instead of using the value defined by the linker.

Any ideas?

  • Ошибка при записи загрузчика usbasp
  • Ошибка при запуске 0х000000а
  • Ошибка при запуске 0х00000074
  • Ошибка при запуске 0х00000000
  • Ошибка при запуске 0xc0000142 скачать