Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: PonyProg и вокруг него
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Diusha
В нашей конторе исторически сложилось, что программы (скомпилированные) для АВР хранятся в файлах .rom. Честно, не знаю стандарт ли это, поэтому уточню, что у нас под ".rom" понимается: например, для "программы"
Код
.db "abcd"

под rom-файлом понимается текстовый файл:
Код
000000:6261
000001:6463

(с точки зрения компилятора это называется Output Generic Format)

Купили новый программатор, через который пишет PonyProg. Как выяснилось, то ли PonyProg не понимает этот формат, то ли мы не понимаем, что надо, чтобы PonyProg понимал этот формат.

Intel HEX Format (для той же приведенной "программы")
Код
:040000006162636472
:00000001FF

PonyProg открывает правильно:
Код
61 62 63 64 FF FF FF FF - FF FF FF FF FF FF FF FF        abcdяяяяяяяяяяяя
FF FF FF FF FF...                                                             яяяяя...

, а .rom воспринимает как просто последовательность байт:
Код
30 30 30 30 30 30 3A 36 - 32 36 31 0D 0A 30 30 30        000000:6261..000
30 30 30 31 3A 36...                                                       001:6...


Переходить на .hex начальник не хочет, а хочет, чтобы я добился от Пони понимания этого формата (хотеть запретить ему никто не может wink.gif ).

Так вот вопрсы: обязан ли Пони понимать этот формат? Стандартный ли он (в гугле ничего не нашел)?
Petka
Цитата(Diusha @ Sep 23 2009, 09:35) *
Купили новый программатор, через который пишет PonyProg. Как выяснилось, то ли PonyProg не понимает этот формат, то ли мы не понимаем, что надо, чтобы PonyProg понимал этот формат.

1) Что это за такой покупной программатор, который понимает только PonyProg? Можно ссылку?
Палыч
Цитата(Diusha @ Sep 23 2009, 08:35) *
Так вот вопрсы: обязан ли Пони понимать этот формат? Стандартный ли он (в гугле ничего не нашел)?

1. Имхо, Пони понимать не обязан.
2. Кто-то этот формат разработал; для них это - стандарт.

Возможно Вам поможет вот это
MrYuran
Формат забавный. Похоже, в нём нет ссылки на начальный адрес (либо он подразумевается нулевым)
Скорее всего, это что-то от программаторов ПЗУ

вот это попробуйте
Цитата
binco.rar
15 кб Универсальный конвертор бинарных файлов BinCo v2.0
Поддерживаемые форматы: BIN, ROM, HEX, S19, DMP, E2P, ASM, CPP.


Даже самому интересно стало, как, например, HEX в CPP сконвертить biggrin.gif
Diusha
Цитата(Petka @ Sep 23 2009, 08:43) *
1) Что это за такой покупной программатор, который понимает только PonyProg? Можно ссылку?

http://www.olimex.com/dev/index.html
Цитата
AVR-PG1 is the most simple and inexpensive AVR programmer on the market. It works with the great free AVR programming software made by Claudio Lanconelli - the Pony Prog you can always look at the list of the supported devices on this link as it grows every month.

Слова "только" здесь, конечно, нет. Но, честно говоря, не пришла мысль, что с другим будет работать. Как я понял, шаражка Олимекс просто спаяла шнур под Пони

Цитата(MrYuran @ Sep 23 2009, 09:17) *
Формат забавный. Похоже, в нём нет ссылки на начальный адрес (либо он подразумевается нулевым)

Как это? В каждой строке в явном виде прописан один адрес (перед ":") и одно слово (после ":")

Цитата(MrYuran @ Sep 23 2009, 09:17) *
Универсальный конвертор бинарных файлов BinCo v2.0
...
Даже самому интересно стало, как, например, HEX в CPP сконвертить biggrin.gif

Вопрос не стоИт о конвертации. Я бы просто мог сразу компилировать в HEX, и не было бы проблем
IgorKossak
С точки зрения PonyProg, rom это бинарный формат, а Output Generic Format, каким его представляет Ваш компилятор, является по сути текстовым и PonyProg его понимать не обязан если его нет в списке поддерживаемых форматов. На сколько мне известно Output Generic Format это внутренний стандарт Atmel, да и к тому же древний.
Так что Вам всё таки придётся убедить руководство использовать стандарт де факто intel hex. В противном случае, при переходе на другую платформу или даже на атмеловские чипы, не поддерживаемые PonyProg, Вы рискуете остаться без средств программирования вообще.
Petka
Цитата(Diusha @ Sep 23 2009, 11:15) *

avrdude поддерживает этот тип программаторов. правда и он вроде тоже не читает "ваш" формат. Однако если ОЧЕНЬ надо можете добавить сами этот формат в avrdude. Он OpenSource.
Diusha
Цитата(IgorKossak @ Sep 23 2009, 10:42) *
при переходе на другую платформу или даже на атмеловские чипы, не поддерживаемые PonyProg, Вы рискуете остаться без средств программирования вообще.

У нас используются 3 разных программатора (для одной цели) - такова воля "Его". Один из них точно будет поддерживать все новые чипы - самопальный.

А вот не знает ли кто: у Пони в списке типов файлов есть *.rom; что Пони под этим подразумевает?
IgorKossak
Цитата(Diusha @ Sep 24 2009, 06:18) *
А вот не знает ли кто: у Пони в списке типов файлов есть *.rom; что Пони под этим подразумевает?

Я уже говорил, подразумевается бинарный образ. Можете это проверить, загрузите hex и сохраните rom.
Выдержка из документации: "The file to load may have one of these format: intel-hex, motorola S-record or raw binary."
Diusha
Цитата(IgorKossak @ Sep 24 2009, 09:29) *
Я уже говорил, подразумевается бинарный образ. Можете это проверить, загрузите hex и сохраните rom.

Проверил. Если сохранить в .rom и .bin, получается немножко разное. В rom перед данными еще вставлен какой-то блок
IgorKossak
Цитата(Diusha @ Sep 24 2009, 19:58) *
Проверил. Если сохранить в .rom и .bin, получается немножко разное. В rom перед данными еще вставлен какой-то блок

rom = заголовок от PonyProg + bin
Но в любом случае это не то, что Вам нужно.
ukpyr
мдя, ну и проблемы... ппц, руководство решает какие расширения использовать...
а кто мешает прошивать простым батником, перед вызовом понипрога вызывать конвертор rom -> hex ?
или при компиляции создавать одновременно и rom и hex ?
кстати, у пониропга есть командный режим.
Diusha
Цитата(IgorKossak @ Sep 25 2009, 10:13) *
rom = заголовок от PonyProg + bin
Но в любом случае это не то, что Вам нужно.

Это я понимаю

Цитата(ukpyr @ Sep 25 2009, 10:29) *
мдя, ну и проблемы... ппц, руководство решает какие расширения использовать...
а кто мешает прошивать простым батником, перед вызовом понипрога вызывать конвертор rom -> hex ?
или при компиляции создавать одновременно и rom и hex ?
кстати, у пониропга есть командный режим.


Дык руководство и мешает... Пока я его не убедю, что другого пути нет.
А решает оно не только это. Например, где должна лежать отвертка cranky.gif . Потому (в частности) я и работаю дома
Diusha
Всем спасибо!
Пусть начальник посовещается с собой и выберет новый формат
Diusha
Начальник посовещался и решил, что новый программатор надо вернуть в магазин biggrin.gif biggrin.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.