Stlink: [функция] Расчет контрольных сумм для операций с флэш-памятью

Созданный на 24 февр. 2020  ·  13Комментарии  ·  Источник: stlink-org/stlink

Привет,

Есть ли способ получить контрольную сумму из двоичного файла? как инструмент st-link в окнах? Я хочу сравнить два двоичных файла, сгенерированных на моем компьютере, и стандартный.

codfeature-request componenst-flash generadocumention staturesolved

Все 13 Комментарий

Вы имеете в виду контрольную сумму памяти на устройстве? И сравнить это с файлом на вашем компьютере?

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

в инструменте st-link, когда вы загружаете двоичный файл, ti вычисляет контрольную сумму, поэтому я использовал это, чтобы выяснить, когда у меня был правильный набор инструментов

https://i.ibb.co/5TS7twF/figure.png

Ах хорошо. Эти инструменты не делают этого за вас в нынешнем виде. В Windows я могу порекомендовать шестнадцатеричный редактор HxD для контрольной суммы двоичного файла (или просто быстро сравнить два двоичных файла). Вы используете Windows?

@vitormhenrique : К сожалению, я не могу прочитать содержимое изображения, на которое вы

Понятия не имею, почему это изображение было таким маленьким ....

https://i.ibb.co/mq8vvpP/pic.png

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

Если не указаны специальные ограничения алгоритма, я думаю, что довольно легко интегрировать некоторый алгоритм контрольной суммы (md5, sha256 и т. Д.) В процесс загрузки файла. Может быть, я смогу попробовать, когда буду свободен.

Утилита stlink (та, что в захвате) определяет контрольную сумму в своей документации (UM0892) как простую арифметическую сумму, усеченную до 32 бит ... (вздох)

Контрольная сумма памяти
Вычисляет значение контрольной суммы указанной зоны памяти, определяемой
поля адреса и размера в разделе "Отображение памяти" главного окна.
Контрольная сумма вычисляется на основе алгоритма арифметической суммы, байт на
байт. Результат обрезается до 32-битного слова.
Значение контрольной суммы отображается в окне журнала.

Хотя это довольно грубо и ненадежно, но реализовать это дешево, и было бы неплохо поддерживать «совместимость» с st-утилитой.

@grevaillot Спасибо за информацию, я добавлю поддержку этого в свой PR.

Должны ли мы иметь некоторую документацию по этому поводу в нашем руководстве?

Я думаю, что для алгоритма, используемого программой Windows ST, может потребоваться документация, по крайней мере, для разработчиков.

Хорошо, тогда вы можете добавить раздел с несколькими строками в наше руководство (в конце проверенной части)? Это было бы чудесно. Не беспокойтесь о форматировании там слишком много, так как я все равно работаю над этим документом ...

Мне все еще интересно, следует ли объединить два метода вместе.
Если это так, мне может потребоваться настроить эти две функции для лучшего формата. Текущие два коммита приведут к слишком подробному выводу.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги