Autor Tema: Bootloader 18F4550 RS232 Serie  (Leído 19858 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado marito

  • PIC16
  • ***
  • Mensajes: 217
Bootloader 18F4550 RS232 Serie
« en: 23 de Febrero de 2012, 22:35:03 »
Hola a todos!

Estoy trabajando con un PIC 18F4550, tengo que recibir señales y efectuar un controlador, para lo que necesito enviar señales a una PC para graficar.

Intenté trabajar con comunicación y bootloader USB CDC, pero es muy complicado que funcionen ambas tareas todo el tiempo.

Necesitaría hacer funcionar un bootloader por el puerto serie RS232, ya que considero que es mucho más robusto su funcionamiento, al mismo tiempo que sencillo.

Alguien podría darme algo de información de como implementar un bootloader serie en un PIC18F4550?


Gracias!
Saludos

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Bootloader 18F4550 RS232 Serie
« Respuesta #1 en: 23 de Febrero de 2012, 22:44:03 »
Intenté trabajar con comunicación y bootloader USB CDC, pero es muy complicado que funcionen ambas tareas todo el tiempo.

 :shock: No funciona así, no se ejecutan al mismo tiempo, sino que al iniciarse se ejecuta uno u otro sector del código. Seguramente el bootloder no es el problema, porque es algo ya probado y si lo implementas bien no tendrás problemas, lo que tienes que estudiar bien es como utilizar USB CDC en tu aplicación. Hay varios ejemplos dando vuelta por la red.

Y sino utiliza el buscador, bootloader RS232 hay varios  ;-)
No contesto mensajes privados, las consultas en el foro

Desconectado darck_khronos

  • PIC18
  • ****
  • Mensajes: 493
Re: Bootloader 18F4550 RS232 Serie
« Respuesta #2 en: 23 de Febrero de 2012, 23:55:11 »
en la carpeta de samples de ccs viene un codigo de bootloader en 232 asi como dice suky dudo que el problema sea el boot posiblemente es como lo quieres aplicar

Desconectado marito

  • PIC16
  • ***
  • Mensajes: 217
Re: Bootloader 18F4550 RS232 Serie
« Respuesta #3 en: 24 de Febrero de 2012, 08:27:04 »
El problema que tengo es que tengo que resetear muchas veces el PIC para que se conecte en modo bootloader. Otra cosa es que cuando estoy descargando el programa a veces se cuelga la misma.

He usado el bootloader serie en PICs de la línea 16F, y realmente es muy sencillo, y ni me entero que tengo un bootloader, directamente reseteando el PIC ya estoy listo para efectuar la descarga sin problemas.


darck_khronos has usado el bootloader de los samples que mencionabas?


Desconectado marito

  • PIC16
  • ***
  • Mensajes: 217
Re: Bootloader 18F4550 RS232 Serie
« Respuesta #4 en: 24 de Febrero de 2012, 10:56:30 »
darck_khronos quería hacerte unas preguntas más,

cual es el sample de CCS?

que programa hay que usar para descargar los programas con el bootloader ese?

Gracias!

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re: Bootloader 18F4550 RS232 Serie
« Respuesta #5 en: 24 de Febrero de 2012, 11:58:24 »
Por si te sirve, yo utilizo este bootloader:

   http://www.etc.ugal.ro/cchiculita/software/picbootloader.htm

El bootloader resetea automaticamente al micro a través de la línea RTS del RS232.

El firmware adaptado al micro 18F2550 puedes conseguirlo en la página original o en la mía.
En mi página encontrarás el firmware ya adaptado y compilado a hex para varias velocidades de transmisión y de reloj:

   Tiny PIC Bootloader 18F2550

El interface se puede realizar con MAX232 o con transistores:






Saludos.
« Última modificación: 24 de Febrero de 2012, 12:23:46 por picuino »

Desconectado marito

  • PIC16
  • ***
  • Mensajes: 217
Re: Bootloader 18F4550 RS232 Serie
« Respuesta #6 en: 24 de Febrero de 2012, 12:12:59 »
picuino yo necesitaría el bootloader para el 4550, en tu página y en el link que pusiste sólo encuentro para el 2550... está para el que necesito?


gracias!


Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re: Bootloader 18F4550 RS232 Serie
« Respuesta #7 en: 24 de Febrero de 2012, 12:22:59 »
El PIC18F2550 y el 18F4550 son el mismo micro.
El 18F4550 tiene más líneas de entrada-salida, pero funciona igual, con el mismo bootloader y mismo software.

Saludos.

Editado:
Si quieres modificar el fichero ensamblador, entonces sí que te puede interesar cambiar las referencias al 18F2550 por el 18F4550.
Esto es necesario si quieres utilizar en el bootloader entradas/salidas que sólo estén en el 4550.
« Última modificación: 24 de Febrero de 2012, 12:39:42 por picuino »

Desconectado marito

  • PIC16
  • ***
  • Mensajes: 217
Re: Bootloader 18F4550 RS232 Serie
« Respuesta #8 en: 24 de Febrero de 2012, 12:29:24 »
Buenísimo! En un rato lo pruebo y te comento los resultados!

Pienso usar el MPLAB 8.8 con mi programador ICD2-USB para descargar el bootloader.

Luego directamente con el tiny bootloader descargo los programas con el PIC montado sobre mi circuito.

Te parece la mejor manera?


Desconectado marito

  • PIC16
  • ***
  • Mensajes: 217
Re: Bootloader 18F4550 RS232 Serie
« Respuesta #9 en: 24 de Febrero de 2012, 12:32:39 »
Citar
El interface se puede realizar con MAX232 o con transistores

Estoy usando el MAX232 como interface, ayer estuve probando enviar datos a la PC, y funcionó perfecto. La misma placa ya la había usado con PICs de la línea 16F.


Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re: Bootloader 18F4550 RS232 Serie
« Respuesta #10 en: 24 de Febrero de 2012, 12:38:47 »
Cada bootloader es un mundo y debes tener en cuenta sus limitaciones.

El Tiny PIC Bootloader se almacena en las últimas 100 direcciones de memoria (que no se pueden utilizar)

Por otro lado las 4 primeras direcciones del micro se utilizan para saltar al bootloader.
Por lo tanto las 4 primeras direcciones de tu programa se deben guardar en otro sitio y deberían contener sólo un salto a la rutina principal.

La mayoría de programas no debería darte problemas. Si encuentras problemas consulta. Este bootloader es más sencillo de utilizar que otros.

Saludos.

Desconectado marito

  • PIC16
  • ***
  • Mensajes: 217
Re: Bootloader 18F4550 RS232 Serie
« Respuesta #11 en: 24 de Febrero de 2012, 12:42:13 »
Entonces debería colocar una protección para las cuatro primeras direcciones en cada programa que utilice con este bootloader? O escribo mi programa sin tener en cuenta que existe un bootloader en el mismo chip?

Gracias!

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re: Bootloader 18F4550 RS232 Serie
« Respuesta #12 en: 24 de Febrero de 2012, 12:52:37 »
Yo suelo escribir como si no hubiera bootloader y no suele darme ningún problema.
Si después el bootloader da un aviso mientras grabo el programa, coloco el inicio del programa a partir de la dirección 20h y listo.
Cada compilador tiene una instrucción diferente. Para el C18 sería:

#pragma code=20h

/* Y aquí comienza el código */

Saludos.

Desconectado marito

  • PIC16
  • ***
  • Mensajes: 217
Re: Bootloader 18F4550 RS232 Serie
« Respuesta #13 en: 25 de Febrero de 2012, 19:00:33 »
Picuino estoy intentando montar el bootloader PIC18F2550_HS_20Mhz_57600baud.hex en un PIc18F4550.

Descargo el .hex con el mplab y mi programadora ICD2-USB en el PIC. Pero cuando intento conectarme con el PIC a través del Tiny Bootloader me genera el error siguiente:

Citar
Connected to \\.\COM5 at 57600
  HEX: 6 min old, INHX32,18Fcode+cfg, total=120 bytes.
  Searching for PIC ...Not found,
  ERROR!

En que puedo estar fallando?

Desconectado marito

  • PIC16
  • ***
  • Mensajes: 217
Re: Bootloader 18F4550 RS232 Serie
« Respuesta #14 en: 25 de Febrero de 2012, 19:02:10 »
Otro dato es que si le doy CheckPic, tengo la falla:

Citar
Connected to \\.\COM5 at 57600
  Searching for PIC ...Not found,
  ERROR!