Mulfarion
@Mulfarion
НЛО

Как можно отредактировать hex файл?

Пишу небольшую программку wpf для управления светодиодной лентой ws2812b через COM-порт. Сама лента управляется через arduino nano с предварительно загруженным скетчем. Программка умеет управлять всеми параметрами ленты + спецэффекты и в добавок умеет прошивать arduino предварительно подготовленным файлом скетча в формате hex с дефолтными настройками. Теперь необходимо придумать, как можно поменять дефолтные настройки в hex файле. Т.е. конвертировать файл до читаемого вида, заменить пару параметров текущими настройками и сгенерировать новый hex файл для заливки на arduino.

Еще возможный вариант, получить файл скетча для arduino и его конвертировать в hex, но тогда как-то надо подключать к приложению библиотеки ардуины. Сдается мне, что это нереальная задача.
  • Вопрос задан
  • 1700 просмотров
Решения вопроса 1
@kalapanga
Извините, но Ваше решение - это удаление гланд через задний проход. Что мешает Вашей ардуине получать необходимые настройки от компа, использовать их, если необходимо, то сохранять в eeprom?
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@OwDafuq
Hex — обозначение шестнадцатеричной системы счисления (правда же, что не удобно было бы смотреть на 0101010010101010101010011100101010.....)
Это не HEX файл, а простой бинарник, скорее всего, редактировать - BinaryReader & BinaryWriter.
Ответ написан
@Hoksmur
Выбирайте:
а) делить файл на 2 части: прошивка и отдельный сегмент с переменными для настройки; зашивается в два этапа, для каждого файла свой
б) модификация уже подсказанного: хранить в еепром, что тоже отдельный сегмент по факту
в) поищите задачу с серийными номерами приборов: по сути тоже самое, только там параметр=серийник
г) делать настройку на этапе компиляции, если возможно.
д) самому пережёвывать hex в бинарник, искать там вашу переменную, определять по какому адресу лежит, и корректировать содержимое hex-а с пересчётом контрольной суммы. Вроде как avreal умел что-то подобное.

В последнем случае пишите тулзу, которая по смещению и размеру переменной будет поправлять значение в HEX-e.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы