TODOPIC

Microcontroladores PIC => - Niple - => Mensaje iniciado por: profpere en 06 de Noviembre de 2011, 10:17:01

Título: Niple con bootloader
Publicado por: profpere en 06 de Noviembre de 2011, 10:17:01
Hola estimados:
Hace poco realice un cirtuito con el pic16f877 el cual posee un bootloader y quedo andando. Lo único es que el creador del bootloader que utilice recomienda colocar deltro del codigo ASM las siguientes instrucciones.
Prueba de CALL
    LIST P=16F877A
    INCLUDE    <P16F877A.INC>

    goto     main        ;Salto al inicio del Programa
    ORG     0004H        ;Nueva dirección del origen del programa
main                    ;Inicio del Programa
    nop                    ;0
    call    RUTINA1        ;1
    nop                    ;2
    call    RUTINA2        ;3
    nop                    ;4
    goto    $            ;5

Son las que deberían aparecer en rojo.
La pregunta en concreto es.
Como hago en Niple para que siempre el programa me quede con esas instrucciones ?
Muchas gracias.
Título: Re: Niple con bootloader
Publicado por: lopoga en 06 de Noviembre de 2011, 11:22:13
¿Que es eso del Bootloader? ¿para que sirve?
Título: Re: Niple con bootloader
Publicado por: Fer_TACA en 06 de Noviembre de 2011, 16:54:52
El bootloader, es un pequeño programa, lineas de codigo quese utilizan para que se pueda grabar el micro sin tener el entorno de la programacion y de ese modo el grabador siempre carge el nuevo fichero hex.


Hasta donde se. Niple no te permite utilizar un botloader, pero si que te permite introducir codigo asm. Normalmente Niple al compilar suele crear las lineas que indicas en rojo, simepre y cunado utilizes interrupciones, en caso contrario la linea ORG 0004...... no te la crea.
Ademas los nombres de las etiquetas tampoco son exactamente esos.

F.
Título: Re: Niple con bootloader
Publicado por: henryflash en 06 de Noviembre de 2011, 18:11:09
Me encantaria bootloader en NIPLE , metes tu pic en el circuito y no lo sacas mas, imagínate una linea producción vas con la laptop y modificas las variables según tus necesidades. ni hablar del dia a dia nuestro que pones el pic lo grabas, no te funciono como querías lo tenes que sacar del circuito y  programarlo nuevamente. Seria para que lo piense CANO un aporte muy importante para niple marcaria la diferencia,
SAludos Enrique...
Título: Re: Niple con bootloader
Publicado por: lopoga en 07 de Noviembre de 2011, 02:16:34
¿Y eso de programarlo en circuito no es lo mismo que ICSP? no acabo de entender lo del bootloader.
Título: Re: Niple con bootloader
Publicado por: Fer_TACA en 07 de Noviembre de 2011, 11:01:27
ICSP= a programacion in circuit


Bootloader= programador residente en memoria del pic que seutiliza para realizar la programacion "In ircuit" con determinados programadores, en particular que se pueden programar por RS232 con lo cual no sirve utilizar los pines dedicados para ICSP

F.
Título: Re: Niple con bootloader
Publicado por: profpere en 08 de Noviembre de 2011, 09:41:30
Queridos Amigos.
Para los que preguntan que es un bootloader y para que sirve les pongo esta direccion de donde yo arme el circuito y funciona.
Lo unico es que por lo que veo de las respuestas que me dieron hay que programarlo en C u otro lenguaje.
espero queles sirva
Saludos
http://robotsperu.org/foros/1-vt122.html?start=0
Título: Re: Niple con bootloader
Publicado por: henryflash en 08 de Noviembre de 2011, 14:10:02
Queridos Amigos.
Para los que preguntan que es un bootloader y para que sirve les pongo esta direccion de donde yo arme el circuito y funciona.
Lo unico es que por lo que veo de las respuestas que me dieron hay que programarlo en C u otro lenguaje.
espero queles sirva
Saludos
http://robotsperu.org/foros/1-vt122.html?start=0
.
Pregunto , si cuando lo compilas en ASM modificas la linea de comienzo de programa por la indicada ,¿no funcionaria?.
Título: Re: Niple con bootloader
Publicado por: henryflash en 08 de Noviembre de 2011, 14:16:39
Hola estimados:
Hace poco realice un cirtuito con el pic16f877 el cual posee un bootloader y quedo andando. Lo único es que el creador del bootloader que utilice recomienda colocar deltro del codigo ASM las siguientes instrucciones.
Prueba de CALL
    LIST P=16F877A
    INCLUDE    <P16F877A.INC>

    goto     main        ;Salto al inicio del Programa
    ORG     0004H        ;Nueva dirección del origen del programa
main                    ;Inicio del Programa
    nop                    ;0
    call    RUTINA1        ;1
    nop                    ;2
    call    RUTINA2        ;3
    nop                    ;4
    goto    $            ;5

Son las que deberían aparecer en rojo.
La pregunta en concreto es.
Como hago en Niple para que siempre el programa me quede con esas instrucciones ?
Muchas gracias.
Quizas|hacer una subrutina en ASM e importarla al comienzo de cada programa,
Título: Re: Niple con bootloader
Publicado por: lopoga en 08 de Noviembre de 2011, 15:52:08
Queridos Amigos.
Para los que preguntan que es un bootloader y para que sirve les pongo esta direccion de donde yo arme el circuito y funciona.
Lo unico es que por lo que veo de las respuestas que me dieron hay que programarlo en C u otro lenguaje.
espero queles sirva
Saludos
http://robotsperu.org/foros/1-vt122.html?start=0

Estoy intentando descargar el bootloader despues de registrame y me dice que no estoy autorizado. Agradecería me hicieras llegar el soft pues es un tema que me interesa
Título: Re: Niple con bootloader
Publicado por: Fer_TACA en 08 de Noviembre de 2011, 16:22:23
Pues lo que decia.............

ese bootloader es e un programa residente en la memoria del pic que se utiliza para poder carger el programa por medio de grabador y por puerto por "232"


Al final es lo mismo que si lo programas por ICSP, solo que en este caso no necitas la circuiteria adicional de la funcion RS232 con: su MAX232, condensadores,......

F.
Título: Re: Niple con bootloader
Publicado por: henryflash en 08 de Noviembre de 2011, 16:47:46
Pues lo que decia.............

ese bootloader es e un programa residente en la memoria del pic que se utiliza para poder carger el programa por medio de grabador y por puerto por "232"


Al final es lo mismo que si lo programas por ICSP, solo que en este caso no necitas la circuiteria adicional de la funcion RS232 con: su MAX232, condensadores,......

F.
hay en el foro un tema habierto sobre programar por ICSP , porque evidentemente eso solucionaria mi necesidad y yo no lo estoy entendiendo, gracias......
Título: Re: Niple con bootloader
Publicado por: Fer_TACA en 08 de Noviembre de 2011, 17:19:43
A ver Henry que es facil:

Con el ICSP utilizas unas lineas/ pines del pic que se utilizan para:
1. la señal de clock para sincronizar los daros a grabar,
2. la señal del dato que se va a grabar
3. Gnd.referncia de la tension
4. Vpp tension de grabacion.

Estos pines( cambian un poco de lugar en algun tipo de pic) los puedes utilizar solo para este fin o bien s i andas justo de pines y no quieres utilizar un pic mayor, puedes utilizar esas lineas "multiplexadas" tanto para realizar la programacion o bien como entrada o salida digital. En este caso debes de intercalar un par de resistencias en las lineas de clock y de datos, para aislar tus datos de los que se grabaran. La conexion y valor de las resistencias son las que se indican en link de tu ultimo post.

Ahora bien, veamos la secuencia cuando vas a grabar (o regrabar tu pic). Se supone que tienes tu circuito funcionando y vas a grarlo, entonces conectas el conector del ICSP en el lugar que previamente hayas previsto en tu pcb. Una vez realizado lo anterior abres tu programador y seleccionas el nuevo fichero a grabar en el pic y cuando le das a la opcion de grabar, lo primero que realiza el programador es un reset (tu primer programa se queda como muerto) y empieza la carga del nuevo, el grabador se encarga de mandar las señales y tensiones necesarias.
Una vez finalizada la carga, el grabador manda otra señal de reset y a partir de ahí empieza a funcionar tu nuevo programa.
Esto es asi porque cuando va a grabar espera un pequeño tiempo y si antes de que acabe se manda datos es que se va a grabar, pero si despues del reset pasa ese tiempo a partir de ahi se entiende que son los datos de la memoria del pic que ha sido grabado los que van a correre en el pic.
Espero que la explicación no haya sido tediosa y que hayas entendido un poco como funciona. Pero vaya de eso se encarga de todo el programador.
De ahi la comodidad que puedes reprogramarlo sin quitarlo del zocalo(si lo usas) o sin desolarlo o quitar la alimentacion

F.
Título: Re: Niple con bootloader
Publicado por: henryflash en 08 de Noviembre de 2011, 21:46:46
No lo puedo creer, yo hace un tiempo estudiando todo lo que conseguía sobre bootloader y era tan sencillo, sabes que mi   programador tiene un cable plano que conecta con el zocalo zip, evidentemente desconecto el zócalo y lo conecto como corresponde en la ficha que yo disponga en mi circuito y magiaaaaaaaa. Estoy contento le agradezco a todo el foro y por supuesto a vos Fer.
Gracias a todos...
Título: Re: Niple con bootloader
Publicado por: profpere en 09 de Noviembre de 2011, 11:27:49
Yo el ICSP no lo he probado.
Intente pegarle el trozo de código al asm generado por el niple y no pude, es una lástima que no se pueda meter una sentencia ORG dentro del propio niple, eso arreglaria mucho las cosas.
Creo que de no encontrar alguna solucion , seguiré utilizando niple para programaciones directar y el CC5X para cuando utilizo un bootloader.
Gracias
a todos
Título: Re: Niple con bootloader
Publicado por: henryflash en 09 de Noviembre de 2011, 11:45:14
hola una pregunta mas, por ejemplo en el 16f877a .PGC es RB6 y PGD RB7, puedo utilizarlos como salida o entrada , o solo los debo usar para programacion?.
saludos henryflash....( no tan flash jajaja)...
Título: Re: Niple con bootloader
Publicado por: henryflash en 09 de Noviembre de 2011, 12:16:13
Yo el ICSP no lo he probado.
Intente pegarle el trozo de código al asm generado por el niple y no pude, es una lástima que no se pueda meter una sentencia ORG dentro del propio niple, eso arreglaria mucho las cosas.
Creo que de no encontrar alguna solucion , seguiré utilizando niple para programaciones directar y el CC5X para cuando utilizo un bootloader.
Gracias
a todos
imagino que esa parte del programa esta en el ovalo de "INICIO"
Título: Re: Niple con bootloader
Publicado por: Fer_TACA en 09 de Noviembre de 2011, 14:45:35
Intente pegarle el trozo de código al asm generado por el niple y no pude, es una lástima que no se pueda meter una sentencia ORG dentro del propio niple, eso arreglaria mucho las cosas.

Se puede agregar codigo, directamente abriendo el fichero ASM generado con Niple. Pero ojo debes de tener claro que y donde lo insertas. Lo puedes abrir para editar con el bloc de notas por ejeemplo.
hola una pregunta mas, por ejemplo en el 16f877a .PGC es RB6 y PGD RB7, puedo utilizarlos como salida o entrada , o solo los debo usar para programacion?.
saludos henryflash....( no tan flash jajaja)...

Henry, puedes y debes utilizar para la funcion de la programacion y ademas utilizarlas como entrada o salida. Pero por Dios colocale un par de resistencias entre las patillas del pic y tus señales, sino haras cortocircuito cuando vayas a programar. Las señales del ICSP deben de ir directamente a los pines del pic.



F.
Título: Re: Niple con bootloader
Publicado por: henryflash en 09 de Noviembre de 2011, 15:06:54
Intente pegarle el trozo de código al asm generado por el niple y no pude, es una lástima que no se pueda meter una sentencia ORG dentro del propio niple, eso arreglaria mucho las cosas.

Se puede agregar codigo, directamente abriendo el fichero ASM generado con Niple. Pero ojo debes de tener claro que y donde lo insertas. Lo puedes abrir para editar con el bloc de notas por ejeemplo.
hola una pregunta mas, por ejemplo en el 16f877a .PGC es RB6 y PGD RB7, puedo utilizarlos como salida o entrada , o solo los debo usar para programacion?.
saludos henryflash....( no tan flash jajaja)...

Henry, puedes y debes utilizar para la funcion de la programacion y ademas utilizarlas como entrada o salida. Pero por Dios colocale un par de resistencias entre las patillas del pic y tus señales, sino haras cortocircuito cuando vayas a programar. Las señales del ICSP deben de ir directamente a los pines del pic.
Entonces digamos que lo que tengo que limitar es la corriente ,el programador me puede mandar un cero a una entrada que este a VDD.
Si eso lo entendi en mi proximo proyecto ya lo encaro con ICSP.
que te puedo decir gracias,  es poco Fer .
Saludos henryflash.


F.
Título: Re: Niple con bootloader
Publicado por: Fer_TACA en 09 de Noviembre de 2011, 15:11:47
Citar
Entonces digamos que lo que tengo que limitar es la corriente ,el programador me puede mandar un cero a una entrada que este a VDD.
Si eso lo entendi en mi proximo proyecto ya lo encaro con ICSP.

Mas que limitar la corriente es como si aislasemos las señales, pero si, basicamente es lo que dices.
Ya veras como no te arrepients al utilizarlo.

F.
Título: Re: Niple con bootloader
Publicado por: profpere en 11 de Noviembre de 2011, 10:34:46
Lo he intentado ya peor no me ha funcionado
Título: Re: Niple con bootloader
Publicado por: djim en 25 de Noviembre de 2011, 05:21:40
Me sumo... Seria EXELENTE niple con bootloader. Ya hicieron funcionar algo amigos? De donde estan leyendo para sacar las rutinas y esas cosas en ASM. Me entereza mucho el tema, ya que no tengo puerto Rs232 en la notebook y poder grabar por USB sin partes adicionales  8) . Pufff ya quiero uno  :D

                                                                                                                                DJIM
Título: Re: Niple con bootloader
Publicado por: Fer_TACA en 25 de Noviembre de 2011, 11:54:38
Me sumo... Seria EXELENTE niple con bootloader. Ya hicieron funcionar algo amigos? De donde estan leyendo para sacar las rutinas y esas cosas en ASM. Me entereza mucho el tema, ya que no tengo puerto Rs232 en la notebook y poder grabar por USB sin partes adicionales  8) . Pufff ya quiero uno  :D
      DJIM


¿Y porque no urilizas un grabador que utilice el USB del notebook y realizas la programacion por ICSP?
Título: Re: Niple con bootloader
Publicado por: djim en 25 de Noviembre de 2011, 15:14:47
Hola Fer, tengo muchisimos problemas con el pickit2, no quiere grabar! Los problemas con este grabador son:

*.- Si no tenes la bateria de la notebook al 99,99% no graba
*.- Si tenes el cable muy largo no graba
*.- De 10 programas a grabar, fallan 2
*.- En ocaciones me daba grabacion y verificacion correcta... y despues no iniciaba el programa ¬¬ (en la compu de escritorio ponia el mismo programador, el mismo .HEX generado por niple y funcionaba correcto.
*.- En pocas palabras es un muy buen grabador pero para maquinas grandes o de escritorio con una buena fuente de alimentacion
*.- Tambien tiene cosas buenas, te recalibra el 12F675, revive pics, no tengo quejas, lo unico que si NO APTO PARA NOTEBOOK, al principio cuando es nueva la bateria funciona de lujo, despues falla... mi viejo me decia "que suerte te funciona el pickit2, en los foros hay un monton de vagos que tienen problemas con sus notebooks" y bueno, me llego ese problema ami tambien.

En fin, con el bootloader, me evito el programador, cables extras, y con un solo boton... Ademas tengo unas maquinas nuevas, que vos la conectas por usb a la compu y se actualizan! te quedas abriendo la boca y diciendo "yo quiero yo quiero"... la re programan entera, tengo mi interfaz usb casi lista, recibe y envia datos en vb.net, cuando comenze a leer en el foro esto, me di cuenta que es justamente el tipo de funcion que le faltaria a niple y a mi desarrollo, queda muy profecional que pongas un usb, actualizes una maquina y no sea necesario abrirla entera para sacar el micro para actualizar o conectar el ICSP. En particular esa es mi opinion y el uso que le quiero dar a mis nuevas aplicaciones. Creo que me exedi un par de lineas, todo fue por amor al pickit2! jajajaja... Saludos y exitos!!!  ;-)

DJIM

P/D: Veamos si don Niple nos da una alegria con un bootloader antes de año nuevo XD!!!
Título: Re: Niple con bootloader
Publicado por: Fer_TACA en 25 de Noviembre de 2011, 15:24:53
P/D: Veamos si don Niple nos da una alegria con un bootloader antes de año nuevo XD!!!

He oido por ahi     :mrgreen: ;-)   que en una nueva revision puede que salgan dispositivos y funciones nuevas :-/ :-/ :-/ :-/ :-/ :-/ :)