Autor Tema: Botloader para 18F4550  (Leído 9872 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado El_Guitre

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1046
Botloader para 18F4550
« en: 19 de Septiembre de 2008, 19:37:18 »
Hola amigos, resulta que estamos ideando algunas modificaciones para el robot sumo y una de las ideas es cargarle un botloader al PIC para poder modificar el programa "in situ" (sobre la pista) conectando el bot a una notebook. Se me ocurrió que podría ser con un botloader USB, aprovechando que estamos usando un 18F4550 y que las notebook que tenemos no tienen puerto serie.

Alguien sabe de algún botloader de estas características, nunca he usado uno y no encontré tampoco. Gracias de antemano.   

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3574
    • Juntos es mejor
Re: Botloader para 18F4550
« Respuesta #1 en: 19 de Septiembre de 2008, 19:50:30 »
Microchip te regala el Bootloader para el PIC18F4550. Si quieres empezamos a trabajarle para entender como usarlo.

Para empezar, solo debes descargarte el archivo USB Bootloader Setup.EXE.

Instalarlo y listo a trabajar con el.

Debes tener previamente instalado C18 para poder trabajar con este bootloader.

Para usarlo se debe programar por primera vez el microcontrolador usando un programador externo por el pierto ICSP de siempre. Ya con ese código residente en memoria del PIC, solo es necesario usar una aplicación.exe que quedo también instalada con lo que bajamos anteriormente y le enviamos el .hex al pic por USB y que el mismo se programe.

La unica exigencia es que cada vez que quieras desarrollar otro programa, es necesario y obligatorio trabajar en C18 y usando la plantilla que tambien te da MICROCHIP.

No perdemos nada intentando y bueno, quedaria aca para que quien trabaje C18 usen el modo bootloader.

En un rato seguimos con este hilo, primero voy a ensamblar el programador y el PIC con el que trabajare esta practica.. En un rato nos hablamos!

SALUDOS!

Desconectado El_Guitre

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1046
Re: Botloader para 18F4550
« Respuesta #2 en: 19 de Septiembre de 2008, 19:56:26 »
Muchas gracias PICMouse por tu respuesta, me parece barbara tu propuesta, mi unico problema es que siempre programe con CCS y de C18 cero idea. Pero es cuestien de ponerse.... vamos a intentarlo. A ver que sale. En un rato descargo el archivo de microchip

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3574
    • Juntos es mejor
Re: Botloader para 18F4550
« Respuesta #3 en: 19 de Septiembre de 2008, 20:08:13 »
Lo de C18, a mi me pasa igual, siempre trabajo con CCS, pero hagamosle con C18, luego pasamos a CCS y vamos a ver a donde llegamos jejeje :D.

Bueno...Me acabo de enterar que hoy es el día del Amor y la Amistad y pues no se puede dejar pasar asi que primero ensamblo el programador y el PIC4550 que usare, luego salgo un rato con mi esposa y mas adelante nos veremos para trabajar en este proyecto.

SALUDOS!!

Desconectado El_Guitre

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1046
Re: Botloader para 18F4550
« Respuesta #4 en: 20 de Septiembre de 2008, 13:18:13 »
Bueno  Ernesto, espero que lo hayas pasado lindo en el dia del amor y la amistad con tu esposa.

Ya tengo descargado e instalado lo que me pasaste de microchip, tambien descargue la version de evaluacion por 45 dias del picc18 pero tengo problemas para activarlo  :? espero solucionarlo en los priximos minutos, por lo demas ya estoy listo para empezar a traaar en nuestra practica. Ahora voy a comer algo y vuelvo para seguir con esto... Saludos.

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1339
Re: Botloader para 18F4550
« Respuesta #5 en: 20 de Septiembre de 2008, 13:26:51 »
Buenas.

El CCS tb tiene un ejemplo para un bootloader, que concretamente es el EX_LOAD.c que hace uso de la libreria LOADER.c que funciono bien hasta cierto punto, cuando le puse junto con USB daba fallos  :?  Pero acabo de ver que hay dos ejemplos mas: ex_bootload y ex_bootloader, recien me doy cuenta de ellos xD

Quiza por ahi algo funcione bien.

Suerte.
Salu2.

Desconectado El_Guitre

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1046
Re: Botloader para 18F4550
« Respuesta #6 en: 20 de Septiembre de 2008, 13:35:08 »
Gracias por el dato jremyf, ahora los chequeo y veo como trabajar tambien con ellos, seria bueno poder implementar lo mismo a la par con picc18 y ccs asi nos sirve a todos. Ya veremos...

Bien, mientras espero de la ayuda de Ernesto con el C18, voy a ir tratando de avanzar con la version de CCS. Acabo de abrir el ejemplo EX_USB_BOOTLOADER.C, este ejemplo nos ofrece un bootloader USB haciendo uso de la clase CDC creandonos un puerto COM virtual en la PC por donde cargaremos el bootloader. A primera vista es justo lo que estoy necesitando.

Ahora a montar el pic y dems componentes para realizar unas pruebas....
« Última modificación: 20 de Septiembre de 2008, 15:36:28 por El_Guitre »

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1339
Re: Botloader para 18F4550
« Respuesta #7 en: 20 de Septiembre de 2008, 13:57:31 »
De nada.

Bueno, por ayudar en algo.. El LOADER.c lo que hace es esperar via 232 caracteres de un correspondiente .hex, esto asta que se encuentre el caracter de "retorno de carro" (0xD, que es cuando se aprieta "ENTER") o el buffer este lleno. Cuando pase esto el programa verifica si el primer caracter enviado es ':' que en todos los archivos HEX esta, que es como su iniciacion para algo nuevo o algo asi xD.

Lo que no entiendo bien, es que, cuando le llega toda una linea de codigo hex el programa ahi mismo lo ejecuta y lo guarda en la ROM y RAM correspondiente dependiendo de lo que haga el hex enviado y para cuando se termine de enviar todas las lineas del hex el programa aun sige en operacion normal como si hubiera si se necesitara del reset para cargarlo definitivamente... es por esto que alfinal ponen reset_cpu().

Bueno no estoy del todo seguro.
Salu2

Desconectado Antagonist

  • PIC10
  • *
  • Mensajes: 2
pipo2
« Respuesta #8 en: 17 de Junio de 2009, 17:54:37 »
hola, tengo el programador pipo2, es posible cargar el bootloader con este programador, me hago lio por lo del icsp que mencionan mas arriba. Pero si no estoy mal creo que es posible, corrijan me si estoy mal.
gracias.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 17619
    • MicroPIC
Re: Botloader para 18F4550
« Respuesta #9 en: 17 de Junio de 2009, 18:20:50 »
El bootloader de CCS va estupendamente y no cuesta mucho ponerlo en marcha. Para descargar un fichero HEX al PIC basta con abrir el SIOW.EXE que también viene con CCS y pulsar el botón "Download".
Un saludo desde Sevilla, España.
Visita MicroPIC                                                                                        ɔ!doɹɔ!ɯ ɐʇ!s!ʌ

Desconectado c4_esp_VR

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 733
    • www.muchotrasto.com
Re: Botloader para 18F4550
« Respuesta #10 en: 19 de Junio de 2009, 04:57:40 »
Hola compañeros:

Tambien estoy interesado en el bootloader por usb con CCS y me gustaría al menos probarlo. Pero para ello alguien podría poner algún esquemático de como sería el bootloader en un 18f2550 o un 18f4550 o similar y como funcionoría, más que nada porque creo recordar que hay que poner un botón o una serie de botones para programarlo si no me equivoco.

Un saludete y gracias.

Desconectado stk500

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4848
Re: Botloader para 18F4550
« Respuesta #11 en: 19 de Junio de 2009, 05:56:20 »
Yo creo es este? no ???
http://www.create.ucsb.edu/~dano/CUI/

saludo

Desconectado c4_esp_VR

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 733
    • www.muchotrasto.com
Re: Botloader para 18F4550
« Respuesta #12 en: 19 de Junio de 2009, 06:48:51 »
Muy bueno stk500:

Por otro lado antiguamente había problemas de meter programas en el PIC con el CCS debido al espacio que le hace falta al pic para meter el programa y había que realizar un org3000 o algo así creo recordar. ¿¿¿Dicho tema con las nuevas librerias de bootloader de ccs se han solucionado???

Muchas gracias compañeros foreros.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 17619
    • MicroPIC
Re: Botloader para 18F4550
« Respuesta #13 en: 19 de Junio de 2009, 07:03:20 »
Efectivamente, sólo tienes que poner un include al principio de tu programa y el bootloader se encarga de colocar cada cosa en la zona de memoria que le toca.
Un saludo desde Sevilla, España.
Visita MicroPIC                                                                                        ɔ!doɹɔ!ɯ ɐʇ!s!ʌ

Desconectado c4_esp_VR

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 733
    • www.muchotrasto.com
Re: Botloader para 18F4550
« Respuesta #14 en: 19 de Junio de 2009, 08:02:03 »
Hola a todos:

Bueno voy a centrarme un poco e intentar ver los pasos que hay que realizar para el bootloader.

1.-Instalar el bootloader en el pic con un programador ICSP preferiblemente, es decir el programa USB_BOOTLOADER.H
2.-Crear un programa con el CCS como viene siendo habitualmente al estilo

Código: [Seleccionar]
#include <18F4550.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP //fuses
#use delay(clock=12000000)
#use rs232(baud=115200, xmit=PIN_C6, rcv=PIN_C7, stream=PC)

#if __USB_PIC_PERIF__ && defined(__PCH__)
 #define USB_CON_SENSE_PIN PIN_B5
#endif

/*
 Configure, then load the bootloader definitions
*/
#define _bootloader
#include <usb_bootloader.h>

#define LOADER_ISR 0x28
#build(interrupt=LOADER_ISR)

// Includes all USB code and interrupts, as well as the CDC API
#include <usb_cdc.h>

void main()
{
printf("PIC iniciado");
delay_ms(2000);
while(TRUE)
{
printf("Hola Mundo");
delay_ms(1000);
}
}

3.- Iniciar el programa SIOW.EXE
4.- Pulsar el botón de programación del PIC, es decir el de la placa que está conectado el RB5 de nuestro PIC.
5.- Pulsar el botón de SIOW.EXE de programación del PIC.

Con estos pasos tendríamos el programa en nuestro micro a través de bootloader...

Seguriiiisiimo que me equivoco en algo así que corregirme en todo lo que podais  :mrgreen: :mrgreen: :mrgreen:

Un saludete y gracias.

P.D: Estoy muy contento ya que es mi post número 300 :-/ :-/ :-/
« Última modificación: 19 de Junio de 2009, 08:04:48 por c4_esp_VR »


 

anything