Вопрос по Intel HEX

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
jockerface
Родился
Сообщения: 18
Зарегистрирован: Пн апр 11, 2022 16:41:09

Вопрос по Intel HEX

Сообщение jockerface »

Добрый день.
Пытался перевести hex-файл, сгенерированный CCS (Code Composer Studio) в bin утилитой srec_cat

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

srec_cat.exe test.hex -intel -line_length=64 -o .out.bin -binary
Пишет про ошибку адресации:

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

srec_cat: test.hex: 3: warning: data records not in strictly ascending order
    (expected >= 0x300020, got 0x300010)
srec_cat: test.hex: 3: multiple 0x00300010 values (previous = 0x76, this one =
    0x29)
Вот начало этого файла:

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

:020000040030CA
:20000000761BFFF0E20000BDE63006002942561676256F00761BFFF0E20000BDE630060089
:200010002942561676256F00761BFFF0E20000BDE63006002942561676256F00761BFFF053
:20002000E20000BDE63006002942561676256F00761BFFF0E20000BDE63006002942561612
:2000300076256F00761BFFF0E20000BDE63006002942561676256F00761BFFF0E20000BD6B
Подскажите, пожалуйста, как правильно указать утилите ключи, чтобы в этом случае она отрабатывала правильно?
Реклама
Аватара пользователя
Dismas
Потрогал лапой паяльник
Сообщения: 365
Зарегистрирован: Вс май 02, 2021 18:58:49
Откуда: 俄罗斯

Re: Вопрос по Intel HEX

Сообщение Dismas »

[uquote="jockerface",url="/forum/viewtopic.php?p=4580434#p4580434"]Пытался перевести hex-файл, сгенерированный CCS (Code Composer Studio) в bin...[/uquote]
Я конечно дико извиняюсь за вопрос, звучит видимо глупо,
но мне таки сильно интересно, а зачем ?
Реклама
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Вопрос по Intel HEX

Сообщение Martian »

ну, может у него загрузчик в чипе
jockerface
Родился
Сообщения: 18
Зарегистрирован: Пн апр 11, 2022 16:41:09

Re: Вопрос по Intel HEX

Сообщение jockerface »

[uquote="Martian",url="/forum/viewtopic.php?p=4580514#p4580514"]ну, может у него загрузчик в чипе[/uquote]
Верно.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Dismas
Потрогал лапой паяльник
Сообщения: 365
Зарегистрирован: Вс май 02, 2021 18:58:49
Откуда: 俄罗斯

Re: Вопрос по Intel HEX

Сообщение Dismas »

[uquote="jockerface",url="/forum/viewtopic.php?p=4580434#p4580434"]Пытался перевести hex-файл - в bin утилитой srec_cat
.. как правильно указать утилите ключи, чтобы в этом случае она отрабатывала правильно?[/uquote]

За вашу утилиту не скажу, доводилось пользоваться hex2bin,
проблем не возникало (и на 7/64 и на 10/64)
Ссылочка на страничку https://sourceforge.net/projects/hex2bin/
h2b.jpg
(191.48 КБ) 84 скачивания
Реклама
Аватара пользователя
Michael_Sch
Открыл глаза
Сообщения: 74
Зарегистрирован: Пт июл 12, 2013 13:53:52
Откуда: Санкт-Петербург

Re: Вопрос по Intel HEX

Сообщение Michael_Sch »

[uquote="jockerface"
Вот начало этого файла:

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

:020000040030CA
:20000000761BFFF0E20000BDE63006002942561676256F00761BFFF0E20000BDE630060089
:200010002942561676256F00761BFFF0E20000BDE63006002942561676256F00761BFFF053
:20002000E20000BDE63006002942561676256F00761BFFF0E20000BDE63006002942561612
:2000300076256F00761BFFF0E20000BDE63006002942561676256F00761BFFF0E20000BD6B[/code/]
[/uquote]
Стесняюсь спросить, а Вы  формат .hex смотрели? 
Сгенерировано неправильно. В строке кода декларировано 32 байта (0x20)кода, а адрес инкрементируется на 16 байт (010). Вот у преобразователя башню и клинит. Шаг адреса должен быть 0х20.
Ну или по 16 байт в строке.
Зачем, зубодер распроклятый, мучительный тянешь момент?
Тебе, стоматолог, сто матов измученный шлет пациент! (с) Вадим Шефнер
Реклама
jockerface
Родился
Сообщения: 18
Зарегистрирован: Пн апр 11, 2022 16:41:09

Re: Вопрос по Intel HEX

Сообщение jockerface »

[uquote="Dismas",url="/forum/viewtopic.php?p=4580556#p4580556"]За вашу утилиту не скажу, доводилось пользоваться hex2bin,
проблем не возникало (и на 7/64 и на 10/64)[/uquote]

Вы с какими ключами её запускали?
jcxz
Мудрый кот
Сообщения: 1731
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Вопрос по Intel HEX

Сообщение jcxz »

[uquote="Michael_Sch",url="/forum/viewtopic.php?p=4580626#p4580626"]Сгенерировано неправильно. В строке кода декларировано 32 байта (0x20)кода, а адрес инкрементируется на 16 байт (010). Вот у преобразователя башню и клинит. Шаг адреса должен быть 0х20.
Ну или по 16 байт в строке.[/uquote]Так сгенерировано думаю потому, что автор работает с DSP, у которых размер слова = 16 бит и никаких байтов такие DSP не знают. О чём автор конечно же "забыл" упомянуть. Адресация в таких DSP идёт словами, поэтому шаг адреса - правильный, так как каждый адрес содержит 16 бит данных.

Насчёт "на кой нужно переводить" - присоединяюсь к предыдущим ораторам. На кой??? Работайте с hex-файлом. Это и удобнее и идеологически правильнее.

Добавлено after 6 minutes 9 seconds:
[uquote="Martian",url="/forum/viewtopic.php?p=4580514#p4580514"]ну, может у него загрузчик в чипе[/uquote]Насколько помню - в тех DSP, в которых адресное пространство измеряется словами (семейство C5000 TI DSP), чиповый ROM-загрузчик принимает двоичный образ. Что конечно же нисколько не мешает читать .hex-файл, а отправлять в DSP - бинарный образ. (как я лет ~20 назад и делал)
В тех TI DSP, которые имеют байтовое адресное пространство (C6000 TI DSP), там ROM-загрузчики принимают .ais-образы. Которые и не бинарные (как таковые) и не .hex. А значит у ТС-а явно не такой DSP. Скорее всего - у него что-то из семейства C5000. Хотя может и младшее семейство C2000 - я про них ничего не знаю.
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Вопрос по Intel HEX

Сообщение Martian »

ССS работает не только с DSP
Аватара пользователя
Dismas
Потрогал лапой паяльник
Сообщения: 365
Зарегистрирован: Вс май 02, 2021 18:58:49
Откуда: 俄罗斯

Re: Вопрос по Intel HEX

Сообщение Dismas »

[uquote="jockerface",url="/forum/viewtopic.php?p=4580679#p4580679"]Вы с какими ключами её запускали?[/uquote]
В зависимости от того, что нужно сделать.
Набор ключей указан на картинке, описание по ссылке.
Я же не знаю, что вам нужно, какие у вас задачи.
К примеру у меня файл hex в котором нужное мне место начинается не с начала, а с адреса 0x0C000
я запускаю hex2bin.exe -s 0x0C000 namefile.hex
на выходе получаю namefile.bin в нужном формате и без "лишних" байтов в начале.
jcxz
Мудрый кот
Сообщения: 1731
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Вопрос по Intel HEX

Сообщение jcxz »

[uquote="Martian",url="/forum/viewtopic.php?p=4580700#p4580700"]ССS работает не только с DSP[/uquote]Ну и что? А в каких "неDSP" адресное пространство измеряется не байтами, а 16-битными словами? Разве такие есть?
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15575
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Вопрос по Intel HEX

Сообщение BOB51 »

Можно и самому преобразователь нацарапать...
Вот кой-чего по описаниям формата (вырезки из док по ассемблеру):
mcs51_atmel.pdf
(1.3 МБ) 93 скачивания
pic.pdf
(351.61 КБ) 106 скачиваний
:wink:
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Вопрос по Intel HEX

Сообщение Martian »

jcxz, не знаю. Но Вы конкретно уточнили одно семейство, предположили другое, значит, наверное, есть...
jcxz
Мудрый кот
Сообщения: 1731
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Вопрос по Intel HEX

Сообщение jcxz »

[uquote="Martian",url="/forum/viewtopic.php?p=4580782#p4580782"]jcxz, не знаю. Но Вы конкретно уточнили одно семейство, предположили другое, значит, наверное, есть...[/uquote]Кроме DSP я знаю ещё разве что у некоторых семейств PIC-ов память программ бывает нестандартного размера = 14 бит или другой разрядности. Но CCS с PIC-ами не работает, только с DSP и ARM-ами вроде как. Ну может ещё с MSP430, но в MSP тоже байтовое адресное пространство.
Аватара пользователя
Ivanoff-iv
Друг Кота
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Re: Вопрос по Intel HEX

Сообщение Ivanoff-iv »

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

Вернуться в «Разные вопросы по МК»