AtMega 128 и PonyProg

Kvalent
10/11/2010 15:11
Нужно прошить контроллер SMH2010, новой прошивкой от производителя,
метод прошивки внутрисхемный.


Скачал архив с прошивкой 02_246_512k_LCD.zip,
в нем прошивочный файл 1.a90 размером 193 865 bytes.

Залил его в контроллер SMH2010, где впаянный в МК ATmega128, после чего контроллер умер.

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

У ATmega128, по документам имеется память FLASH команд 128Кбайт, и Eeprom несколько Кбайт, и еще сколько то бит под фузы.

Почему длинна файла в распакованном виде 193 865 bytes прошивки от производителя, если у МК имеется только 128 Кб?

Там сидят и FLASH, и EEPROM? Так все равно много, и что за расширение .А90, к какому
типу файлов его можно отнести bin, hex, или другой тип, как его привести к нужному виду,
Bin, может есть какой то калькулятор?

Программирую PonyProg, так как задача разовая с программированием AVR, и нет как бы особой нужды приобретать специальный программатор, PonyProg справился хотя бы с задачей восстановления тела.

Обратился к источнику с вопросом почему и как, но не получил внятного ответа скорее всего у
них отсутствует, опыт работы с PonyProg.

Установил у себя разные проги для программирования AVR, что бы выяснить кто из них генерит такие файлы, оказывается AVR Studio имеет в своем перечне такие файлы, вот попытался загрузить туда этот файл и конвертировать, но не получается т к не находит указанный софт оборудования и не хочет грузить файл.
Как решить данную проблемку ?
Дайте кто нибудь совет!

m.ix
10/11/2010 19:55
ну и где?

Kvalent
10/11/2010 21:43
ну и где?
О чем это?

cybe
10/11/2010 23:45
Kvalent, файл .bin остаётся неизменным потому что в нём подсчитывается кол-во ячеек без учёта их содержимого. У .hex немного посложнее

Kvalent
11/11/2010 01:34
Ну и как это может помочь мне, запрограммировать МК ATmega128.

INSAN
11/11/2010 02:43
Kvalent, прошивку в А90 выложить можешь?

Kvalent
11/11/2010 12:18
Вот файл который был считал PonyProg, и который оживил тело:

ДОБАВЛЕНО 11/11/2010 13:21

А это файл присланный мне, и который умертвил тело:

ДОБАВЛЕНО 11/11/2010 13:29

Пардон наоборот,
1.zip - тот который прислали.
A.zip - счтанный PonyProg, и ожививший тело.

INSAN
11/11/2010 17:58
Пробуй прошить мк через авр студию. В общем тебе нужно собрать прогер для этого.

m.ix
11/11/2010 19:57
тебе нужно собрать прогер для этого.
===========================
Вот такой для
USB программатор AVR910 http://monitor.espec.ws/section46/topic158999.html


kapral_82
14/11/2010 16:46
Для AVR Studio собирается простейший программатор STK200 и непосредственно из студии пробуешь прошить.Схем в нете как грязи,только не путать с ByteblasterMV, они сильно похожи,но не взаимозаменяемы.Из элементов м\с 74НС244(есть наш аналог АП5) и пару деталек обвеса,работы на 15 минут.Да,и похоже студию нужно брать старенькую,не помню с какой версии нет поддержки STK200.

Kvalent
16/11/2010 11:31
Все!
Проблема решена, и на ПониПрог методом перебора прошивания, разными способами.
Постольку поскольку изначально не было ясности, что находится внутри тела прошивки,
только програмная часть, или еще и Eeprom, шил как флэш, после чего тело переставало работать.
Само собой все фузы были считанны, еще при первом включении, и всегда при всех пробах
оставлялось в первоначальном состоянии.
На сайте первоисточнике о файле и его содержимом узнать ничего не получилось. Переделать в Bin
тоже непонятно как, поэтому попробовал прошить файл целиком, как Flash + Eeprom, и о чудо тело
ожило с новыми возможностями.
Спасибо всем принявшим участие в обсуждении, и за советы.
STK200 уже есть, это тот который из под LPT работает, я им пользую под ПониПрог, а вот студия его не
пожелала юзать, наверное нужно было поискать старенькую версию, ну это уже в следующий раз.

m.ix
16/11/2010 11:40
Kvalent,
епромка, это епромка
бинарник, это бинарник и каждый в свою часть пишется
Без епромки можно в некоторых устройствах а вот без бинарника никуда ни что не заработает.

Kvalent
16/11/2010 11:44
Да еще забыл добавить.
Файл относится к файлам типа HEX.
Покрайней мере так утверждает первоисточник.
Грузил файл в утилиту ПониПрог без переименования, как .* .
Пони как оказалось, сам разобрался что за тип файла, и взял для прошивки все что ему нужно.
Это для информации, тем кому вдруг придется столкнутся с тем же, чем и мне !
Теперь все до следующего сеанса.

m.ix
16/11/2010 11:51
кекс бинарник не важно

Kvalent
23/11/2010 02:22
Спасибо за дополнительные сообщения!
Если можно для ясности пару вопросов?
Не знаю, правильно ли я понимаю, но думаю в что основное тело управляющей проги
устройства находится в бинарнике, а что располагается в епроме. Так как епром позволяет
писать в себя побайтно, а не страницами, фузы там же прописаны, или для них выделено
спецом пространство где то?
Возможно там прописана какая то служебная информация требующая перезапись побайтно,
типа как в мобилах? недовольство, огорчение недовольство, огорчение равнодушие

m.ix
23/11/2010 02:42
управляющая компания пишется под каждые свои нужды.
если ей нужны EEPROM значит пишут под неё отдельно

Kvalent
23/11/2010 03:02
Т е в епроме располагается часть управляющей проги и все!
Ясно.

m.ix
23/11/2010 04:24
да
если оно на то нужно.

Kvalent
23/11/2010 19:46
Ну все наверное тему можно считать закрытой, т.к. вопросов
кажись нет!
Всем принявшим участие в обсуждении ограмное спасибо.
До связи!

INSAN
24/11/2010 05:55
Kvalent писал:
Т е в епроме располагается часть управляющей проги и все!
Ясно.

на сколько я вижу в процессе изучения микроконтрллеров, то еепром - память в которую записываются данные ,которые считываются в нужный момент основной программой мк , записываются туда после каких либо (арифметических. логических..) действий происходимых в регистрах обшего назначения. так как регистров вот скока--R0 -R31 улыбка то они не всегда хватают для хранения информации , потому и записывают инфу в еепром. и в еепром никакие программы не пишутся(думаю подпрограммы вызываемые в определённо нужный момент пишутся, к примеру задержки взять, массивы... пока не пробовал) -это хранилище информации над данными которой нужно производить какие либо действия в процессе прохождения поэтапно самой , основной программы...во как даже бывает . улыбка

Kvalent
24/11/2010 06:11
Получается что епром временное хранилище каких то промежуточных данных?

INSAN
24/11/2010 06:35
ну я спорить и утверждать пока не буду, но сама еепромка не умеет без какого либо вмешательства рабочих регистров мк проделывать какие либо действия .
(.....временное хранилище каких то промежуточных данных?) - что под этим подразумевается? эти самые помеж... данные это данные в виде ячеек в еепром где хранятся вот такие( для наглядности пример) 11111111 , FF , 255 данные(цифры-комбинации чифр) которые и вызываются в нужный момент, указывается в основной программе только адрес к которому нужно обратиться и какое действие над этим адресом нужно произвести(прошё говоря) , после произведения над этим адресом(данными в этом адресе) программа даёт команду сохранить результат к примеру в таком то адресе еепром и если нужно вывести , записать в регистр какой либо к примеру для дальнейшего вывода на портА к примеру

ДОБАВЛЕНО 24/11/2010 07:42

вот и представьте себе. что мы получим если не запрограммировать в железо. в мк еепром, да то , что программа основная в мк остановится в определённый момент если ему не будет подана *пища* из этого еепрома.

ДОБАВЛЕНО 24/11/2010 07:49

к адресу то еепрома программа обратится, а там *кот ночевал* ..вот и будет производить операции над ячейками пустышками программа. и получим мы как называемый *глюк*

Kvalent
27/11/2010 02:52
Я имел ввиду вот что!
Допустим, что основной код упр программы, настроен так, что при первом старте, он не берет ни каких
данных из епром, так как их там пока что нет, он только проверил их наличие.
Скажем какое то самообучающееся устройство.
По мере того как протекают какие то процессы, появляются какие то данные, которые предположительно
имеют свойство, при каких то условиях повторятся, их можно внести как некую константу в епром, для
дальнейшего исползования.
Разумеется все это делается по какому то алгоритму из упр программы, с использованием всех имеющихся
ресурсов у мк, а епром удобней использовать для хранения таких данных, так как их значения имеют малую
величину скажем несколько бит, и константой они могут быть не на всегда.
Отсюда и было сказанно о временном хранении. подшучивать, дразнить подшучивать, дразнить

INSAN
27/11/2010 19:14
подшучивать, дразнить - означает подшучивать, дразнить. только для чего он был прикручен ,вот это вопрос. Я , что то не так сказал???

Kvalent
07/12/2010 19:44
Пардон детально не пытался разобраться, в предназначении каждой из рожиц!

liveinternet.ru RadioTOP Rambler's Top100 –ейтинг@Mail.ru