чем посчитать контрольную сумму прошивки
Eprom. Подсчёт контрольной суммы
Наша строка 27 01 d8 7f 12 a1 c9 8f 75 75
Последние два байта это контрольная сумма. И при смене значений её нужно пересчитывать.
В расчет берется всё от 27 … до 8F.
Немного изменим запись чтоб было нагляднее понятно.
27 01 d8 7f 12 a1 89 8f B5 35
B5 — Первая контрольная сумма.
35 — Вторая контрольная сумма.
И так начнём.
Подсчёт первой КС по пунктам
1. Переводим каждое значение из 16-ой системы в 10-ую.
Пример: 27 01 d8 7f 12 a1 89 8f — 39 1 216 127 18 161 137 143
2. Нужно сложить все 8 байт в десятиричной системе.
Пример: 39+1+216+127+18+161+137+143=842
3. Переводим в 16 систему.
Пример: 842-034a
4. От результата нужно оставить только два правых символа
Пример: 034a — 4A
5. Далее переводим в 10-ую систему.
Пример: 4A = 74
6. От 255 нужно отнять результат пункта 5.
Пример: 255-74=181.
7. Переводим обратно в 16-ую систему. Это и будет КС 1
Пример: 181 в шестнадцатиричной системе будет b5
Итог: 1 Контрольная сумма B5.
Подсчёт 2 Контрольной суммы:
1. Берём опять эту строку 27 01 d8 7f 12 a1 89 8f.
2. Переводим каждый байт в двоичную систему.
Пример: 27 01 d8 7f 12 a1 89 8f — 00100111 00000001 11011000 01111111 00010010 10100001 10001001
10001111
3. Будем считать биты с лево на право для упрощения понимания.
Нужно сложить все первые биты каждого байта. Потом все вторые, потом третьи и так все 8.
Пример:0+0+1+0+0+1+1+1=4, вторые биты- 0+0+1+1+0+0+0+0=2 и т.д. с каждым битом.
Получим такое — 4,2,3,3,4,3,4,6.
4. Переписываем эту строчку в таком формате. Если число четное то=0, нечетное=1 и получаем байт в двоичной системе.
Пример:4,2,3,3,4,3,4,6.= 00110100
5. Переводим итог пункта 4 в Десятичную систему.
Пример: 00110100 = 52 (в десятичной).
6. Нужно прибавить единицу к результату пункта 5.
Пример: 52+1=53.
7. Переводим в Шестнадцатиричную систему. И получаем КС 2.
Пример: 53 = 35.
Вот и получилась вторая контрольная сумма. 35.
Делитесь своими наработками и давайте делиться уже со всеми бесплатно.
Спасибо God1983 и его другу за неоценимую помощь. Всем Добра!
Что такое контрольная сумма (КС) прошивки?
Добро пожаловать на ChipTuner Forum.
Опции темы
Что такое контрольная сумма (КС) прошивки?
Системы управления двигателем осуществляют самодиагностику функционирования датчиков и самого блока управления и его функциональных частей — ОЗУ, ПЗУ, ЕЕPROM. В простейшем случае, для такой проверки целостности «прошивки» внутри ее хранится контрольная сумма, которая получается суммированием байт прошивки. В прошивке контрольная сумма (КС) хранится вместе с собственным «зеркалом», то есть байтами, при сложении с которыми КС равна нулю. Это нужно для того, что бы само значение КС не влияло на результат вычисления КС программой ЭБУ. Программа ЭБУ при включении зажигания рассчитывает значение контрольной суммы и сравнивает это значение со значением, которое хранится в прошивке. Если эти значения не совпадают, то выстаяляется «Ошибка ПЗУ» и зажигается лампа индикации ошибок «Check Engine».
В более современном ПО применен двойной контроль КС ПЗУ, описанный выше и еще один алгоритм, не связанный с маской ошибок (в маске ошибок убрать ее нельзя), работающий параллельно с основным. Теоретически возможно одновременное применение любого количества проверок как всего содержимого ПЗУ, так и его частей.
Совсем недавно, прежде чем производить тюнинг какой-либо «прошивки» необходимо было разобраться с алгоритмом подсчета и расположением контрольной суммы в прошивке. Сейчас, при использовании специализированной программы редактирования калибровочных данных прошивок ChipTuning Pro и программатора Combiloader, все изменения КС, её подсчет и корректировка происходит автоматически и незаметно для пользователя. Мало того, эти программы позволяют установить и фиксировать любое произвольное отображение КС прошивки.
Посчитать контрольную сумму прошивки
Есть прошивка для контроллера, в прошивке в 4-х последних байтах должна быть записана контрольная сумма этой прошивки. (Пример прошивки с правильной КС) Подскажите, если это не сложно, алгоритм как она расчитывается.
P.S. Это прошивка для ЭБУ автомобильного двигателя, при инициализации контроллер загружает прошивку из EEPROM и сверяет расчитанную КС с записанной, если они не совпадают, то загорается лампочка «Check Engine» двигатель не заводится.
в прошивке в 4-х последних байтах должна быть записана контрольная сумма этой прошивки
Это точная информация? Откуда она?
Смотря, какой алгоритм КС. Блочный или побитовый? Просто вычисляет чётность или что-то посложнее?
Должна быть точной, в описании к файлу прошивки было написано: «контрольная сумма 0048»
Как раз прошу совет как вычислить алгоритм по готовому примеру.
> Как раз прошу совет как вычислить алгоритм по готовому примеру.
а чем это таким занимаетесь? какие сайты подскажете по чтению с разъёма ОДБ, может ещё по каким игрушкам? хотя больше бортовые компьютеры интересуют
Посмотрел ваш профиль, никаких контактов. Дайте свой jid, у меня тоже есть к вам вопрос по поводу ISO 9141-2.
только я особо ничего и не знаю, быть честным
Чем посчитать контрольную сумму прошивки
Источники питания электронной аппаратуры, импульсные и линейные регуляторы. Топологии AC-DC, DC-DC преобразователей (Forward, Flyback, Buck, Boost, Push-Pull, SEPIC, Cuk, Full-Bridge, Half-Bridge). Драйвера ключевых элементов, динамика, алгоритмы управления, защита. Синхронное выпрямление, коррекция коэффициента мощности (PFC)
Обратная Связь, Стабилизация, Регулирование, Компенсация
Организация обратных связей в цепях регулирования, выбор топологии, обеспечение стабильности, схемотехника, расчёт
Первичные и Вторичные Химические Источники Питания
Li-ion, Li-pol, литиевые, Ni-MH, Ni-Cd, свинцово-кислотные аккумуляторы. Солевые, щелочные (алкалиновые), литиевые первичные элементы. Применение, зарядные устройства, методы и алгоритмы заряда, условия эксплуатации. Системы бесперебойного и резервного питания
Высоковольтные выпрямители, умножители напряжения, делители напряжения, высоковольтная развязка, изоляция, электрическая прочность. Высоковольтная наносекундная импульсная техника
Электрические машины, Электропривод и Управление
Электропривод постоянного тока, асинхронный электропривод, шаговый электропривод, сервопривод. Синхронные, асинхронные, вентильные электродвигатели, генераторы
Технологии, теория и практика индукционного нагрева
Системы Охлаждения, Тепловой Расчет – Cooling Systems
Охлаждение компонентов, систем, корпусов, расчёт параметров охладителей
Моделирование и Анализ Силовых Устройств – Power Supply Simulation
Моделирование силовых устройств в популярных САПР, самостоятельных симуляторах и специализированных программах. Анализ устойчивости источников питания, непрерывные модели устройств, модели компонентов
Силовые полупроводниковые приборы (MOSFET, BJT, IGBT, SCR, GTO, диоды). Силовые трансформаторы, дроссели, фильтры (проектирование, экранирование, изготовление), конденсаторы, разъемы, электромеханические изделия, датчики, микросхемы для ИП. Электротехнические и изоляционные материалы.
Интерфейсы
Форумы по интерфейсам
все интерфейсы здесь
Поставщики компонентов для электроники
Поставщики всего остального
от транзисторов до проводов
Компоненты
Закачка тех. документации, обмен опытом, прочие вопросы.
Майнеры криптовалют и их разработка, BitCoin, LightCoin, Dash, Zcash, Эфир
Обсуждение Майнеров, их поставки и производства
наблюдается очень большой спрос на данные устройства.
Встречи и поздравления
Предложения встретиться, поздравления участников форума и обсуждение мест и поводов для встреч.
Ищу работу
Предлагаю работу
нужен постоянный работник, разовое предложение, совместные проекты, кто возьмется за работу, нужно сделать.
Куплю
микросхему; устройство; то, что предложишь ты 🙂
Продам
Объявления пользователей
Тренинги, семинары, анонсы и прочие события
Общение заказчиков и потребителей электронных разработок
Обсуждение проектов, исполнителей и конкурсов
Мотор Мастер Клуб
Автодиагностика для любителей и профессионалов
Текущее время: 19.12.2021, 20:25
Контрольная сумма Flash EEPROM
Re: Контрольная сумма Flash EEPROM
Re: Контрольная сумма Flash EEPROM
Re: Контрольная сумма Flash EEPROM
Сообщение buka87 » 03.03.2016, 17:40
Re: Контрольная сумма Flash EEPROM
Сообщение f111uzm » 03.03.2016, 17:58
Re: Контрольная сумма Flash EEPROM
Сообщение buka87 » 03.03.2016, 18:41
Re: Контрольная сумма Flash EEPROM
Сообщение f111uzm » 03.03.2016, 19:36
Re: Контрольная сумма Flash EEPROM
Сообщение erbolius » 03.03.2016, 22:18
Re: Контрольная сумма Flash EEPROM
Сообщение __Maksim__ » 03.03.2016, 22:21
Re: Контрольная сумма Flash EEPROM
Сообщение erbolius » 03.03.2016, 22:26
Re: Контрольная сумма Flash EEPROM
Сообщение VL@DIMIR » 03.03.2016, 22:28
Re: Контрольная сумма Flash EEPROM
Сообщение erbolius » 03.03.2016, 22:30
Re: Контрольная сумма Flash EEPROM
Сообщение жека_102 » 03.03.2016, 23:00
Re: Контрольная сумма Flash EEPROM
Сообщение erbolius » 03.03.2016, 23:32
Re: Контрольная сумма Flash EEPROM
Сообщение Иоанн » 04.03.2016, 07:17
Абсолютно неважно, какой загрузчик используется для загрузки прошивок. Главное, чтобы прошивка была корректная. Авторские они всегда с пересчитанной КС. Или самостоятельно правленная в редакторе тоже будет с пересчитанной КС. Адактовские прошивки, к примеру, много раз записывать мотор-лоадером. Не о том вы думаете. Вы займитесь диагностикой несколько лет, до тех пор, пока такие вопросы пропадут.
Кажется понял, о чем вы. Сам мотор-лоадер ничего не пересчитывает, никакой КС и подписей.
Re: Контрольная сумма Flash EEPROM
Сообщение MegavoltAM » 04.03.2016, 07:45