Прикол с сигнатурой контроллера

Ардуинщики всех стран - объединяйтесь! В этом форуме, конечно.
Ответить
С.Н.
Потрогал лапой паяльник
Сообщения: 307
Зарегистрирован: Пн окт 26, 2020 08:37:51
Откуда: г.Волгоград

Прикол с сигнатурой контроллера

Сообщение С.Н. »

Вот с такой проблемкой столкнулся.

В работе над проектом всегда использовал платки Arduino Nano c МК atmega328p. Работа в командной строке или с недавних пор в среде Arduino IDE. Платки сразу перешивал Optiboot. Проблем не было от слова "совсем".
Теперь решился добавить поддержку МК atmega48/88/168. Последние 2 поддерживают начальный загрузчик.
Купил на Алике всё, что надо для экспериментов. Плату Arduino Nano на МК atmega168p прошил Optiboot. В системе Arduino IDE выбрал МК atmega168 (atmega168p не было почему то). Компиляция прошла, а запись в чип повисла.

Вернулся в режим командной строки. И вот что заметил -
1. При работе с программатором USB ISP всё работает как надо. И шьются и читается. Сигнатура чипа корректная - 0x1E940B.
Изображение

2. При работе через загрузчик получаем некорректное значение сигнатуры - 0x1E9406. Поэтому и Arduino IDE теряется наверное.
avrdude.exe -v -p m168p -c arduino -P COM4 -b 115200 -D -U flash:w:"main.hex":i
Изображение
и пока процессор m168p не заменить на m168 или ключик -F не добавить - ничего не получается.

Логика подсказывает, что если проблема в "лыжах" , то это Optiboot шалит или avrdude. Я не прав? И самое интересное, как Arduino IDE всё это объяснить?
ФУОЗ на платформе Ардуино: https://radiokot.ru/forum/viewtopic.php ... 6#p4366626
ВК - "ФУОЗ на микроконтроллере Atmega328P (МПСЗ)"
Реклама
Bruzzer
Родился
Сообщения: 1
Зарегистрирован: Вс сен 05, 2021 10:30:19

Re: Прикол с сигнатурой контроллера

Сообщение Bruzzer »

При прошивке через загрузчик, загрузчик передает на ПК не реальную сигнатуру, а ту, которую вы записали при прошивке загрузчика. Вы прошивали как 168 поэтому загрузчик и представляется как 168.
При прошивке через ISP вы получаете реальную сигнатуру.
Реклама
OKF
Это не хвост, это антенна
Сообщения: 1405
Зарегистрирован: Вт июн 07, 2011 08:03:18

Re: Прикол с сигнатурой контроллера

Сообщение OKF »

Потому что в IDE нет 168p! Добавьте секцию в boards.txt, либо измените сигнатуру в 168 секции. Либо -F добавляйте, как вы добавляете, только это не очень.)
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15583
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Прикол с сигнатурой контроллера

Сообщение BOB51 »

В базовом наборе "по умолчанию" 168я есть для платок ардуино-нано, про-мини и "NG or older".
Но там используется "старый" бутлоадер (есть в составе IDE).
Для АВРок "с буковками"(Р,РА,РВ) нужно добавить в IDE платформы(платы) от MCUdude (MinyCore) или
DIY Atmega8/88/48/168/328.
Вместе с теми платформами будут загружены и соответствующие версии бутлоадеров и комплектов фузе бит (для проршивки через внешний ISP программатор при выполнении "инструменты -> записать загрузчик").
Строчки для менеджера плат (файл - настройки - дополнительные настройки для менеджера плат):

Код: Выделить всё

https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json
и

Код: Выделить всё

https://raw.githubusercontent.com/sleemanj/optiboot/master/dists/package_gogo_diy_atmega8_series_index.json
8)
Реклама
Эиком - электронные компоненты и радиодетали
С.Н.
Потрогал лапой паяльник
Сообщения: 307
Зарегистрирован: Пн окт 26, 2020 08:37:51
Откуда: г.Волгоград

Re: Прикол с сигнатурой контроллера

Сообщение С.Н. »

[uquote="BOB51",url="/forum/viewtopic.php?p=4365550#p4365550"]....[/uquote]
Да нашел я всё это, кроме встроенного 168 - еще раз погляжу для интереса.
С подключенным MinyCore к Arduino IDE последняя не стала компилировать программу. В программе заморочка с вызовом функции по указателю. Возвращаю Arduino Nano на процессоре 328p - пожалуйста вам компиляция. Разбираться не стал.
В итоге "забил" на использование Arduino IDE в своей задаче на процессоре ниже чем 328p, тем более что размер кода большеват получается. В 168 еще туда-сюда еще, в 88 с ограничениями, а в 48 - только без канала связи UART. Возвращаюсь на асм! Там все работает, главное в фьюзах не ошибиться.
ФУОЗ на платформе Ардуино: https://radiokot.ru/forum/viewtopic.php ... 6#p4366626
ВК - "ФУОЗ на микроконтроллере Atmega328P (МПСЗ)"
Реклама
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15583
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Прикол с сигнатурой контроллера

Сообщение BOB51 »

Для "иных" АВРок следует учитывать их особенности.
Размеры ПЗУ/ОЗУ и аппаратной начинки.
Дополнительно особенностями являются как бутлоадер, так и набор фузов для каждой конкретной модификации платформы (их авторы платформ добавляют в инсталляторы для последующей интеграции в IDE).
8)
Реклама
Ответить

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