¿Cómo puede el firmware cargado en un PIC16F87XA detectar si la protección del código de memoria de programa está habilitada?

1

El firmware del PIC (PIC16F87XA) puede ser programado por un programador externo y tener el bit de Protección de Código de Memoria de Programa Flash establecido o borrado.

¿Cómo puede el firmware verificar que la protección está habilitada?

La palabra de configuración (dirección 2007h) tiene un bit de protección de código de memoria de programa flash (bit 13).

CP: Flash Program Memory Code Protection bit
1 = Code protection off
0 = All program memory code-protected

La palabra de configuración parece ser inaccesible para ser escrita por el firmware según PIC16F87XA 14.1 Bits de configuración .

  

Es importante tener en cuenta que la dirección 2007h está más allá del   espacio de memoria del programa de usuario al que se puede acceder   solo durante la programación.

Como no es necesario que el firmware escriba la palabra de configuración , la pérdida de acceso de escritura no es importante.

La palabra de configuración también parece no tener acceso de lectura para el mismo 14.1.

¿Hay alguna forma de que el firmware lea el bit de protección del código de memoria del programa Flash , una copia del mismo, suma de comprobación / paridad del firmware, incluida la palabra de configuración , de alguna manera evaluar o probar si el firmware está protegido?

Uno puede volver a conectar un programador externo e intentar leer el firmware y tener éxito o fallar como prueba. Sin embargo, ese no es el propio firmware que realiza esta evaluación.

Sospecho que no hay una solución publicada, espero estar equivocado.

    
pregunta chux

0 respuestas

Lea otras preguntas en las etiquetas