TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: isfan en 12 de Mayo de 2017, 07:54:54
-
Hola resulta que quiero meter en modo debugger el PIC16f628A en Mplab x con mi Pickit3
el problema resulta que no me detecta ese modo (debugger)
Para ello los de microchip me piden un cabezal por hardware, AC162053
(que cuesta unos 35€)
Quería saber 3 cosas:
1º El pickit3 tiene tambien modo debugger,que lista de pic son compatible y cuales no? (creo que el pic16f628 es compatible con el modo debugger en el pickit3 mientras que la version terminada en A no lo es) no he visto ninguna referencia a ello.
2º Si compro el cabezal AC162053 puedo conectarlo con mi PICkit3 y poner el PIC16f628A en modo depuración?
He visto que este cabezal tiene un conector para RJ45 para los debugger ICD3... no se si sera compatible con PICkit3 o me hace falta comprarme el ICD mas ese cabezal para poder depurar el pic?
3º Que diferencia hay entre ICD3 modo depuración y pickit3 modo depuración?
Un saludo y gracias.
-
Eso es sólo en unos pocos PICs como el que comentas: con el resto no hay problemas.
Saludos!
-
Muchas gracias manwenwe
Pero me quedaron las demás dudas... si alguien me podría iluminar? Gracias y saludos
-
2. No estoy seguro pero yo diría que sí. Prueba en el foro de microchip que lo encontrarás seguro.
3. ICD3 ==>> más breakpoints, más rápido (no depura el PC sino una fpga), más caro.
Saludos!
-
Lo del foro de Microchip no era por "escurrir el bulto", si no porque suelen colgarse muchas preguntas sobre las piezas originales.
Pido disculpas si ha sonado mal ;-).
-
No se preocupe tienes razon ;)
bueno si se puede, un pickit3 son compatible con las cabeceras que venden para determinados chips.
Aqui esta:
http://microchipdeveloper.com/tls0201:debugger-connection-to-target
Al final pase a una opción mas economica (en vez de gastarme 35€ del cabezal) , lo que hice fue sustituir el PIC16f628A por un PIC16f628(que este si se puede poner en modo debugger en el pickit3), programarlo cambiandole los parametros de ese micro y probarlo, una vez dejarlo fino, a volver a poner el otro ;)
un saludo.
-
Inteligente decisión ;-)
-
Una pregunta mas, ya he conseguido usar el modo debug,
QUiero hacer un debug de un led que parpadea cada segundo por ejemplo.
hago el codigo y parpadea, pero ejecuto el modo debug y no puedo congelar el codigo(hacerlo paso a paso) para que siga la linea de codigo por donde yo la estoy ejecutando.
Es decir el programa que esta cargado en el firmware del PIC va a su ritmo y el debug al suyo (es esto normal?
un saludo.
-
.
Para hacer Debug, compila sin optimización.
-
Puedes poner un pantallazo de dónde pones los breakpoints y como avanzas,etc.?
-
Estoy ejectuando el debug del micro 16f628A y con su cabezal oficial (header) que requiere en este caso.
La cuestión le doy al mplab x 3.6 a debug proyect, lo compila y lo pone a correr supuestamente en el debug como se ve en la imagen.
pero la pantalla se queda de esa manera tal cual (no se mueve ninguna linea)
pero el led en el hardware sigue parpadeando cada segundo.
cuando le doy al pause... el hardware sigue encendiendo y apagando el led cada segundo (esto no deberia pasar no?)
PD: por lo visto con el cabezal puesto no se permite grabar el PIC
para grabarlo tengo que quitarle el cabezal...
Me comento el compañero que para hacer debug, compila sin optimización? donde esta esa opción?
un saludo.
-
A ver, no estás depurando. No es el triangulo verde de la izquierda, es el cuadrado con números y un triangulo verde pequeño. Para parar el código pinchas dos veces en una línea y pones un breakpoint y se para ahí. Cuadrado rojo para para la depuración, el pause para pausarla y el morado para resetear. Las dos flechas haci abajo esconderan los iconos para ir para adelante, etc.
Busca un tutorial de depurar en MPLAB!!!
Saludos.
-
Hola,
Gracias por la respuesta
ya se que el depurador no es el triangulo verde... es evidente con leerlo solo.
El fallo que me da es el siguiente:
1º Ejecuto el debugger (con el boton ese que usted dice, el que se llama "debug proyect" )
2º Si meto un Breakpoint antes de hacer la depuración(porque mientras hago la depuración no me deja añadir) me sale en el depurador "Target Halted"
3º si le doy al pause tambien sale "target Halted"
PD: si trato de cambiar los fuses Del oscilador interno por uno HS o el MCLRE ponerlo en ON me salta un error en depuración:
Programming/Verify complete
The target device is not ready for debugging. Please check your configuration bit settings and program the device before proceeding. The most common causes
for this failure are oscillator and/or PGC/PGD settings.
Alguna idea?
Un saludo.
-
El problema esta en tu placa.
Puede ser varias cosas:
-que no este conectado correctamente y no detecta el micro
-que no se este alimentando la placa
-que no tengas bien seleccionado el micro.
para alimentar la placa, debes o bien alimentarla externamente o mediante el pickit3 pero debes indicarlo en las opciones.(Cuidado con la alimentación, puedes romper algo si lo haces mal)
Mira que no tengas activado la optimización.
un saludo.
-
Hola, la cosa yo tambien pense que podria ser de la conexiones pero no se si descartarlo ya que el pic me lo detecta en la terminal y me deja programarlo.
*****************************************************
Connecting to MPLAB PICkit 3...
Currently loaded firmware on PICkit 3
Firmware Suite Version.....01.48.17
Firmware type..............Midrange
Target voltage detected
Target device PIC16F628A found.
Device ID Revision = 4
Device Erased...
Programming...
The following memory area(s) will be programmed:
program memory: start address = 0x0, end address = 0x7ff
configuration memory
Programming/Verify complete
Running
Por lo que parece que este bien, en cuanto al modo sin optimzación lo tengo puesto y sigue igual.
Gracias por la respuesta.
-
Me acabo de dar cuenta que me aparece ese mensaje aun asi con los TERminales quitado del PGD y PGC, solo con la alimentación...
que raro...
Recuerdo que estoy usando el cabezal oficial de microchip pic16f628A
ahora si que estoy perdido ;(
-
Suena a problemas con el oscillador...