STM32 STUtility lee la protección

0

Desarrollé algunos hardware con un STM32F4 y un firmware y ahora quiero proteger el firmware lo mejor posible cuando se apague el producto. Ya que uso dos sectores flash para la memoria virtual EEPROM, todavía quiero acceder a ellos por r / w. Ahora eché un vistazo a los bytes de opción en el STUtility y veo que hay protección de lectura y protección de lectura / escritura para diferentes sectores de memoria flash.

¿Es suficiente para una buena protección (sé que hubo algunos problemas con las mejores protecciones en el pasado y que una persona con suficiente conocimiento puede acceder al código) para elegir el nivel de protección de lectura 2 y luego elegir la lectura? / ¿La protección contra escritura para cualquier sector espera las elegidas para la emulación virtual de EEPROM?

    
pregunta HansPeterLoft

1 respuesta

1

Creo que estás confundiendo los diferentes tipos de protección. La protección de lectura es realmente la clave para evitar que un usuario final acceda a su código. Básicamente, bloquea el acceso al código desde el cargador de arranque, los arranques de RAM y los arranques del sistema. Esto significa que no es posible usar el cargador de arranque para leer el FLASH, o alimentar un programa malicioso en la CPU que puede escanear la matriz flash.

Sin embargo, ninguna de estas configuraciones afecta el funcionamiento del FLASH cuando arranca su código normalmente. Esto es manejado por los bits de protección contra escritura asociados con cada sector en el FLASH. El objetivo de estos es permitirle prohibir las escrituras en sectores que contienen su código estático. Un buen ejemplo de dónde es útil es su aplicación. Puede proteger por escrito todos los sectores, excepto los utilizados por su EEPROM virtual. Esto significa que si tu código EEPROM virtual se vuelve loco y trata de escribir en un sector aleatorio, el programa no se corromperá.

Para proteger su programa, debe seleccionar el nivel apropiado de ROP (probablemente el más alto) y luego establecer la protección contra escritura en todos los sectores, excepto el código EEPROM.

    
respondido por el Jon

Lea otras preguntas en las etiquetas