Столкнулся с неожиданной для себя вещью. Имеется железка на STM32L1. В ней есть самописный загрузчик и основная программа. Загрузчик позволяет обновлять прошивку через uart. Перед переходом из загрузчика в основную программу проверяется ее CRC. На чип установил защиту от чтения. Теперь оказывается даже загрузчик не может считать флешку. Я не могу проверить CRC, при чтении возвращаются нули. Как решается вопрос о защите прошивки от считывания при наличии самописного загрузчика?
Сравнивал только в ST-Link utility для 4 плат она отображала одинаковые значения. Сегодня считал в JFlash. Оказалось в двух платах стоят биты защиты записи на некторые сектора. Похоже ST-Link мало что читает в option bytes и просто показывает значения по умолчанию. Разве полное стирание не должно было сбросить эти биты? Сейчас привел option bytes к единому значению на всех платах. И теперь все работает. Могу обновить программу через загрузчик и стоит защита от чтения.