Версия для печати темы
Форум разработчиков электроники 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' используется следующая утилита:
Автор: 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)