Перейти к содержанию
    

Контрольная сумма прошивки и Keil

Если была такая тема, то хотелось бы ссылку увидеть, поиск мне выдал добрые два десятка страниц.

 

Сейчас разбираюсь в загрузчике и есть вопрос по поводу контрольной суммы бинарного файла, скомпилированного в Keil'е. Где она хранится и какой алгоритм расчёта? Где можно почитать на эту тему?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сейчас разбираюсь в загрузчике и есть вопрос по поводу контрольной суммы бинарного файла, скомпилированного в Keil'е. Где она хранится и какой алгоритм расчёта? Где можно почитать на эту тему?

Нет никакой контрольной суммы. Хотите её - лепите сами.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У кортексов М, есть контрольная сумма векторов прерываний, храниться где то в середине таблицы прерываний, является суммой самой таблице по 16 бит, кажется. Смотрите описание. А так в общем смысле суммы нет, как сделаете так и будет, куда положите там и возьмете

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У кортексов М, есть контрольная сумма векторов прерываний, храниться где то в середине таблицы прерываний, является суммой самой таблице по 16 бит, кажется.

Это не у кортексов, а у NXP LPC. У них заводской загрузчик какую-то контрольную сумму считает. Процессор сам по себе здесь ни при чём.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

то не у кортексов, а у NXP LPC. У них заводской загрузчик какую-то контрольную сумму считает. Процессор сам по себе здесь ни при чём.

Да? ну тоды ой%) помню что читал на arm.com, сейчас зашел, а там и правда про специфику LPC пишут:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Не смотря на все вышеизложенное, в составе утилит того-же IAR (а раньше это делал линкер) есть утилита позволяющая генерить по заданным алгоритмам контрольные суммы и размещать их - IELFTOOL (IAR ELF Tool). И помнится все это из binutils растет? Я правда ей не пользусь, в отличие от линкера 4.x версий, поскольку в 5.x она была уродлива, но сейчас может подправили.

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в составе утилит того-же IAR (а раньше это делал линкер) есть утилита позволяющая генерить по заданным алгоритмам контрольные суммы и размещать их - IELFTOOL (IAR ELF Tool).

У меня это вызывает недоумение. Есть же srec_cat, он всё умеет. Наверное, если бы они про него знали, то не стали бы изобретать этот велосипед.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня это вызывает недоумение. Есть же srec_cat, он всё умеет. Наверное, если бы они про него знали, то не стали бы изобретать этот велосипед.

Нет, это СОВСЕМ разные утилиты. srecord нифига не знает ни о структуре прошивки ни об именах переменных. Поросто абстрактная работа с образом.

Так-что зря Вы про велосипед :)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет, это СОВСЕМ разные утилиты. srecord нифига не знает ни о структуре прошивки ни об именах переменных. Поросто абстрактная работа с образом.

Мне эта абстрактная утилита позволяет с успехом вставлять куда надо и размер прошивки, и контрольную сумму. Так что о переменных не тужу :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вставлять куда надо и размер прошивки, и контрольную сумму. Так что о переменных не тужу :-)

Только вот "куда надо" надо рукам указывать и только по фикированному адресу, как и области, которые подлежат контролю. Да и выбор алгоритмов из стандартных. Я как-бы тоже своей утилитой делаю, но тем неменее и iELFtool отдаю должное.

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

да такую программу написать - максимум пол-дня. Как надо так и будет считать и записывать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не смотря на все вышеизложенное, в составе утилит того-же IAR (а раньше это делал линкер) есть утилита позволяющая генерить по заданным алгоритмам контрольные суммы и размещать их - IELFTOOL (IAR ELF Tool).
Но она кладет туда, куда укажет программист. Контрольной суммы, которую компилятор кладет куда-то сам, нет.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но она кладет туда, куда укажет программист. Контрольной суммы, которую компилятор кладет куда-то сам, нет.

Ну что "куда-то сам", я не утверждал. Но в общем-то на самом деле в определенном смысле и это так - кладет ПО ИМЕНИ ПЕРЕМЕННОЙ, котрую да, "укажет программист". А если, эта переменная будет ну где-нибудь в стартапе полученным вместе с компилятором, и которой большинство и в глаза не видели, то это будет "программист" или "компилятор" :) :) :)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...