Сообщение «возможно включена защита на запись, нажмите кнопку снять защиту и сверьтесь с даташитом» появляется в программах для программаторов (например, оболочках для CH341A, TL866 и подобных) при попытке записать или стереть SPI Flash — 25Q32, 25Q64, 25Q128 и другие микросхемы серии 25xxx. Программа обнаружила, что в статус-регистре памяти выставлены биты защиты, и запись физически блокируется самой микросхемой, а не программатором.

Проблема решается в большинстве случаев программно — снятием битов защиты через интерфейс прошивальщика. Но иногда защита включена аппаратно (вывод WP притянут к земле) или микросхема просто не определяется корректно. Разберём все сценарии по порядку, от простого к сложному.

Что означает это сообщение

У микросхем SPI Flash есть статус-регистр — внутренняя область служебных настроек. В нём находятся биты BP0–BP3 (Block Protect), которые определяют, какая часть адресного пространства защищена от записи и стирания. Если эти биты установлены, команда записи выполняется «вхолостую»: чип принимает данные, но содержимое не меняется.

Отдельно существует бит SRP (Status Register Protect) и аппаратный вход WP# (Write Protect). Когда активны оба механизма, статус-регистр нельзя изменить даже программно — пока на выводе WP не появится высокий уровень. Именно поэтому программа просит свериться с даташитом: расположение битов и логика защиты у разных производителей (Winbond, GigaDevice, Macronix, XMC) могут отличаться.

💡

Сообщение о защите — это не ошибка программатора, а штатная реакция микросхемы на установленные биты защиты в её статус-регистре.