реклама на сайте
подробности

 
 
> Вычисление CRC с помощью sRecord
Sprite
сообщение Apr 29 2015, 05:48
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 173
Регистрация: 11-05-08
Пользователь №: 37 414



Доброго всем времени суток!
Задача: есть исходный файл (бинарник) из 8 байт, забитых значением 0x11. Надо в конец файла (т.е. с адреса 0x08) вставить 2 байта CRC16 (вычисленное с полиномом 0xA001) программой Srecord. Делаю так:
Код
srec_cat sec.bin --binary -crc16-b-e 0x08 -poly 0xA001 --output sec_new.bin --binary

Значения добавляются (0x14 0x1E), но не те (0xED 0xE7).
В чем может быть проблема? Может srecord нужно указывать начало и конец исходных данных?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
esaulenka
сообщение Apr 29 2015, 06:45
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Пользовался только "стандартным" CRC, так что мысли чисто теоретические, но...

Документация сообщает нам, что значение полинома надо передавать просто числом, без -poly. Ключ poly - это ИМЯ полинома.

Сергей, crc16-l-e / -b-e в документации есть (http://srecord.sourceforge.net/man/man1/srec_input.html, искать "crc16"). Другой вопрос, что документации могло бы быть и побольше, без чЮдных фразочек "и вообще, это опенсорс, смотрите в исходниках".


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Apr 29 2015, 07:05
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(esaulenka @ Apr 29 2015, 09:45) *
Сергей, crc16-l-e / -b-e в документации есть (http://srecord.sourceforge.net/man/man1/srec_input.html, искать "crc16").
Спасибо. Я искал именно "crc16-b-e", а там описана полная форма "−CRC16_Big_Endian". "Догадайся, мол, сама". Там есть и описание двух ключей - "−Most_To_Least" (по умолчанию) и "−Least_To_Most", который, вероятно, нам и нужен.




--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Sprite   Вычисление CRC с помощью sRecord   Apr 29 2015, 05:48
- - Сергей Борщ   С полиномом 0xA001 сдвиг осуществляется вправо. ...   Apr 29 2015, 06:28
|- - Sprite   Цитата(Сергей Борщ @ Apr 29 2015, 12:28) ...   Apr 29 2015, 06:44
|- - Sprite   Цитата(esaulenka @ Apr 29 2015, 12:45) До...   Apr 29 2015, 07:04
||- - esaulenka   Цитата(Sprite @ Apr 29 2015, 10:04) Да, н...   Apr 29 2015, 07:32
|- - Sprite   Цитата(Сергей Борщ @ Apr 29 2015, 13:05) ...   Apr 29 2015, 07:26
- - mcheb   Пока разберетесь с документацией, проще самому в G...   Apr 29 2015, 07:26
|- - Sprite   Цитата(mcheb @ Apr 29 2015, 13:26) Пока р...   Apr 29 2015, 07:39
|- - Sprite   Пробовал считать CRC32. Код такой:Кодsrec_cat sec....   Apr 29 2015, 11:53
- - Sprite   Всем спасибо, разобрался.   Apr 29 2015, 13:43
|- - AHTOXA   Может быть, расскажете, как правильно?   Apr 29 2015, 15:49
|- - Sprite   Цитата(AHTOXA @ Apr 29 2015, 21:49) Может...   May 6 2015, 05:01
- - esaulenka   Решал аналогичную задачу. Во-первых, CRC по алгори...   May 22 2015, 05:56


Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 22:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.01382 секунд с 7
ELECTRONIX ©2004-2016