Autor Tema: Protección código.  (Leído 2425 veces)

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

Desconectado Eigen

  • PIC10
  • *
  • Mensajes: 19
Protección código.
« en: 30 de Junio de 2006, 22:10:48 »
Un saludo a todos.
¿Es posible proteger el código de un PIC16F877 en PB Pro para que no pueda ser leído desde él? ¿Si es así me podrían explicar cómo se hace y si al hacerlo se puede reprogramar el PIC?

Desconectado Mario

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 873
Re: Protección código.
« Respuesta #1 en: 30 de Junio de 2006, 22:46:58 »
Hola.

Creo que si, modificando los archivos del include del µicro deseado si no recuerdo mal.

Ahora no puedo revisar pero lee este tema y fíjate en la sección de los "fuses":
http://www.todopic.com.ar/foros/index.php?topic=3830.msg29034#msg29034

De todas maneras revisaré cuando tenga oportunidad y te lo digo.

Haz una búsqueda en el foro con ese tema "proteger código"
La buena administración es utilizar el sentido común y la regla de oro; aunque el sentido común no es tan común como quisiéramos que fuera y, quien tiene el oro, hace las reglas.
George Terry

"A loser will defeat a genius with hard work"
Rock Lee

Desconectado Mario

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 873
Re: Protección código.
« Respuesta #2 en: 30 de Junio de 2006, 23:03:56 »
Por cierto se me olvidó:

Busca en el manual del PIC cómo se protege, te lo dirá en ensamblador pero lo puedes meter en PBP.

Después revisaré,   :-/¡¡¡¡¡ahora me voy de fiesta!!!!!! :-/
La buena administración es utilizar el sentido común y la regla de oro; aunque el sentido común no es tan común como quisiéramos que fuera y, quien tiene el oro, hace las reglas.
George Terry

"A loser will defeat a genius with hard work"
Rock Lee

Desconectado Eigen

  • PIC10
  • *
  • Mensajes: 19
Re: Protección código.
« Respuesta #3 en: 01 de Julio de 2006, 01:44:54 »
Encontre el siguiente registro en el datasheet, con ésto entiendo que debo modificar el bit 13 (hacerlo 0) para que no deje leer el código, lo que no se es cómo hacerlo en el PB Pro,

REGISTER 14-1: CONFIGURATION WORD (ADDRESS 2007h)

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

bit 12 Unimplemented: Read as ‘1’

bit 11 DEBUG: In-Circuit Debugger Mode bit
   1 = In-Circuit Debugger disabled, RB6 and RB7 are general purpose I/O pins
   0 = In-Circuit Debugger enabled, RB6 and RB7 are dedicated to the debugger

bit 10-9 WRT1:WRT0 Flash Program Memory Write Enable bits
For PIC16F876A/877A:
   11 = Write protection off; all program memory may be written to by EECON control
   10 = 0000h to 00FFh write-protected; 0100h to 1FFFh may be written to by EECON control
   01 = 0000h to 07FFh write-protected; 0800h to 1FFFh may be written to by EECON control
   00 = 0000h to 0FFFh write-protected; 1000h to 1FFFh may be written to by EECON control
For PIC16F873A/874A:
   11 = Write protection off; all program memory may be written to by EECON control
   10 = 0000h to 00FFh write-protected; 0100h to 0FFFh may be written to by EECON control
   01 = 0000h to 03FFh write-protected; 0400h to 0FFFh may be written to by EECON control
   00 = 0000h to 07FFh write-protected; 0800h to 0FFFh may be written to by EECON control

bit 8 CPD: Data EEPROM Memory Code Protection bit
   1 = Data EEPROM code protection off
   0 = Data EEPROM code-protected

bit 7 LVP: Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit
   1 = RB3/PGM pin has PGM function; low-voltage programming enabled
   0 = RB3 is digital I/O, HV on MCLR must be used for programming

bit 6 BOREN: Brown-out Reset Enable bit
   1 = BOR enabled
   0 = BOR disabled

bit 5-4 Unimplemented: Read as ‘1’

bit 3 PWRTEN: Power-up Timer Enable bit
   1 = PWRT disabled
   0 = PWRT enabled

bit 2 WDTEN: Watchdog Timer Enable bit
   1 = WDT enabled
   0 = WDT disabled

bit 1-0 FOSC1:FOSC0: Oscillator Selection bits
   11 = RC oscillator
   10 = HS oscillator
   01 = XT oscillator
   00 = LP oscillator

Note 1: The erased (unprogrammed) value of the Configuration Word is 3FFFh.

¿Sería algo así?:
REGISTER_14-1 %0011110000000

Desconectado Mario

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 873
Re: Protección código.
« Respuesta #4 en: 01 de Julio de 2006, 06:07:10 »
Hola.

Fíjate que parece que no se puede hacer desde el PBP.

Prégunta en los foros de µicrochip a ver si se puede hacer en ensamblador.

Lo antes mencionado es por lo que dice la hoja de datos:
It is important to note that address 2007h is beyond the
user program memory space, which can be accessed
only during programming.


Suerte.
La buena administración es utilizar el sentido común y la regla de oro; aunque el sentido común no es tan común como quisiéramos que fuera y, quien tiene el oro, hace las reglas.
George Terry

"A loser will defeat a genius with hard work"
Rock Lee

Desconectado patolinec

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 206
Re: Protección código.
« Respuesta #5 en: 01 de Julio de 2006, 13:48:05 »
Pues puedes protegerlo directamente al momento de la progrmacion del micro es decir en el winpic800 si lo usas o el Icprog, en la seccion de la configuracion de fuses ( esa donde seleccionas si usas HS XT o RC) pues existe un campo que dice CP esto viene de code protector, activalo en el 877 te da la posibilidad de protegerlo por bloques ahi te pongo una imagen para que tengas una mejor idea:

Casi me maté pero ahora estoy de nuevo vivo

Desconectado Eigen

  • PIC10
  • *
  • Mensajes: 19
Re: Protección código.
« Respuesta #6 en: 03 de Julio de 2006, 14:42:48 »
Es cierto, no se pudo desde el PB Pro, por lo que escribió Mario, pero es muy fácil protegerlo desde el WinPic800 como dijo Patolinec, muchas gracias por sus respuestas.


 

anything