ATmega128 как прошить
Re: ATmega128 как прошить
я не понимаю, почему у вас эти фьюзы по разному расположены, да ещё WDTON разный !!!
сравнивать надо по названию фьюзов, а не по картинке зелёненьких....
сравнивать надо по названию фьюзов, а не по картинке зелёненьких....
Re: ATmega128 как прошить
mega128 и mega1281 имеют не только разные сигнатуры, но и разнятся по Fuse-битам.
-
codenamehawk
- Вымогатель припоя
- Сообщения: 527
- Зарегистрирован: Вт фев 09, 2010 17:52:26
Re: ATmega128 как прошить
Каждый день все интересней новости.
"Короткий ответ: скорее всего — нет, “как есть” прошивка с ATmega1281 не будет корректно работать на ATmega128.
Но зависит от того, что именно используется в коде.
Разберём точно, где проблемы.
1. Разные регистры и периферия
У этих МК похожая архитектура, но:
Названия и расположение регистров частично отличаются
Есть различия в:
UART (доп. функции в 1281)
таймерах
управлении портами
Если код использует регистры напрямую (PORTx, UCSRn, TIMSK и т.д.), прошивка:
либо не скомпилируется
либо будет работать неправильно
2. Разный memory map
ATmega128 — старое поколение
ATmega1281 — новое (AVR enhanced)
Различия:
адреса регистров
расположение IO / extended IO
работа с большим Flash (RAMPZ, EIND)
Если используется:
pgm_read_*
работа с Flash >64K
бутлоадер
— возможны ошибки.
3. Fuse-биты и старт
отличаются:
BOOTSZ
JTAG настройки
clock options
прошивка может:
не стартовать
зависнуть"
"Короткий ответ: скорее всего — нет, “как есть” прошивка с ATmega1281 не будет корректно работать на ATmega128.
Но зависит от того, что именно используется в коде.
Разберём точно, где проблемы.
1. Разные регистры и периферия
У этих МК похожая архитектура, но:
Названия и расположение регистров частично отличаются
Есть различия в:
UART (доп. функции в 1281)
таймерах
управлении портами
Если код использует регистры напрямую (PORTx, UCSRn, TIMSK и т.д.), прошивка:
либо не скомпилируется
либо будет работать неправильно
2. Разный memory map
ATmega128 — старое поколение
ATmega1281 — новое (AVR enhanced)
Различия:
адреса регистров
расположение IO / extended IO
работа с большим Flash (RAMPZ, EIND)
Если используется:
pgm_read_*
работа с Flash >64K
бутлоадер
— возможны ошибки.
отличаются:
BOOTSZ
JTAG настройки
clock options
прошивка может:
не стартовать
зависнуть"
Re: ATmega128 как прошить
А откудова атмега 1281 появилась то???

Re: ATmega128 как прошить
[uquote="BOB51",url="/forum/viewtopic.php?p=4803101#p4803101"]А откудова атмега 1281 появилась то???
[/uquote]
Похоже, я напутал, когда считывал... Вот беда, сляпой совсем ))
Похоже, надо делать всё сначала. Выставить 128 (а не 1281) и считать, а потом записать.
Вот ведь, если бы не уважаемый codenamehawk, я бы и не заметил, что не ту атмегу установил в опциях.
Вот старый пень-то... Это же всё, всё, что нажито непосильным трудом...
Добавлено after 4 minutes 47 seconds:
Но это уже наверное завтра, рабочий день тю-тю
Похоже, я напутал, когда считывал... Вот беда, сляпой совсем ))
Похоже, надо делать всё сначала. Выставить 128 (а не 1281) и считать, а потом записать.
Вот ведь, если бы не уважаемый codenamehawk, я бы и не заметил, что не ту атмегу установил в опциях.
Вот старый пень-то... Это же всё, всё, что нажито непосильным трудом...
Добавлено after 4 minutes 47 seconds:
Но это уже наверное завтра, рабочий день тю-тю
-
codenamehawk
- Вымогатель припоя
- Сообщения: 527
- Зарегистрирован: Вт фев 09, 2010 17:52:26
Re: ATmega128 как прошить
Так вам Akl раньше написал про 1281
Re: ATmega128 как прошить
[uquote="codenamehawk",url="/forum/viewtopic.php?p=4803124#p4803124"]Так вам Akl раньше написал про 1281[/uquote]
Он написал сегодня, а ошибку я (вместо 128 сослепу выставил 1281) допустил несколько дней назад, когда считывал прошивку. И ведь связь с чипом установилась... и не огрызнулась дудка, что не тот чип выбрал...
Добавлено after 5 minutes 40 seconds:
Последние 15 минут на работе пересадил чип (родной поставил на своё место), завтра, если ничто не помешает, буду внимательнее считывать по новой флеш, еепром и фьюзы.
Добавлено after 8 minutes 3 seconds:
[uquote="akl",url="/forum/viewtopic.php?p=4803071#p4803071"]mega128 и mega1281 имеют не только разные сигнатуры, но и разнятся по Fuse-битам.[/uquote]
Что значит острый глаз, если бы не вы и не BOB51, я б так и не понял почему тут вдруг про 1281 стали писать. Спасибо!
Он написал сегодня, а ошибку я (вместо 128 сослепу выставил 1281) допустил несколько дней назад, когда считывал прошивку. И ведь связь с чипом установилась... и не огрызнулась дудка, что не тот чип выбрал...
Добавлено after 5 minutes 40 seconds:
Последние 15 минут на работе пересадил чип (родной поставил на своё место), завтра, если ничто не помешает, буду внимательнее считывать по новой флеш, еепром и фьюзы.
Добавлено after 8 minutes 3 seconds:
[uquote="akl",url="/forum/viewtopic.php?p=4803071#p4803071"]mega128 и mega1281 имеют не только разные сигнатуры, но и разнятся по Fuse-битам.[/uquote]
Что значит острый глаз, если бы не вы и не BOB51, я б так и не понял почему тут вдруг про 1281 стали писать. Спасибо!
-
codenamehawk
- Вымогатель припоя
- Сообщения: 527
- Зарегистрирован: Вт фев 09, 2010 17:52:26
Re: ATmega128 как прошить
Теперь хоть оценили для чего я писал
Не надо так быстро реагировать, у вас возможно были правильно считанны фусес
https://radiokot.ru/forum/download/file.php?id=426244 и вроде не отличаются от тех с 1281
Считайте прошивку во всех доступных форматах.
Таких ошибок избежать позволит правильная тактика, подключили программатор, нажали Detect сравнили с ожидаемым, далее Read Fuses и дальше уже нужные операции.codenamehawk писал(а):После записи фусес, прочитайте их.
Проще показать все скриншотами.
У вас сколько запасных плат?chobra писал(а):пересадил чип (родной поставил на своё место)
Не надо так быстро реагировать, у вас возможно были правильно считанны фусес
https://radiokot.ru/forum/download/file.php?id=426244 и вроде не отличаются от тех с 1281
Считайте прошивку во всех доступных форматах.
Re: ATmega128 как прошить
[uquote="codenamehawk",url="/forum/viewtopic.php?p=4803221#p4803221"]У вас сколько запасных плат?
Считайте прошивку во всех доступных форматах.[/uquote]
Платы на удивление сделаны качественно.
Хорошо, спасибо, считаю во всех.
Добавлено after 18 minutes 32 seconds:
[uquote="codenamehawk",url="/forum/viewtopic.php?p=4803221#p4803221"]download/file.php?id=426244
и вроде не отличаются от тех с 1281[/uquote]
Если я правильно понимаю: значения L, H, E, LB - 0xAE, 0xCD, 0xFF, 0xFF напрямую зависят от расстановки фьюзов? Т.е., если поставить или убрать какую-то галочку, соответствующая ей буковка изменится; и не нужно заглядывать в "фьюзятник", по этим значениям уже видно - совпадают фьюзы с требуемыми или нет?
Считайте прошивку во всех доступных форматах.[/uquote]
Платы на удивление сделаны качественно.
Хорошо, спасибо, считаю во всех.
Добавлено after 18 minutes 32 seconds:
[uquote="codenamehawk",url="/forum/viewtopic.php?p=4803221#p4803221"]download/file.php?id=426244
и вроде не отличаются от тех с 1281[/uquote]
Если я правильно понимаю: значения L, H, E, LB - 0xAE, 0xCD, 0xFF, 0xFF напрямую зависят от расстановки фьюзов? Т.е., если поставить или убрать какую-то галочку, соответствующая ей буковка изменится; и не нужно заглядывать в "фьюзятник", по этим значениям уже видно - совпадают фьюзы с требуемыми или нет?
Re: ATmega128 как прошить
Вместо "фьюзятников" проще пользоваться DS. Например, для m128
Lock Bit Byte $FF
Extended Fuse Byte $FF
1 M103C отключить режим совместимости с m103
0 WDTON отключить аппаратное разрешение работы WDT. Можно работать с WDT программно.
Fuse High Byte $CD
1 OCDEN запретить
1 JTAGEN запретить
0 SPIEN разрешить. В режиме последовательного программирования запрет не действует
0 CKOPT разрешить работу кварцевого генератора с полным размахом "от рельсы до рельсы"
1 EESAVE разрешить стирание EEPROM программатором. Когда использовал EEPROM, этот бит устанавливал в 0, т.е. запрещал программатору стирание нужных данных.
1
0
1
Fuse Low Byte $AE
1 BODLEVEL если BODEN=0 разрешен, сработает при <2,9V
0 BODEN разрешить сброс камня при недостаточном питании
1 SUT1 |
0 SUT0 |
1 CKSEL3 |
1 CKSEL2 |
1 CKSEL1 |
0 CKSEL0 | выбор тактирования камня
Везде в DS многократно повторяется
“1” means unprogrammed, “0“means programmed
Наверно, зря все это написал. Проще ведь пользоваться калькуляторами "физев" и прочими расстановщиками галок инверсных/прямых...
Lock Bit Byte $FF
Extended Fuse Byte $FF
1 M103C отключить режим совместимости с m103
0 WDTON отключить аппаратное разрешение работы WDT. Можно работать с WDT программно.
Fuse High Byte $CD
1 OCDEN запретить
1 JTAGEN запретить
0 SPIEN разрешить. В режиме последовательного программирования запрет не действует
0 CKOPT разрешить работу кварцевого генератора с полным размахом "от рельсы до рельсы"
1 EESAVE разрешить стирание EEPROM программатором. Когда использовал EEPROM, этот бит устанавливал в 0, т.е. запрещал программатору стирание нужных данных.
1
0
1
Fuse Low Byte $AE
1 BODLEVEL если BODEN=0 разрешен, сработает при <2,9V
0 BODEN разрешить сброс камня при недостаточном питании
1 SUT1 |
0 SUT0 |
1 CKSEL3 |
1 CKSEL2 |
1 CKSEL1 |
0 CKSEL0 | выбор тактирования камня
Везде в DS многократно повторяется
“1” means unprogrammed, “0“means programmed
- АлександрЛ
- Друг Кота
- Сообщения: 43767
- Зарегистрирован: Пн ноя 30, 2009 03:00:01
- Откуда: Нерезиновая
Re: ATmega128 как прошить
Просто поделиться-
У меня в старом оборудовании применялись ATMega103 или ATMega128, и, как-то раз их пришлось перезаписывать- на тот момент я пользовался программами "УниПрофом" или "ПониПрогом" и "пятью проводками". Так вот- одна программа (ПониПрог) перезаписывала флеш, и потом всё работало, а "УниПроф"- перезаписывала, писала, что "всё ОК", но- эта железка не работала....

У меня в старом оборудовании применялись ATMega103 или ATMega128, и, как-то раз их пришлось перезаписывать- на тот момент я пользовался программами "УниПрофом" или "ПониПрогом" и "пятью проводками". Так вот- одна программа (ПониПрог) перезаписывала флеш, и потом всё работало, а "УниПроф"- перезаписывала, писала, что "всё ОК", но- эта железка не работала....
- VNS
- Говорящий с текстолитом
- Сообщения: 1614
- Зарегистрирован: Пт дек 10, 2021 12:48:46
- Откуда: Тюмень
Re: ATmega128 как прошить
[uquote="akl",url="/forum/viewtopic.php?p=4803302#p4803302"]
Наверно, зря все это написал.[/uquote]
Не зря. Так как подталкивает на углублённое понимание "с чем это едят".
А так да, есть и калькулятор с подсказками: https://fusecalc.mirmk.ru/ или без таковых: http://homes-smart.ru/fusecalc/
Не зря. Так как подталкивает на углублённое понимание "с чем это едят".
А так да, есть и калькулятор с подсказками: https://fusecalc.mirmk.ru/ или без таковых: http://homes-smart.ru/fusecalc/
-
codenamehawk
- Вымогатель припоя
- Сообщения: 527
- Зарегистрирован: Вт фев 09, 2010 17:52:26
Re: ATmega128 как прошить
Да, сразу видно совпадают или нет.chobra писал(а): по этим значениям уже видно - совпадают фьюзы с требуемыми или нет
Там же есть подчеркнутая ссылка Fuse settings
Вы в новую атмегу залили fuses? Или так, что было у вас установлено, когда выполнили 8 пункт.
Попробуйте к ней(новой атмеге) подпаяться проводами и не забудьте кварц и два конденсатора(керамические на 22 pf) возле него.
Питание прямо с программатора.
Re: ATmega128 как прошить
[uquote="VNS",url="/forum/viewtopic.php?p=4803321#p4803321"][uquote="akl",url="/forum/viewtopic.php?p=4803302#p4803302"]
Наверно, зря все это написал.[/uquote]
Не зря. Так как подталкивает на углублённое понимание "с чем это едят".
А так да, есть и калькулятор с подсказками: https://fusecalc.mirmk.ru/ или без таковых: http://homes-smart.ru/fusecalc/
[/uquote]
Ох, ребята... не до углубленных пониманий мне сегодня. Влип очкарик.
Прям с утра и влип. После вчерашних кувырков с новой Атмегой на исправной плате пересадил на неё родную исправную Атмегу, чтоб по новой считать всё - флеш, еепром и фьюзы. А она не работает. Картинка на дисплее как на неисправной плате - две толстые тёмные строчки. Причём, в дудке Атмега видится и читается, а плата не работает. Видимо, зря я считывал со стиранием. Наверное, на плате ещё где-то чип памяти стоит, может быть он и есть флеш? или еепром? А я его стёр и - ...
Добавлено after 4 minutes 57 seconds:
Будет мне эшафот и плаха. Мои расходы тысчи 2 - тфу. Начальник свои кровные 8т. отдал за эту плату, и с утра спрашивает: ну когда будет готово? завтра ехать надо бы ставить. А я ещё не знал, что влип, говорю ладно, поедем.
Добавлено after 4 minutes 42 seconds:
Попробую вот что. Считаю по новой всё, что считается. Пересажу новый проц и прошью как прошьется
Добавлено after 21 minute 9 seconds:
[uquote="codenamehawk",url="/forum/viewtopic.php?p=4803221#p4803221"]Таких ошибок избежать позволит правильная тактика,
подключили программатор, нажали Detect сравнили с ожидаемым, далее Read Fuses и дальше уже нужные операции.[/uquote]
Я про эту правильную тактику и спрашивал в голове темы.
Получается, последовательность всех моих действий была нарушена. Перво-наперво надо было считать фузы, потом - всё остальное.
Не зря. Так как подталкивает на углублённое понимание "с чем это едят".
А так да, есть и калькулятор с подсказками: https://fusecalc.mirmk.ru/ или без таковых: http://homes-smart.ru/fusecalc/
Ох, ребята... не до углубленных пониманий мне сегодня. Влип очкарик.
Прям с утра и влип. После вчерашних кувырков с новой Атмегой на исправной плате пересадил на неё родную исправную Атмегу, чтоб по новой считать всё - флеш, еепром и фьюзы. А она не работает. Картинка на дисплее как на неисправной плате - две толстые тёмные строчки. Причём, в дудке Атмега видится и читается, а плата не работает. Видимо, зря я считывал со стиранием. Наверное, на плате ещё где-то чип памяти стоит, может быть он и есть флеш? или еепром? А я его стёр и - ...
Добавлено after 4 minutes 57 seconds:
Будет мне эшафот и плаха. Мои расходы тысчи 2 - тфу. Начальник свои кровные 8т. отдал за эту плату, и с утра спрашивает: ну когда будет готово? завтра ехать надо бы ставить. А я ещё не знал, что влип, говорю ладно, поедем.
Добавлено after 4 minutes 42 seconds:
Попробую вот что. Считаю по новой всё, что считается. Пересажу новый проц и прошью как прошьется
Добавлено after 21 minute 9 seconds:
[uquote="codenamehawk",url="/forum/viewtopic.php?p=4803221#p4803221"]Таких ошибок избежать позволит правильная тактика,
подключили программатор, нажали Detect сравнили с ожидаемым, далее Read Fuses и дальше уже нужные операции.[/uquote]
Я про эту правильную тактику и спрашивал в голове темы.
Получается, последовательность всех моих действий была нарушена. Перво-наперво надо было считать фузы, потом - всё остальное.
-
codenamehawk
- Вымогатель припоя
- Сообщения: 527
- Зарегистрирован: Вт фев 09, 2010 17:52:26
Re: ATmega128 как прошить
Интересно как вы это себе представляете, что такое возможно сделать.chobra писал(а):Видимо, зря я считывал со стиранием.
Запись со стиранием возможна, но она затронет только чип атмега (надеюсь оригинальный чип атмеги не стирали)
Re: ATmega128 как прошить
[uquote="codenamehawk",url="/forum/viewtopic.php?p=4803353#p4803353"]
Запись со стиранием возможна, но она затронет только чип атмега (надеюсь оригинальный чип атмеги не стирали)[/uquote]
Немного бальзама на мои нервы! Если стирание только Атмеги касается, я почти спокоен.
Нет, конечно, его я берегу, только считывал. Пойду прозвоню ноги у чипа ОЗУ, он стоит рядом с Атмегой. Вдруг при пассах с паяльной станцией у него какая нога отошла... Ох, хорошо бы кабы так.
Интересно как вы это себе представляете, что такое возможно сделать.chobra писал(а):Видимо, зря я считывал со стиранием.
Запись со стиранием возможна, но она затронет только чип атмега (надеюсь оригинальный чип атмеги не стирали)[/uquote]
Немного бальзама на мои нервы! Если стирание только Атмеги касается, я почти спокоен.
Нет, конечно, его я берегу, только считывал. Пойду прозвоню ноги у чипа ОЗУ, он стоит рядом с Атмегой. Вдруг при пассах с паяльной станцией у него какая нога отошла... Ох, хорошо бы кабы так.
-
codenamehawk
- Вымогатель припоя
- Сообщения: 527
- Зарегистрирован: Вт фев 09, 2010 17:52:26
Re: ATmega128 как прошить
Не надо бросаться все паять. Считать полезно, покажет работает ли проц.chobra писал(а):Попробую вот что. Считаю по новой всё, что считается.
Считайте и сравните не поменялось ли что в данных.
Если работает, попробуйте подключиться тем программатором или программой, что описывали ранее ( через сом порт)
Проверьте генерацию на кварце, если нет осциллографа, тестером замерьте.
Стоит проверить тестером замыкание соседних ног, бывает залипают при перепайке.
Re: ATmega128 как прошить
Не отошла, все ноги на местах, коротышей нет.
Добавлено after 37 minutes 18 seconds:
[uquote="codenamehawk",url="/forum/viewtopic.php?p=4803360#p4803360"]
Считайте и сравните не поменялось ли что в данных.
Если работает, попробуйте подключиться тем программатором или программой, что описывали ранее ( через сом порт)
Проверьте генерацию на кварце, если нет осциллографа, тестером замерьте.
Стоит проверить тестером замыкание соседних ног, бывает залипают при перепайке.[/uquote]
Проц работает, я писал чуть выше: дудка (программа) проц увидела и читает. Значит и кварц работает.
Программа SMLogix от Сегнетик работает не с реальным COM-портом. Конвертер RS232-RS485 соединяет прибор (+data и -data) с USB слотом компьютера, а SMLogix определяет это как соединение через COM-порт. На самой плате этот разъём - продолжение ХР2 (А,С).
Если я правильно понял, SMLogix умеет прошивать firmware, родную прошивку для всех ихних Атмег. Но для этого она должна "увидеть", что присоединённый прибор - SMH2010. А поскольку новый чип ну никак не хочет прошиваться как надо, и плата определяться в SMLogix как SMH2010, я топчусь на месте.
Я не могу рисковать прошивкой исправной Атмеги (никаких прошивок на ней!!! только считывание) поэтому и пытаюсь считать с неё, залить в голую Атмегу, а уж опосля... Опосля можно и фирмварем шлифануть с помощью SMLogix. Если я не прав - поправьте.
Добавлено after 37 minutes 18 seconds:
[uquote="codenamehawk",url="/forum/viewtopic.php?p=4803360#p4803360"]
Не надо бросаться все паять. Считать полезно, покажет работает ли проц.chobra писал(а):Попробую вот что. Считаю по новой всё, что считается.
Считайте и сравните не поменялось ли что в данных.
Если работает, попробуйте подключиться тем программатором или программой, что описывали ранее ( через сом порт)
Проверьте генерацию на кварце, если нет осциллографа, тестером замерьте.
Стоит проверить тестером замыкание соседних ног, бывает залипают при перепайке.[/uquote]
Проц работает, я писал чуть выше: дудка (программа) проц увидела и читает. Значит и кварц работает.
Программа SMLogix от Сегнетик работает не с реальным COM-портом. Конвертер RS232-RS485 соединяет прибор (+data и -data) с USB слотом компьютера, а SMLogix определяет это как соединение через COM-порт. На самой плате этот разъём - продолжение ХР2 (А,С).
Если я правильно понял, SMLogix умеет прошивать firmware, родную прошивку для всех ихних Атмег. Но для этого она должна "увидеть", что присоединённый прибор - SMH2010. А поскольку новый чип ну никак не хочет прошиваться как надо, и плата определяться в SMLogix как SMH2010, я топчусь на месте.
Я не могу рисковать прошивкой исправной Атмеги (никаких прошивок на ней!!! только считывание) поэтому и пытаюсь считать с неё, залить в голую Атмегу, а уж опосля... Опосля можно и фирмварем шлифануть с помощью SMLogix. Если я не прав - поправьте.
-
codenamehawk
- Вымогатель припоя
- Сообщения: 527
- Зарегистрирован: Вт фев 09, 2010 17:52:26
Re: ATmega128 как прошить
Любая перепайка проца несет риск его испортить, равно как и прошивку в нем.
Если родной проц вернули на место, прошивка читается, но плата не работает, надо снова мерить падения напряжения.
Если родной проц вернули на место, прошивка читается, но плата не работает, надо снова мерить падения напряжения.
Re: ATmega128 как прошить
Похоже, нашел в чем дело. На ноге RES проца висит VT9 - это Р-мосфет, маркировка на его корпусе A1 (на моей плате он же с маркировкой A7).
Его полупробило, переход G-S звонится 109 Ом (ну или 0,109V) в обоих направлениях. Ножка GATE как раз на ноге RES проца.
Заказал на Озоне, а пока поищу аналог на материнках. Или пересажу с моей платы.
Его полупробило, переход G-S звонится 109 Ом (ну или 0,109V) в обоих направлениях. Ножка GATE как раз на ноге RES проца.
Заказал на Озоне, а пока поищу аналог на материнках. Или пересажу с моей платы.
- Вложения
-
- полевик пробит.JPG
- (43.81 КБ) 24 скачивания
Последний раз редактировалось chobra Ср апр 01, 2026 16:35:17, всего редактировалось 2 раза.