День добрый.
C помощью ТЗ от ШЕФа и великого интернета был написан аппаратный программатор на SWD для STM32 для нескольких серий в частности F103, F030, G030.
Все хорошо работает на процессорах STM32, GD32, HK32. Но в очередной раз "братья" из поднебесной напаяли чудо Geehy. На вопрос какого пииии... ????
Сказали что было, то и впаяли. Ладно. Проблема нарисовалась неожиданно. При программировании бывает что контакты отойдут или не проходит верификация.
При подаче питания прошивка сама лочит себя от чтения. И вот эти самые Geehy не хотят сбрасывать залочку, хотя алгоритм работает на STM32, GD32, HK32.
При этом никаких ошибок во время работы нет. Просто при рестарте снова читаем статус регистра Option Byte Reg x4002201C = 0x03FFFFFE , где Bit 1 RDPRT: Read protection
А в Option Bytes 0x1fffF800 вообще чиитаются нули.
Порядок разлочки по мануалу, да и у STM и Geehy он вроде не отличается.
НО ST-link-у каким-то образом удается сбрасывать залочку. Вот уже неделю бьюсь, не знаю что делать. Может есть у кого мысли?
Я конечно попытался снять разлочку как это делатет ST-link, но чувствую с этим протоколом и тем количеством данных что там прилетело я боюсь до пенсии не распарсю...
Заранее благодарен.