реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Контрольная сумма прошивки и Keil
ДЕЙЛ
сообщение Aug 20 2015, 19:32
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 234
Регистрация: 7-11-13
Пользователь №: 79 085



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

Сейчас разбираюсь в загрузчике и есть вопрос по поводу контрольной суммы бинарного файла, скомпилированного в Keil'е. Где она хранится и какой алгоритм расчёта? Где можно почитать на эту тему?
Go to the top of the page
 
+Quote Post
scifi
сообщение Aug 20 2015, 19:51
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(ДЕЙЛ @ Aug 20 2015, 22:32) *
Сейчас разбираюсь в загрузчике и есть вопрос по поводу контрольной суммы бинарного файла, скомпилированного в Keil'е. Где она хранится и какой алгоритм расчёта? Где можно почитать на эту тему?

Нет никакой контрольной суммы. Хотите её - лепите сами.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Aug 21 2015, 06:55
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



У кортексов М, есть контрольная сумма векторов прерываний, храниться где то в середине таблицы прерываний, является суммой самой таблице по 16 бит, кажется. Смотрите описание. А так в общем смысле суммы нет, как сделаете так и будет, куда положите там и возьмете
Go to the top of the page
 
+Quote Post
scifi
сообщение Aug 21 2015, 07:03
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Golikov A. @ Aug 21 2015, 09:55) *
У кортексов М, есть контрольная сумма векторов прерываний, храниться где то в середине таблицы прерываний, является суммой самой таблице по 16 бит, кажется.

Это не у кортексов, а у NXP LPC. У них заводской загрузчик какую-то контрольную сумму считает. Процессор сам по себе здесь ни при чём.
Go to the top of the page
 
+Quote Post
Obam
сообщение Aug 21 2015, 07:12
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663



"…у NXP LPC…" которые 7TDMI


--------------------
Пролетарий умственного труда.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Aug 21 2015, 07:23
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



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

Да? ну тоды ой%) помню что читал на arm.com, сейчас зашел, а там и правда про специфику LPC пишутsm.gif
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Aug 21 2015, 08:08
Сообщение #7


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



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


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 21 2015, 09:25
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (Сергей Борщ @ Aug 21 2015, 11:08) *
Такой суммы не может быть в принципе. Ибо только программист знает, где у него началась программа и где она закончилась. Где у него будет свой загрузчик, где будет приложение, где будут храниться настройки и что из этого ему нужно обложить контрольной суммой.

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




--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
scifi
сообщение Aug 21 2015, 09:43
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(zltigo @ Aug 21 2015, 12:25) *
в составе утилит того-же IAR (а раньше это делал линкер) есть утилита позволяющая генерить по заданным алгоритмам контрольные суммы и размещать их - IELFTOOL (IAR ELF Tool).

У меня это вызывает недоумение. Есть же srec_cat, он всё умеет. Наверное, если бы они про него знали, то не стали бы изобретать этот велосипед.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 21 2015, 10:00
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (scifi @ Aug 21 2015, 12:43) *
У меня это вызывает недоумение. Есть же srec_cat, он всё умеет. Наверное, если бы они про него знали, то не стали бы изобретать этот велосипед.

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


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
scifi
сообщение Aug 21 2015, 10:28
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(zltigo @ Aug 21 2015, 13:00) *
Нет, это СОВСЕМ разные утилиты. srecord нифига не знает ни о структуре прошивки ни об именах переменных. Поросто абстрактная работа с образом.

Мне эта абстрактная утилита позволяет с успехом вставлять куда надо и размер прошивки, и контрольную сумму. Так что о переменных не тужу :-)
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 21 2015, 11:22
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (scifi @ Aug 21 2015, 13:28) *
вставлять куда надо и размер прошивки, и контрольную сумму. Так что о переменных не тужу :-)

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




--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
x893
сообщение Aug 21 2015, 14:43
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 333
Регистрация: 27-10-08
Из: Планета Земля
Пользователь №: 41 226



да такую программу написать - максимум пол-дня. Как надо так и будет считать и записывать.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Aug 22 2015, 12:13
Сообщение #14


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(zltigo @ Aug 21 2015, 12:25) *
Не смотря на все вышеизложенное, в составе утилит того-же IAR (а раньше это делал линкер) есть утилита позволяющая генерить по заданным алгоритмам контрольные суммы и размещать их - IELFTOOL (IAR ELF Tool).
Но она кладет туда, куда укажет программист. Контрольной суммы, которую компилятор кладет куда-то сам, нет.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 22 2015, 12:36
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (Сергей Борщ @ Aug 22 2015, 15:13) *
Но она кладет туда, куда укажет программист. Контрольной суммы, которую компилятор кладет куда-то сам, нет.

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


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th June 2025 - 03:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.01765 секунд с 7
ELECTRONIX ©2004-2016