TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Facundo en 08 de Octubre de 2009, 17:36:30
-
Hola amigos
Quisiera proteger la memoria FLASH desde la dir 0x3F98 hasta el final en un micro 18F2550, quiero evitar que se pueda escribir o levantar el código ahí escrito, me pueden tirar una ayuda de como lograr esto, realmente he hecho varios intentos y no lo logro. Estoy usando el CCS v 4.065
Muchas gracias por prestarme su tiempo!!
Facundo
-
Hola.
Usa el bit de configuracion para ello:
#fuses PROTECT
-
Hola.
Usa el bit de configuracion para ello:
#fuses PROTECT
trata de configurar todo por FUSE, para que no tengas problemas al programar, ya que he tenido malas experiencias cuando lo hago manualmente!
-
Como asi? :z)
Lógicamente van los demas bits de configuracion del oscilador y esas cosas.
-
Pero en el datasheet del 18F2550 (Página 295) indica que se pueden elegir ciertos sectores a proteger, y por lo que veo en los fuses que soporta CCS no lo implementa :?
//////// Fuses: XT,XTPLL,EC_IO,EC,ECPIO,ECPLL,INTRC_IO,INTRC,PROTECT
//////// Fuses: NOPROTECT,BROWNOUT_NOSL,BROWNOUT_SW,NOBROWNOUT,BROWNOUT,WDT1
//////// Fuses: WDT2,WDT4,WDT8,WDT16,WDT32,WDT64,WDT128,WDT,NOWDT,BORV20
//////// Fuses: BORV28,BORV43,BORV46,PUT,NOPUT,CPD,NOCPD,NOSTVREN,STVREN
//////// Fuses: NODEBUG,DEBUG,NOLVP,LVP,WRT,NOWRT,WRTD,NOWRTD,IESO,NOIESO
//////// Fuses: FCMEN,NOFCMEN,PBADEN,NOPBADEN,CCP2B3,CCP2C1,WRTC,NOWRTC,WRTB
//////// Fuses: NOWRTB,EBTR,NOEBTR,EBTRB,NOEBTRB,CPB,NOCPB,MCLR,NOMCLR
//////// Fuses: LPT1OSC,NOLPT1OSC,XINST,WDT256,WDT512,WDT1024,WDT2048
//////// Fuses: WDT4096,WDT8192,WDT16384,WDT32768,NOXINST,INTXT,INTHS,HS
//////// Fuses: HSPLL,PLL1,PLL2,PLL3,PLL4,PLL5,PLL6,PLL10,PLL12,CPUDIV1
//////// Fuses: CPUDIV2,CPUDIV3,CPUDIV4,USBDIV,NOUSBDIV,VREGEN,NOVREGEN
-
Seeee, nada que hacer, los asigna todos o ninguno.
Saludos
-
Sino hay que hacerlo con el soft que se utiliza para programar el micro, y te das cuenta que ha sido configurado correctamente porque al verificar indica error.
Saludos!
-
A ver si entiendo .. o sea NO PUEDO desde el CCS decirle que quiero proteger desde 0x3F98 al final de la FLASH
OK al tema de los fusibles ya lo intenté pero protege toda la memoria
No puedo proteger toda la FLASH porque el propio programa hace uso de la flash incluso hay un loader que re-programa
parte de la FLASH ... bueno.. voy a seguir investigando ..
Gente realmente GRACIAS!!!!.
Facundo
-
A ver si entiendo .. o sea NO PUEDO desde el CCS decirle que quiero proteger desde 0x3F98 al final de la FLASH
OK al tema de los fusibles ya lo intenté pero protege toda la memoria
No puedo proteger toda la FLASH porque el propio programa hace uso de la flash incluso hay un loader que re-programa
parte de la FLASH ... bueno.. voy a seguir investigando ..
Gente realmente GRACIAS!!!!.
Facundo
Facundo porque no nos hablas mas de tu proyecto se ve algo interesante...
-
Hola fidodido18
En realidad no es mi poyecto solo trabajo en el proyecto que pertenece a una empresa y basicamente es una placa multiproposito que se vincula a un computador mediante USB y desde un soft se bajan al micro los programas que se desean para trabajos específicos, dentro del micro hay un loader que se conecta con la pc y luego que esta le envia el programa lo baja a la FLASH. Una especie de programador USB pero que programa una variedad de códigos preestablecidos y seleccionables desde una base de datos, entiendo que esta placa es parte de un KIT educativo. El loader tampoco lo he escrito yo, solo lo cargo en la dirección que me indican y es justamente este código el que la empresa quiere proteger pero creo que me estoy enredando solo ya que si protejo toda la memoria el microcontrolador de todas formas podrá accederla sin problemas y el código quedara protegido.
Saludos y GRACIAS!!!
Facundo