ДЕЙЛ 32 20 августа, 2015 Опубликовано 20 августа, 2015 · Жалоба Если была такая тема, то хотелось бы ссылку увидеть, поиск мне выдал добрые два десятка страниц. Сейчас разбираюсь в загрузчике и есть вопрос по поводу контрольной суммы бинарного файла, скомпилированного в Keil'е. Где она хранится и какой алгоритм расчёта? Где можно почитать на эту тему? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 20 августа, 2015 Опубликовано 20 августа, 2015 · Жалоба Сейчас разбираюсь в загрузчике и есть вопрос по поводу контрольной суммы бинарного файла, скомпилированного в Keil'е. Где она хранится и какой алгоритм расчёта? Где можно почитать на эту тему? Нет никакой контрольной суммы. Хотите её - лепите сами. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 21 августа, 2015 Опубликовано 21 августа, 2015 · Жалоба У кортексов М, есть контрольная сумма векторов прерываний, храниться где то в середине таблицы прерываний, является суммой самой таблице по 16 бит, кажется. Смотрите описание. А так в общем смысле суммы нет, как сделаете так и будет, куда положите там и возьмете Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 21 августа, 2015 Опубликовано 21 августа, 2015 · Жалоба У кортексов М, есть контрольная сумма векторов прерываний, храниться где то в середине таблицы прерываний, является суммой самой таблице по 16 бит, кажется. Это не у кортексов, а у NXP LPC. У них заводской загрузчик какую-то контрольную сумму считает. Процессор сам по себе здесь ни при чём. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 38 21 августа, 2015 Опубликовано 21 августа, 2015 · Жалоба "…у NXP LPC…" которые 7TDMI Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 21 августа, 2015 Опубликовано 21 августа, 2015 · Жалоба то не у кортексов, а у NXP LPC. У них заводской загрузчик какую-то контрольную сумму считает. Процессор сам по себе здесь ни при чём. Да? ну тоды ой%) помню что читал на arm.com, сейчас зашел, а там и правда про специфику LPC пишут:) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 21 августа, 2015 Опубликовано 21 августа, 2015 · Жалоба Такой суммы не может быть в принципе. Ибо только программист знает, где у него началась программа и где она закончилась. Где у него будет свой загрузчик, где будет приложение, где будут храниться настройки и что из этого ему нужно обложить контрольной суммой. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 21 августа, 2015 Опубликовано 21 августа, 2015 · Жалоба Такой суммы не может быть в принципе. Ибо только программист знает, где у него началась программа и где она закончилась. Где у него будет свой загрузчик, где будет приложение, где будут храниться настройки и что из этого ему нужно обложить контрольной суммой. Не смотря на все вышеизложенное, в составе утилит того-же IAR (а раньше это делал линкер) есть утилита позволяющая генерить по заданным алгоритмам контрольные суммы и размещать их - IELFTOOL (IAR ELF Tool). И помнится все это из binutils растет? Я правда ей не пользусь, в отличие от линкера 4.x версий, поскольку в 5.x она была уродлива, но сейчас может подправили. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 21 августа, 2015 Опубликовано 21 августа, 2015 · Жалоба в составе утилит того-же IAR (а раньше это делал линкер) есть утилита позволяющая генерить по заданным алгоритмам контрольные суммы и размещать их - IELFTOOL (IAR ELF Tool). У меня это вызывает недоумение. Есть же srec_cat, он всё умеет. Наверное, если бы они про него знали, то не стали бы изобретать этот велосипед. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 21 августа, 2015 Опубликовано 21 августа, 2015 · Жалоба У меня это вызывает недоумение. Есть же srec_cat, он всё умеет. Наверное, если бы они про него знали, то не стали бы изобретать этот велосипед. Нет, это СОВСЕМ разные утилиты. srecord нифига не знает ни о структуре прошивки ни об именах переменных. Поросто абстрактная работа с образом. Так-что зря Вы про велосипед :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 21 августа, 2015 Опубликовано 21 августа, 2015 · Жалоба Нет, это СОВСЕМ разные утилиты. srecord нифига не знает ни о структуре прошивки ни об именах переменных. Поросто абстрактная работа с образом. Мне эта абстрактная утилита позволяет с успехом вставлять куда надо и размер прошивки, и контрольную сумму. Так что о переменных не тужу :-) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 21 августа, 2015 Опубликовано 21 августа, 2015 · Жалоба вставлять куда надо и размер прошивки, и контрольную сумму. Так что о переменных не тужу :-) Только вот "куда надо" надо рукам указывать и только по фикированному адресу, как и области, которые подлежат контролю. Да и выбор алгоритмов из стандартных. Я как-бы тоже своей утилитой делаю, но тем неменее и iELFtool отдаю должное. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 60 21 августа, 2015 Опубликовано 21 августа, 2015 · Жалоба да такую программу написать - максимум пол-дня. Как надо так и будет считать и записывать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 143 22 августа, 2015 Опубликовано 22 августа, 2015 · Жалоба Не смотря на все вышеизложенное, в составе утилит того-же IAR (а раньше это делал линкер) есть утилита позволяющая генерить по заданным алгоритмам контрольные суммы и размещать их - IELFTOOL (IAR ELF Tool).Но она кладет туда, куда укажет программист. Контрольной суммы, которую компилятор кладет куда-то сам, нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 22 августа, 2015 Опубликовано 22 августа, 2015 · Жалоба Но она кладет туда, куда укажет программист. Контрольной суммы, которую компилятор кладет куда-то сам, нет. Ну что "куда-то сам", я не утверждал. Но в общем-то на самом деле в определенном смысле и это так - кладет ПО ИМЕНИ ПЕРЕМЕННОЙ, котрую да, "укажет программист". А если, эта переменная будет ну где-нибудь в стартапе полученным вместе с компилятором, и которой большинство и в глаза не видели, то это будет "программист" или "компилятор" :) :) :)? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться