Найти тему

Лотерея с STM32F103C8T6 (BluePill). Часть 2

Заставить клон работать не всегда просто

В предыдущей части мы говорили о том, что по описанию на странице товара отличить клоны невозможно.
Но объединяет их одна рекомендация от продавцов: использовать для загрузки утилиту
STM32 ST-LINK Utility и предварительно скомпилированный код. Причина этой рекомендации выясняется на практике. После компиляции и при попытке загрузки через STM32CubeIDE мы увидим следующее:

Reason: (18) Could not verify ST device! Abort connection.
Reason: (18) Could not verify ST device! Abort connection.

Даже больше! После распаковки некоторые из BluePill даже через STM32 ST-LINK Utility не прошиваются, выдавая странные ошибки. Хотя это решается достаточно просто. Нужно через утилиту STM32 ST-LINK Utility очистить ПЗУ командой Target->Erase Chip (или сочетанием клавиш CTRL+E). Если вдруг не сработало, то CTRL+B, в появившемся окне выбрать Read Out Protection выбрать Disabled и Apply. Теперь мы можем загружать прошивку через STM32 ST-LINK Utility!

Различие видимо заключается в том, что некоторые экземпляры уже прошивали для теста кодом типа Blink для проверки работоспособности, а некоторым требуется некий ритуал для инициализации после завода. Хотя это могут быть и демонтированные образцы, на которых осталась записана предыдущая прошивка какого-либо устройства с защитой от чтения.

Анатомия красных и белых

Взглянем на чипы.

Слева-направо: WHITE, RED, Orig.
Слева-направо: WHITE, RED, Orig.

Первые два слева - копии. Одного из них сильно выдает грубая шлифовка (лазером?), которая хорошо видна под микроскопом.

WHITE
WHITE

Другой же кажется маркировали сразу как STM32.

RED
RED

А у STM32 Orig очень интересный зеркальный ключ.

Orig
Orig

Это то, что касается визуальной части, но ошибки при прошивке же не из-за маркировки на корпусе! Ошибка верификации вызвана отличающимися от оригинала идентификаторами чипа в ПЗУ. А именно device id и id core.

В запасах уже более пяти лет лежала "Оригинальная" STM32F103C8T6. Почему в кавычках? Так потому, что бралась на той же площадке, но еще до бума клонов. Да и цена была в разы выше, чем на клоны. Потому должен быть оригинал, но сомнения все же есть. Хотя в отличии от тех, что пришли на платах BluePill "Оригинальная" без проблем прошивается и отлаживается в STM32CubeIDE. Для участия в сравнении ей был заменен чип на плате типа "с красной кнопкой".

Красный - ближайший к оригиналу
Красный - ближайший к оригиналу

Клоны отличаются от оригинала id core, а также размером ПЗУ (данные из STM32 ST-LINK Utility). Также отличается device id, он считывался из ПЗУ по адресу 0xE0042000.

В следующей части мы попытаемся запустить отладку и сделаем выводы по результатам.

—————————————————————————

Спасибо, что дочитали статью!

Подпишитесь пожалуйста на мой канал "Заметки Электроника | Alexander.Chad", этим Вы очень сильно поможете мне. Канал существует только за счет наличия и участия подписчиков.

Если Вам понравился материал - поддержите его лайком или даже донатом (ЮMoney). Есть что сказать? Оставьте комментарий! Это тоже будет помощью.

Сейчас канал нуждается в Вас как никогда прежде!