Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум разработчиков электроники ELECTRONIX.ru _ MCS51 _ Считывание flash памяти в м/к Silabs F360

Автор: AndyS Aug 22 2011, 07:22

Для метрологической аттестации встроенного в м/к ПО появилась необходимость сравнить MD5 "зашитого" в м/к ПО и сгенерированного Keil-ом hex файла. Пробовал для этого Silabs IDE - не то. Прошу помощи, друзья!

Автор: Kolia Aug 26 2011, 21:52

Цитата(AndyS @ Aug 22 2011, 10:22) *
Для метрологической аттестации встроенного в м/к ПО появилась необходимость сравнить MD5 "зашитого" в м/к ПО и сгенерированного Keil-ом hex файла. Пробовал для этого Silabs IDE - не то. Прошу помощи, друзья!


А какой смысл сравнивать MD5 ?? Обычно делают Verify и все дела...качайте Flash Programming Utilities с сайта она это умеет делать

Автор: AndyS Aug 28 2011, 08:35

Цитата(Kolia @ Aug 27 2011, 01:52) *
А какой смысл сравнивать MD5 ?? Обычно делают Verify и все дела...качайте Flash Programming Utilities с сайта она это умеет делать

Не всё так просто...
В документации на ПО указана MD5, её родную и надо предъявить метрологам и доказать что hex именно с этой MD5 зашит в МК

Автор: SSerge Aug 28 2011, 09:12

Если в контроллере не установлена защита от считывания то можно просто считать прошивку и сравнить с оригиналом. Если метрологам ток уж до зарезу хочется MD5, считайте её для слитой прошивки и сравнивайте.
Если же защита стоит, то ничего считать не получится.
Можно попытаться их обмануть. Сделать в контроллере подсчет и выдачу контрольной суммы по команде, пусть сравнивают.
А о том, что контроллер может ничего на самом деле не считать, а просто выдавать заранее заготовленную константу метрологам не говорить. Сами они, судя по идиотизму их требований, до этого не допрут.

Автор: AndyS Aug 28 2011, 14:17

Цитата(SSerge @ Aug 28 2011, 13:12) *
Если в контроллере не установлена защита от считывания то можно просто считать прошивку и сравнить с оригиналом. Если метрологам ток уж до зарезу хочется MD5, считайте её для слитой прошивки и сравнивайте.

Самый главный вопрос:как считать прошивку в формате hex? Защита не стоит. SilabsIde и Flash Programming Utilities такой возможности не дают...Поправьте, если не так.
Цитата(SSerge @ Aug 28 2011, 13:12) *
Если же защита стоит, то ничего считать не получится.
Можно попытаться их обмануть. Сделать в контроллере подсчет и выдачу контрольной суммы по команде, пусть сравнивают.
А о том, что контроллер может ничего на самом деле не считать, а просто выдавать заранее заготовленную константу метрологам не говорить. Сами они, судя по идиотизму их требований, до этого не допрут.

Тоже склоняюсь уже к этому варианту, но хотелось бы по честному...


Автор: scifi Aug 28 2011, 19:26

Цитата(AndyS @ Aug 28 2011, 18:17) *
Самый главный вопрос:как считать прошивку в формате hex? Защита не стоит. SilabsIde и Flash Programming Utilities такой возможности не дают...Поправьте, если не так.

Интересно, а при чём тут HEX? Насколько я понимаю, для вычисления хеша MD5 нужен непрерывный кусок двоичных данных известного размера. Какой у Вас размер? Совпадает с размером памяти программ МК? Или в 2 раза меньше? Уточните у тех, кто знает. Стартовый адрес - 0? Скачивайте образ прошивки в двоичном формате (.bin) со стартового адреса и до оговоренного размера, потом это дело подсовывайте на вычисление MD5.

Автор: Harbinger Aug 29 2011, 08:14

Так, собственно, порождённый Кейлом .hex тоже надо в бинарник сконвертировать, hex2bin, к примеру.

Автор: AndyS Aug 29 2011, 08:37

Цитата(scifi @ Aug 28 2011, 23:26) *
Скачивайте образ прошивки в двоичном формате (.bin) со стартового адреса и до оговоренного размера, потом это дело подсовывайте на вычисление MD5.

Чем скачивать? (извините за глупый вопрос).

Автор: scifi Aug 29 2011, 08:59

Цитата(AndyS @ Aug 29 2011, 12:37) *
Чем скачивать? (извините за глупый вопрос).

Из моего опыта использования МК от SiLabs требуется т.н. Debug Adapter. Раньше они были с интерфейсом RS-232, сейчас - USB. Надеюсь, такая штука у Вас есть. Ну а потом идём http://electronix.ru/redirect.php?http://www.silabs.com/products/mcu/Pages/FlashProgrammingUtilities.aspx и скачиваем фирменную утилиту для работы с флэш.

Автор: AndyS Aug 29 2011, 12:10

Цитата(scifi @ Aug 29 2011, 12:59) *
Из моего опыта использования МК от SiLabs требуется т.н. Debug Adapter. Раньше они были с интерфейсом RS-232, сейчас - USB. Надеюсь, такая штука у Вас есть. Ну а потом идём http://electronix.ru/redirect.php?http://www.silabs.com/products/mcu/Pages/FlashProgrammingUtilities.aspx и скачиваем фирменную утилиту для работы с флэш.

Debug Adapter у меня конечно есть, как и утилита FlashProgrammingUtilities.Но толку он этого мало.
Пример файла, полученного при помощи данной утилиты
 2011_1.txt ( 123.99 килобайт ) : 344

Как видно, это ни разу не *.bin файл

Автор: Stewart Little Aug 29 2011, 13:54

Цитата(AndyS @ Aug 29 2011, 16:10) *
Как видно, это ни разу не *.bin файл

Написать утилиту, которая конвертирует "это" в bin - дело десяти минут.
Еще вопрос - а в FlashProgrammingUtilities нельзя ли выбрать формат файла для сохранения?

Автор: AndyS Aug 29 2011, 15:51

Цитата(Stewart Little @ Aug 29 2011, 17:54) *
Написать утилиту, которая конвертирует "это" в bin - дело десяти минут.

И аттестовать её метрологически...

Цитата(Stewart Little @ Aug 29 2011, 17:54) *
Еще вопрос - а в FlashProgrammingUtilities нельзя ли выбрать формат файла для сохранения?

На мой взгляд нельзя, может старшие товарищи поправят

Автор: _NB Aug 30 2011, 06:16

Цитата(AndyS @ Aug 29 2011, 14:10) *
Debug Adapter у меня конечно есть, как и утилита FlashProgrammingUtilities.Но толку он этого мало.
Пример файла, полученного при помощи данной утилиты
...
Как видно, это ни разу не *.bin файл

Для конвертации этого в 'bin' используется следующая утилита:

 ASC2HEX.zip ( 4.85 килобайт ) : 65
 

Автор: sergeeff Aug 30 2011, 06:27

Цитата(AndyS @ Aug 22 2011, 10:22) *
Для метрологической аттестации встроенного в м/к ПО появилась необходимость сравнить MD5 "зашитого" в м/к ПО и сгенерированного Keil-ом hex файла. Пробовал для этого Silabs IDE - не то. Прошу помощи, друзья!


Если не очень большой секрет, а какую должность вы занимаете в вашей конторе?

Автор: AndyS Aug 30 2011, 08:37

Цитата(sergeeff @ Aug 30 2011, 10:27) *
Если не очень большой секрет, а какую должность вы занимаете в вашей конторе?

инженер
круг обязанностей весьма широк:от разработки схемы эл. принципиальной до программирования МК, выпуска всей документации на устройство, сопровождения изготовления, испытаний...

Автор: редактор Aug 30 2011, 09:08

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

Автор: JKryl Dec 6 2016, 17:20

Отписался по данному вопросу в схожей теме: http://electronix.ru/redirect.php?https://electronix.ru/forum/index.php?showtopic=128711&view=findpost&p=1466839.

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)