ATmega128 как прошить

Обсуждаем контроллеры компании Atmel.
roman.com
Друг Кота
Сообщения: 9147
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: ATmega128 как прошить

Сообщение roman.com »

[uquote="chobra",url="/forum/viewtopic.php?p=4804882#p4804882"]Не пойму, как же тогда еепром верифицируется, если он "стёрся при прошивке"?[/uquote]
очень просто))
как проходит верификация ?

-сначала программатор записывает программу в память.
-потом программатор читает программу из памяти и сравниваем с исходником.
-если записанная программа в памяти совпадает с исходником то программатор выдаёт сообщение "верификация прошла успешно".

-при прошивке МК EEPROM стирается (записывается FFFFFF...).
-потом программатор читает EEPROM (FFFFFF...) и сравниваем с исходником (FFFFFF...).
-если записанное в EEPROM (FFFFFF...) совпадает с исходником (FFFFFF...) то программатор выдаёт сообщение "верификация прошла успешно".
:tea:
codenamehawk
Вымогатель припоя
Сообщения: 528
Зарегистрирован: Вт фев 09, 2010 17:52:26

Re: ATmega128 как прошить

Сообщение codenamehawk »

chobra писал(а): Я по его совету впаял атмегу в плату, включаю и... о чудо! - "Привет!
Похоже что кондерчики не подощли или кварц. На плате на сколько стоит?

Так как там насчет озу, сняли?

Пока ничего не обновляйте, если заработает то и не надо будет обновлять.
Когда вы нажали прошить все еепром тоже прошилась, после отключили стирание и она не будет меняться до следующей прошивки еепром. Если руки снова зачешутся перепрошить, то надо один раз стереть флешь и еепром и потом все прошить. Это вам надо?
Если выбрали Verify, то вы правильно описали, что она сравнивает данные из еепром с данными в выбранном файле.
codenamehawk
Вымогатель припоя
Сообщения: 528
Зарегистрирован: Вт фев 09, 2010 17:52:26

Re: ATmega128 как прошить

Сообщение codenamehawk »

[uquote="VNS",url="/forum/viewtopic.php?p=4801613#p4801613"]VCC - на любой вывод (они все соединены внутри корпуса); AVCC - на этот вывод питание можно не подавать для программирования.[/uquote]
Проверил на пустой плате, ваша информация верная, программируется и без подключенного AVCC, а если есть кварц с конденсаторами, то работает и от кварца.
akl
Друг Кота
Сообщения: 4444
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: ATmega128 как прошить

Сообщение akl »

AVCC is the supply voltage pin for Port F and the A/D Converter. It should be externally con-
nected to VCC, even if the ADC is not used. If the ADC is used, it should be connected to VCC
through a low-pass filter.
Сопротивление между VCC AVCC порядка ~40 Ом.
Аватара пользователя
chobra
Встал на лапы
Сообщения: 80
Зарегистрирован: Пн фев 16, 2015 16:07:04
Откуда: Волоколамск

Re: ATmega128 как прошить

Сообщение chobra »

[uquote="roman.com",url="/forum/viewtopic.php?p=4804904#p4804904"]-при прошивке МК EEPROM стирается.
-потом программатор читает EEPROM и сравниваем с исходником.[/uquote]
А-а, понял. Стирается EEPROM, имеющийся на МК.
Записывается мой из подставленного файла, потом верификация с этим файлом.
akl
Друг Кота
Сообщения: 4444
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: ATmega128 как прошить

Сообщение akl »

Если запрограммируете бит EESAVE, то встроенная EEPROM стираться программатором не будет.
Аватара пользователя
chobra
Встал на лапы
Сообщения: 80
Зарегистрирован: Пн фев 16, 2015 16:07:04
Откуда: Волоколамск

Re: ATmega128 как прошить

Сообщение chobra »

[uquote="codenamehawk",url="/forum/viewtopic.php?p=4804916#p4804916"]Похоже что кондерчики не подощли или кварц. На плате на сколько стоит?
Так как там насчет озу, сняли?[/uquote]
На большой плате конденсаторы неизвестного номинала. Так как тестер у меня недорогой и сильно врёт, может даже путает порядок. Я поступил просто: что тестер показал, такое я с помощью его же подыскал и впаял.
- кварц на плате 14.7456 МГц, я нашёл для маленькой платки 14.318 МГц.
ОЗУ снимать не стал, считаю, что там всё в норме, раз при снятой Атмеге все ноги у триггера и ОЗУ стали звониться ровненько, без особенностей. Результаты прозвонки выложил выше.

Добавлено after 1 minute 18 seconds:
[uquote="akl",url="/forum/viewtopic.php?p=4805466#p4805466"]Если запрограммируете бит EESAVE, то встроенная EEPROM стираться программатором не будет.[/uquote]
Ох, упаси меня Бог что-то там менять в битах! Жутко боюсь навредить ))

Добавлено after 4 minutes 54 seconds:
Я постараюсь попозже отписаться - точно ли всё получилось удачно. Сейчас нет возможности проверить непосредственно на котле, он в 40 км от нас, и когда мы туда поедем неизвестно...

Добавлено after 21 minute 11 seconds:
Есть ещё проблема: нужно в прибор запихнуть настройки для котла. Он ведь немногим умнее кирпича. Знает, что он SMH2010, что у него столько-то входов и выходов; а для чего он - совсем не знает.
Тот, что сейчас стоит на котле, при включении сразу, без всякого приветствия, выдаёт меню температур, давлений и т.д.
А наши (исправная и отремонтированная платы) - только меню тестирования. Тестируются кнопки, входа, выхода, индикатор... Больше ничего в них нет, надо будет прошивать.
Мы с шефом думаем взять с собой ноут, и прямо на месте сдуть с работающего котла настройки в файл, и прописать в наш контроллер. Попробуем...
akl
Друг Кота
Сообщения: 4444
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: ATmega128 как прошить

Сообщение akl »

А файл .eep, который давал не пробовали загружать?
Аватара пользователя
chobra
Встал на лапы
Сообщения: 80
Зарегистрирован: Пн фев 16, 2015 16:07:04
Откуда: Волоколамск

Re: ATmega128 как прошить

Сообщение chobra »

akl писал(а): Ср апр 08, 2026 14:36:46 А файл .eep, который давал не пробовали загружать?
Добрый день!
Пробовал. Я выше вроде писал что получилось в итоге - то же самое приветствие и меню тестирования, но с "проглоченными" буквами.
Пробовал совмещать ваш еепром с другими флешами - ничего толкового не вышло. В каких-то случаях после прошивки на дисплее ничего нет, он просто светится и всё. В лучшем случае после прошивки на дисплее видна информация о версии ядра, но ничего другого добиться нельзя, на кнопки прибор не отзывается.
Последний раз редактировалось chobra Чт апр 30, 2026 14:55:03, всего редактировалось 1 раз.
Аватара пользователя
chobra
Встал на лапы
Сообщения: 80
Зарегистрирован: Пн фев 16, 2015 16:07:04
Откуда: Волоколамск

Re: ATmega128 как прошить

Сообщение chobra »

Что-то случилось с перепиской после технических работ, я так понял, по обновлению интерфейса. В предыдущих диалогах цитаты перестали выглядеть цитатами и вплелись в текст ответов, несмотря на служебные символы типа [/uquote] и т.п.
Некоторые вложения исчезли. А те, что не исчезли, перестали открываться в новой вкладке. Смайлики перекочевали направо... Ну да ладно, привыкнем :)
Аватара пользователя
chobra
Встал на лапы
Сообщения: 80
Зарегистрирован: Пн фев 16, 2015 16:07:04
Откуда: Волоколамск

Re: ATmega128 как прошить

Сообщение chobra »

Куда делись мои темы? После обновления список моих тем исчез из профиля. Для того, чтоб попасть сюда, мне приходится искать тему, будто она чужая.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15552
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: ATmega128 как прошить

Сообщение BOB51 »

Сайт малость пострадал (смотри сообщение на главной странице).
Сейчас постепенно восстанавливается, но часто непривычно...
Слева вверху кнопка "ссылки" - выбираем то, что интересует из выпадающего списка.
8)
codenamehawk
Вымогатель припоя
Сообщения: 528
Зарегистрирован: Вт фев 09, 2010 17:52:26

Re: ATmega128 как прошить

Сообщение codenamehawk »

И где нынче воз находиться.
Аватара пользователя
chobra
Встал на лапы
Сообщения: 80
Зарегистрирован: Пн фев 16, 2015 16:07:04
Откуда: Волоколамск

Re: ATmega128 как прошить

Сообщение chobra »

Воз застрял на месте. Начальник с опаской относится к моей идее съездить в котельную и попробовать "содрать" программу с имеющихся там исправных контроллеров, чтоб залить в отремонтированный. На кону стоят его кровные 8 т.р., при этом он считает, что я своими "экспериментами" повредил программу в купленном им на Авито новом контроллере, и боится, что исправно работающие в котельной контроллеры постигнет та же участь. Он уверяет, что мы с ним видели (хотя я такого не помню), как его контроллер при включении сразу показал меню настроек котловых датчиков. Это несмотря на то, что специалист фирмы Сегнетикс, Арсений, в переписке со мной однозначно дал понять, что новый контроллер отдают интеграторам, и они, при компоновке щита управления, заливают в контроллер нужную программу (для котла, для вентиляции - кому что нужно); и что в новом контроллере не бывает установленной программы, и поэтому от него ничего нельзя добиться кроме секундного приветствия ("Привет, я SMH") с переходом в Меню тестирования. Что я и наблюдал, и по сю пору наблюдаю.
Ну хочется начальнику верить, что купил с рук новый контроллер с уже интегрированной программой - пусть верит.
Но ведь он и меня уверяет: "Ты же сам видел - контроллер новый, запечатанный в упаковке был". Не понимает, что этот аргумент не в пользу его точки зрения на дело. А дело стало.
Аватара пользователя
chobra
Встал на лапы
Сообщения: 80
Зарегистрирован: Пн фев 16, 2015 16:07:04
Откуда: Волоколамск

Re: ATmega128 как прошить

Сообщение chobra »

BOB51 писал(а): Вт май 05, 2026 14:07:44 Слева вверху кнопка "ссылки" - выбираем то, что интересует из выпадающего списка.
8)
Спасибо за подсказку! Нажал на ссылку, выпал список тем - большой, но чудесным образом моя тема оказалась в самом верху (интересно, всегда так будет или придётся среди тем искать свою)
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15552
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: ATmega128 как прошить

Сообщение BOB51 »

Занимаясь с подобными устройствами нужно понимать всю степень риска (шкурно/материального) с одной стороны и возможное построение аппаратно - программной структуры с другой.
Для начала страховаться по максимально возможной сложности. В реале всегда конечный результат будет более простым решением выполнен.
Возможно изначально на контроллер ставится программа минимального программного обеспечения стандартного набора аппаратных средств самого "устройства в коробочке", плюс версия загрузчика прикладного модуля (для целевой внешней обвязки), который устанавливается в зависимости от внешних устройств обвязки вокруг базового "устройства в коробочке".
Иногда производители добавляют ряд "побочно-вредных подарков" виде счетчиков времени наработки, гарантийно - сервисных "пломб" и тому подобных "прелестей".
:roll:
Подобный принцип программно - аппаратной компоновки и в моей котуинке (любительский расширитель СОМ порта для ПК) - базовый модуль на СОМ порту и различные варианты внешних блоков с собственным программным обеспечением, подгружаемым в соответствии с подключенным комплектом железа.
Только там комплект из трех программных компонентов - блок обслуживания базового железа, модуль расширенного ввода/вывода и целевой под железо подключаемого блока (тот блок также свою программную начинку содержит)... Да и МК не АВР, а MCS51 (АТ89C52/AT89S52).
Но то уже особо без разницы.
8)
Насчет списка тем - в самом верху обычно та, в которой было последнее сообщение на форуме.
:wink:
Аватара пользователя
chobra
Встал на лапы
Сообщения: 80
Зарегистрирован: Пн фев 16, 2015 16:07:04
Откуда: Волоколамск

Re: ATmega128 как прошить

Сообщение chobra »

BOB51 писал(а): Ср май 06, 2026 11:34:15 Возможно изначально на контроллер ставится программа минимального программного обеспечения стандартного набора аппаратных средств самого "устройства в коробочке", плюс версия загрузчика прикладного модуля (для целевой внешней обвязки), который устанавливается в зависимости от внешних устройств обвязки вокруг базового "устройства в коробочке".
"Я далёк от мысли", но что-то мне подсказывает, что это у них и называется "ядром"... :)
Печально, но я так и не выяснил для себя четыре архиважных вещи:
- для чего (и в качестве чего) там служит flash
- то же самое для eeprom
- куда интегратором записывается программа - во flash, в eeprom, или совсем в другое, специальное место
- как всё это взаимодействует.
Боюсь, что любые версии ответов не совпадут с истиной, потому как где-то читал, что сегнетиковские инженеры очень причудливо и по-своему организовали архитектуру своих контроллеров.
И есть ещё один печальный признак невозможности счастья. Вот здесь в последнем сообщении от Arsie:
http://www.forum-segneti.1gb.ru/showthread.php?p=39655
Печалька. :cry:
Последний раз редактировалось chobra Ср май 06, 2026 14:54:12, всего редактировалось 1 раз.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15552
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: ATmega128 как прошить

Сообщение BOB51 »

flash - ПЗУ программ/данных содержит основную программу и подгружаемые целевые блоки по усмотрению разработчика.
У АВРок может самомодифицироваться (без внешнего аппаратного программатора) при помощи соответствующих команд, что и используется в различных загрузчиках (бутлоадерах). Используется и для хранения постоянных данных (различных таблиц к примеру).
eeprom - область памяти для часто изменяемых в процессе работы данных. В основном константы настроек, которые нужно сохранять на время отключения питания или специфические данные счетчиков различного назначения, кодовых комбинаций пользователя.
Отличие eeprom от ОЗУ в сохранении данных при отсутствии питания. По отношению к flash у eeprom более простой и быстрый способ перезаписи/стирания данных.
Загрузка при помощи загрузчика может вестись в любые области памяти - это "на усмотрение разработчика".
8)
Аватара пользователя
chobra
Встал на лапы
Сообщения: 80
Зарегистрирован: Пн фев 16, 2015 16:07:04
Откуда: Волоколамск

Re: ATmega128 как прошить

Сообщение chobra »

Дорогие друзья, простите, если покажется, что я тут буду немножко умничать.
То есть, творение интегратора - искомая программа - скорее всего большей частью сидит в памяти flash, и частично в eeprom?
А оперативные настройки (задать температуру, давление, аварийные уровни сигналов и т.п.) - скорее всего сидят в еепроме?
Меня терзают смутные сомнения:
1. прошивки с сайта Сегнетикс, те, что с расширением .а90, они - базовые?
2. если с вашей помощью я правильно разобрался, они - flash?
3. я заметил, что они тесно связаны с eeprom-ом, и без строго соответствующего им eeprom-а не работают (прибор либо уходит в аут, либо на экране ничего кроме версии ядра; либо вообще абракадабра). Тогда возникает справедливый вопрос: а eeprom?! Почему Сегнетикс не выложил для каждого flash свой eeprom? Как-то, знаете ли... "вот вам машина без бензобака, сами пристройте, догадайтесь какой".
4. когда интегратор заливает в прибор программу управления котлом, выделенные для этого участки flash и eeprom изменяются практически до неузнаваемости, от завода-изготовителя остаётся только немного данных, позволяющих контроллеру не ощущать себя кирпичом. (Я в этом не разбираюсь, поэтому пишу чисто ассоциативно, как оно представляется слегка продвинутому нубу) :) .
5. отсюда вывод: чтобы выудить из действующего контроллера программу управления котлом, надо нащупать алгоритм поступления данных и сохранить всю цепочку в обратном порядке, преобразовать в прямой порядок, и залить в свой контроллер. А если программа скомпилирована и алгоритм утерян, мы получим в лучшем случае большую дулю, в худшем - ничего. Вот вам SMConstructor(Heating)_Lite_v0-97b, составляйте и заливайте сами. :solder:
А там - засада. Я попробовал составить простую программку, а когда дело дошло до сохранения, меня спросили: для какого контроллера вы старались? Я честно выбрал из выпадающего списка SMH2010. И получил: "Эта версия конструктора с данным контроллером не работает". :shock:
Здорово, правда? Как сказал бы Задорнов: ты зачем спрашивал?
А вам какие слова пришли бы на ум в адрес их сайта и продукции в целом? :kill:

Нет, продукция у них в целом неплохая. Более 12 лет службы без нареканий очень хороший результат.
Неприятность случилась из-за человеческого фактора: нехватка обслуживающего персонала, отсюда спешка и халатность. Ведь ещё года 2-3 назад мною (совершенно случайно, для проверки коммутации) был вскрыт корпус датчика ПД150 (виновника порчи контроллера) и обнаружены уставшие электролиты. Но ведь зима! котёл останавливать надолго - из-за какого-то там датчика - нельзя! работает - и не трожь, вот придёт лето...
И забылось. Котельных-то 50, а нас трое.
Аптека, улица, фонарь...
Моргушка - глюк - прибор спален. 9 месяцев мышиной возни.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15552
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: ATmega128 как прошить

Сообщение BOB51 »

Относительно содержимого *.а90 ничего сказать не могу - никогда не пользовался.
То, что из документации авр студии:
Весь экран.pdf
(457.89 КБ) 10 скачиваний
Теоретически там необходимый для ПЗУ и ЕЕПРОМ базовый комплект для функционирования устройства "в универсальном виде", а уже специализированный комплект добавляется пользователем в зависимости от задач и комплектации внешних устройств.
Каким образом -
или ввод конфигурации и настроек с клавиатуры контроллера вручную (с контролем по "кракозябрам" на встроенном дисплее);
или с помощью спецсофта на ПК и последующей загрузки через СОМ порт (посовременнее через сетевой шнурок или вай фай);
то уже что в него производитель запихнет...
В любительских условиях можно только скопировать содержимое абсолютно такого же контроллера ( настройки и внешняя обвязка плюс годы выпуска должны совпадать).
Второй вариант - установка базовой начальной начинки и последующая загрузка целевой части программы под конфигурацию.
Скорее всего при загрузке целевого модуля заменяется часть начально - универсальной программы (флеш, еепром, возможно часть фузов, которую могут изменять команды самопрограммирования АВР)...
Относительно "SMConstructor(Heating)_Lite_v0-97b"... Запросите у производителя более старую версию, соответствующую Вашей модели (версии) контроллера. Возможно где то (у кого то) в архивах оная и найдется.
:beer:
А насчет "спалить"... Помнится разок на выезде меняли прошивку у фискального регистратора на всем "правильном" ... Только ноут запустили на выполнение - "шкварк!!!" - ни ноута ни... Оказывается там чего то с розетками и заземлением/занулением (ноут старый с питанием от сети - без аккумулятора был)... Пришлось "полноценный" ноут покупать для дальнейшей работы "только от акума".
:twisted: 8)
Ответить

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