Autor Tema: Diferencia entre CODE PROTECT y WRITE PROTECT (pic 16f887)  (Leído 1215 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado svanapic

  • PIC10
  • *
  • Mensajes: 14
Diferencia entre CODE PROTECT y WRITE PROTECT (pic 16f887)
« en: 12 de Abril de 2016, 13:41:20 »
Buen día gente.  acudo a ustedes porque no tengo claro este tema y no encuentro información clara.  Tengo entendido que los pic cuentan con 2 tipos de proteccion de código, contra escritura (en caso de que el pic se vuelva loco y por error sobreescriba el código) y la de lectura. 

Entiendo que la protección contra lectura, e activa fácilmente mediante un fuse., pero conocen la protección  WRITE PROTECT?  existe?  como se configura.  No encuentro nada en el manual con este nombre.

Cual es la mejor forma de proteger el código?  factible esta situación hipotética que planteo?  que el pic sobreescriba el código?  hay alguna manera de asegurarse que eso no ocurra?

GRACIAS de antemano por su ayuda.   

atte. Federico

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Diferencia entre CODE PROTECT y WRITE PROTECT (pic 16f887)
« Respuesta #1 en: 12 de Abril de 2016, 14:09:45 »
La proteccion contra lectura, es la que evita que alguien externo pueda leer el programa del PIC. En realidad solo lee puros 0x00 en ves de 0xFF que es cuando esta borrado el micro.

La proteccion que vos decis es una proteccion que agrega Microchip para que no se grabe por error la EEPROM o la FLASH. Exige ciertos pasos para la efectuar la escritura. Como es escribir 0xAA y luego 0x55 en un registro ( Ademas de habilitar todo para grabarlo obvio ). En otros PICs tambien al momento por ejemplo de modificar el oscilador suelen tener una proteccion similar.
En ese PIC como te decia. Para poder escribir la FLASH o la EEPROM, primero seleccionas que escribir, Luego habilitar la escritura, pero para que realmente se grabe tenes que proceder a poner los valores que nombre antes en el registro EECON2

Citar
The write will not initiate if the above sequence is not followed exactly (write 55h to EECON2, write AAh to EECON2, then set WR bit) for each byte.

Ya micros mas complejos discriminan los espacios de memoria flash en Boot / General y proveen protecciones de escritura/lectura mas complejos, como discriminar escrituras que genera el propio micro pero no las externas. Entre muchas otras.

Por ejemplo los dsPIC/PIC24:
http://ww1.microchip.com/downloads/en/DeviceDoc/70199D.pdf

« Última modificación: 12 de Abril de 2016, 14:14:32 por KILLERJC »

Desconectado svanapic

  • PIC10
  • *
  • Mensajes: 14
Re:Diferencia entre CODE PROTECT y WRITE PROTECT (pic 16f887)
« Respuesta #2 en: 17 de Abril de 2016, 23:56:12 »
Muchas gracias por tu aporte.  Mañana mismo voy a probarlo.  Gracias


 

anything