Nunca protejo la memoria FLASH, pero esta vez es el requisito de mi cliente. Tengo mi propio gestor de arranque y la aplicación lista. Todo funciona bien si el nivel de protección es cero. Pero si lo cambio (no importa si uso la utilidad ST-LINK o si se realiza desde el cargador de arranque) al Nivel 1, el programa simplemente no funciona. Sé que es ridículo decir "el programa no funciona", pero durante las pruebas escribí un simple programa de parpadeo de LED. Solo habilita el reloj GPIO y enciende el LED. Funciona bien en el nivel 0, pero deja de funcionar en el nivel 1. Según entiendo, el cambio del nivel 0 al 1 o 2 no borra el FLASH (lo hace en la dirección opuesta). No puedo echar un vistazo dentro ya que las interfaces de depuración están deshabilitadas.
El arranque 0 está conectado mediante una resistencia de 10k a la GND.