# Programming failed at program memory address 0x000005



## Joaquin66 (Jun 28, 2012)

Buen día, gente!
Tengo un problema:
Estoy queriendo programar un PIC16F873A y en el PICkit2, cuando estoy bajando el archivo .hex me salta el error: "Programming failed at program memory address 0x000005"
Ya he usado el programador con un 16F84A y nunca me dio ningún tipo de problema..
El programador es una réplica, tiene jumpers, uno para establecer si el micro tiene 8/18 pines o 28/40 pines, y otro para la tensión 3.3V o 5V.. y no se con qué tensión debo programar este micro.. (tal vez ya metí la pata haciéndolo con 5V y dañe el micro)
Si alguien sabe cómo busco con qué tensión debo programarlo, y por qué me salta ese error, le agradezco que me de una mano.
Gracias. 
Joaquín


----------



## tavo08 (Nov 2, 2013)

Necesito su ayuda sabios de la electronica... Hace poco mi programa pickit 2 me presenta el error de "Programming failed at Program Memory address 0x000000" y solo lee y borra pero no me deja escribir en el... Ya he leido sobre varios problemas de voltaje pero yo tengo una programadora/debbuger pickit 2 aptinex... No habria problema en eso ya qe solo seria de meteroo en el socket.... Estoy trabajando con el pic 16f877a y no me presentaba anteriormente algun problema.... No uso el data protect ni el code protect.....que me recomiendan hacer? He leido sobre borrar la memoria eeprom del pic... Como hago eso? ...


----------



## Gudino Roberto duberlin (Nov 2, 2013)

Hola Amigo, bueno un buen comienzo es chequear la tension de alimentacion del PIC en el instante que se este programando.
La memoria EEPROM del PIC no tiene relacion con que no pueda programarse.
La funcion CPD y PROTECT, sirven para proteger al codigo de ser leido, no para evitar su programacion, si fuese asi, una vez activo, el dispositivo jamas podria volverse a programar.


----------



## tavo08 (Nov 4, 2013)

Ahora me aparece otro error... programming failed at EE data address 0x0000


----------



## LaElectronicaMeOdia (Nov 4, 2013)

Tu pic esta estropeado !


----------



## Moyano Jonathan (Nov 6, 2013)

Si estás usando el zócalo de tu programador para programar el PIC, intentá colocando el PIC en un protoboard y conectales los pines de programación VPP, PGD, PGC, VCC y GND directamente. Si te sigue saltando el error puede que efectivamente tengas el microcontrolador quemado.


----------



## josemanuelosunarios (Jul 31, 2018)

Buenas noches compañeros espero esten todos bien, por aqui me encuentro con una novedad del pickit 2 que tengo para programar mi pic 16f877a
. en resumen el problema es que no puedo programar mi pin pues me manda un mensaje que dice "Programmig failed at program Memory address 0x000000 y 0x000019 "  .. entre tanto indagar la tarjeta pude observar que el voltaje del MCLR es de 8.82vots y ese voltaje creo es muy bajo ya que tengo entendido que deberia oscilar por los 12 volts .. lo curioso es que al hacer la prueba por el software, al activar el vpp me indica en la interface de la pc que tiene 11,9  volts y resulta que en fisico me llegan 8,82volts , ya medi los componentes como resistencia condensadores y transistores y todos estan ok . alguien le ha sucedido esto antes ? el voltage vdd esta optimo , me manda 5volts y las conexiones a tierra estan bien . adjunto imagenes. lo que no me quiere modificar es la memoria eeprom del pic mientras que la memoria de programa si me la graba en el pic , es algo muy extraño. cuando le doy borrar lo borra bien , luego le doy en verificar borrado y me manda el error nuevamente. si le doy a leer, lo lee perfectamente , le doy en verificar y dice operacion exitosa pero cuando importo el archivo hexadecimal, lo importa muy bien pero cuando le doy a escribir , nuevamente me da el mismo error. sin mas que agregar por ahora espero poder recibir de su ayuda.


----------



## DRAIGGERT (Nov 16, 2021)

*H*ola*,* buenas tardes expertos*,* recurro a ustedes porque recientemente *h*e tenido algunos problemas*, h*e estado usando el *P*ickit3 con el z*ó*calo*,*a la hora de cargar un programa me sale exitoso




*P*ero a la hora de escribirlo me sale esto



*Q*ue puede ser, anteriormente me grababa bien y lo quit*é* para subir otro programa, la conexi*ó*n que *h*e estado usando es proto es esta



*E*n *P*roteus me funciona bien, pero cuando se pod*í*a grabar en el pic y hacia el armado de prueba en proto, no hacia nada, pero me reconoc*í*a que tenia un programa subido, el programa que *he* estado usando es en escalera y el .hex


*E*n resumen*:*

-*E*l pic16f877a cuando grababa y sub*í*ia programa me dejaba grabar, pero a la hora de colocarlo en proto no hac*í*a nada
-*D*e un momento a otro dejo*ó* de poder grabar el pic
-*H*e estado investigando un poco y el problema puede ser de la memoria, es cierto?

*Q*ue puedo hacer para hacerlo funcionar?

*Q*ue recomendaciones me dar*í*an, soy relativamente nuevo en esto?

*G*racias



josemanuelosunarios dijo:


> Buenas noches compañeros espero esten todos bien, por aqui me encuentro con una novedad del pickit 2 que tengo para programar mi pic 16f877a
> . en resumen el problema es que no puedo programar mi pin pues me manda un mensaje que dice "Programmig failed at program Memory address 0x000000 y 0x000019 "  .. entre tanto indagar la tarjeta pude observar que el voltaje del MCLR es de 8.82vots y ese voltaje creo es muy bajo ya que tengo entendido que deberia oscilar por los 12 volts .. lo curioso es que al hacer la prueba por el software, al activar el vpp me indica en la interface de la pc que tiene 11,9  volts y resulta que en fisico me llegan 8,82volts , ya medi los componentes como resistencia condensadores y transistores y todos estan ok . alguien le ha sucedido esto antes ? el voltage vdd esta optimo , me manda 5volts y las conexiones a tierra estan bien . adjunto imagenes. lo que no me quiere modificar es la memoria eeprom del pic mientras que la memoria de programa si me la graba en el pic , es algo muy extraño. cuando le doy borrar lo borra bien , luego le doy en verificar borrado y me manda el error nuevamente. si le doy a leer, lo lee perfectamente , le doy en verificar y dice operacion exitosa pero cuando importo el archivo hexadecimal, lo importa muy bien pero cuando le doy a escribir , nuevamente me da el mismo error. sin mas que agregar por ahora espero poder recibir de su ayuda.



*E*ncontraste alguna solución, tengo el mismo problema.


----------



## unmonje (Nov 16, 2021)

DRAIGGERT dijo:


> encontraste alguna solucion, tengo el mismo problema


Si te fijas , el último post es de 2018 y nadie respondió...
Estuve ausente mucho tiempo, pero ahora que lo leo, puedo decir 2 cosas
El señor de ese post tenia que resolver el tema de los 12 , no se que le habrá pasado, pero si se algo, el necesitaba un osciloscopio para ver que tan bien estaban los 12 volt. Si los 12 voltios tienen ruido , nunca va a grabar bien.
Ademas, tuve muchos problemas grabando PICs y cuando respetaba lo que decia el fabricante se resolvía.
Siempre ayuda partir de una* PIC nueva y desprotegida* para descartar asuntos y fijarse antes, que *TODOS* los *bits de protección*, estén APAGADOS, esto es sumamente importante.
Por último, nunca traté yo de grabar la EEPROM con el grabador. Siempre lo hacia por *programa* una vez que la PIC ya estaba grabada y operativa con el sistema operativo, o el programa del usuario, segun cada caso.
La EEPROM sirve mas para parametrizar los programas o calibrar sensores o puntos de trabajo o temperaturas , no tiene mucho sentido guardar datos ahi al grabar. Yo los guardo en la memoria flash y despues paso los que necesito a la eeprom cuando ya funciona todo, en el primer arranque.
No abusen de la EEPROM porque su vida util es muy limitada segun el fabricante...
Espero esto te ayude


----------



## D@rkbytes (Nov 16, 2021)

Por lo regular siempre suele deberse a una mala conexión entre el PIC y el programador.
Ya sea por falsos contactos debido a la corrosión por humedad en las terminales del PIC o en la base del programador.
Como suelo programar los chips en el protoboard usando ICSP con cables Dupont, las ranuras llegan a presentar falsos contactos y falla la programación.
Así que lavo el protoboard con agua y jabón y luego lo dejo sumergido por una hora en agua con vinagre.
Finalmente lo enjuago muy bien, lo golpeo contra una toalla para sacar toda el agua y lo seco con aire caliente.
Algunas veces he tenido que usar una lija muy fina para pulir todas las terminales del microcontrolador y del programador.
Esto siempre me ha funcionado muy bien, y cuando no, pruebo con otro PIC para saber si el fallo es porque está dañado.
Es fácil determinar que el problema es por una mala conexión porque midiendo directamente desde un pin del PIC hasta el programador, se deben encontrar 0 Ohms, o al menos, no más de 10 Ohms.

Cuando la programación es por zócalo ZIF, lo aprieto un poco con la palanca y lo muevo de lado a lado para que se raspen las ranuras y hagan buen contacto.


----------

