Autor Tema: Bootloader y CCS  (Leído 3602 veces)

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

Desconectado c4_esp_VR

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
    • www.muchotrasto.com
Bootloader y CCS
« en: 27 de Julio de 2007, 10:57:02 »
Hola:

Tengo entendido que booytloader no se puede implementar con código CCS ya que hay que meter instrucciones de código al inicio de la memoria del PIC o algo por el estilo (corregirme si me equivoco), es por ello que bootloader no se puede implementar con CCS.

¿Mi pregunta es, sabeis como se implementa bootloader en un pic de la familia 18 con CCS?.

Como siempre gracias a todos.

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Bootloader y CCS
« Respuesta #1 en: 27 de Julio de 2007, 12:15:40 »
un bootloader se puede implementar con cualquier compilador, C, ASM, Basic. Igual todos permiten ingresar código en ASM, algunos compiladores tienen instrucciones para hacer esto.

Un bootloader es aprovechar que el micro puede re-programar la memoria FLASH. CCS tiene funciones para hacer esto, No recuerdo bien cuales son estas, pero puedes buscar en la ayuda de CCS, que entre otras cosas me parece la ayuda mas completa respecto a otros compiladores que he visto.

Saludos!

Desconectado c4_esp_VR

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
    • www.muchotrasto.com
Re: Bootloader y CCS
« Respuesta #2 en: 27 de Julio de 2007, 18:56:19 »
Miraré en la ayuda del CCS, pero no hay algo más concreto como esquemático, el código que hay que meter en el micro, etc...

Gracias, sobre todo a PICmouse  :mrgreen: :mrgreen: :mrgreen:

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Bootloader y CCS
« Respuesta #3 en: 27 de Julio de 2007, 19:06:10 »
Mira, te dan desde el esquemático de como es que se conecta el PIC al puerto serial, hasta el código....  :mrgreen:

VER INFORMACION

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Bootloader y CCS
« Respuesta #4 en: 28 de Julio de 2007, 02:51:18 »
En la propia carpeta de ejemplos del CCS hay un bootloader que funciona perfectamente.

Desconectado c4_esp_VR

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
    • www.muchotrasto.com
Re: Bootloader y CCS
« Respuesta #5 en: 28 de Julio de 2007, 07:28:54 »
Muchas gracias por la INFO, ya me voy enterando de más cosas poco a poco  :-/ :-/ :-/ :-/ :-/ :-/, sólo que he visto en el foro que la gente programa el pic con bootloader a través de usb y en los ejemplos y enlaces que habeis puesto es por serie 232, y claro como vas a programar el pic con usb y bootloader si para programarlo hace falta +-12V, hay una bomba electrica o algo por el estilo como el programador gtpusblite porque aunque se reprograme el mismo desde una dirección de memoria específica para no borrar el código del bootloader...estoy confundido  :? :? :? :? :? :?

Gracias de nuevo, siempre estais ahi, sois unos fieras.
« Última modificación: 28 de Julio de 2007, 07:38:15 por c4_esp_VR »

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Bootloader y CCS
« Respuesta #6 en: 28 de Julio de 2007, 07:43:30 »
Los PIC que tienen capacidad para autoescribir en su memoria de programa no necesitan 13V para hacerlo. Los bootloader funcionan por software y a 5V.
Los bootloader por usb pueden trabajar de dos maneras: o implementando una aplicación en el PC que envíe los datos al PIC o emulando un puerto serie y utilizando cualquier programa de comunicaciones serie en el PC.

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Bootloader y CCS
« Respuesta #7 en: 28 de Julio de 2007, 10:07:38 »
Mira, sabes bien que el PIC puede escribir datos en la memoria EEPROm interna cierto!!!, De la misma forma el puede re programar su memoria FLASH (Memoria de programa), No necesita 13V, el PIC hace esta tarea durante su operación normal de 5 V, solo se necesita un programa en el PC, para que le envíe los datos que guardara el PIC en la FLASH.

Desconectado c4_esp_VR

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
    • www.muchotrasto.com
Re: Bootloader y CCS
« Respuesta #8 en: 28 de Julio de 2007, 10:17:30 »
http://www.create.ucsb.edu/~dano/CUI/#Sec3

Bien, perfecto entonces supuestamente programas primeramente el pic para meterle el bootloader, para ello lo programaría con ICSP con el esquemático del enlace anterior.

Luego se supone que pulsando sobre el boton de programar, metes el .hex generado por CCS...pero con que programa, si lo meto a capón me cargo el bootloader que está en las primeras direcciones de memoria...habrá que decirle en el código que lo hago a partir de una dirección de memoria con directivas ORG

Venga fenómenos seguir hechandome una manita  :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen:

Gracias.

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Bootloader y CCS
« Respuesta #9 en: 28 de Julio de 2007, 10:55:06 »
El ICSP programa TODO!!!

El bootloader programa lo que quieras en las posiciones de memoria que quieras, Claro esta no vas a programar encima del programa del bootoloader.

Los pasos para trabajar con un bootloader son estos:

1.) Crea el programa (Bootloader) con CCS.
2.) Grabas en modo ICSP en el PIC
3.) Creas una aplicación en visual basic o en Delphy o lo que quieras. Este sera el encargado de mandarle el .hex al PIC para que sea el PIC quien guarde esos datos en su memoria FLASH. Se supone que no se perderá el programa que estaba antes(Bootloader)!!!!

Debes leer el link que primero te di, en el explican todo.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Bootloader y CCS
« Respuesta #10 en: 28 de Julio de 2007, 11:54:43 »
CCS provee ciertas sentencias para colocar tu programa o trozos de programa en las posiciones de memoria que tú quieras.

Código: [Seleccionar]
#org start, end

   or

#org segment

   or

#org start, end {}

   or

#org start, end   auto=0

#ORG start,end DEFAULT

   or

#ORG DEFAULT
 
Elements:
 start is the first ROM location (word address) to use, end is the last ROM location, segment is the start ROM location from a previous #org
 


y también puedes cambiar de sitio los vectores de Reset e Interrupción:

Código: [Seleccionar]
#build( reset=APLICACION_RESET, interrupt=APLICACION_HIGH_INT)
De todas formas, si puedes programar por ICSP, ¿para qué quieres un bootloader?

Desconectado c4_esp_VR

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
    • www.muchotrasto.com
Re: Bootloader y CCS
« Respuesta #11 en: 28 de Julio de 2007, 12:24:58 »
La verdad es que es nada más que para aprender ha hacerlo porque el ICSP es un módulo aislado con lo que no "ocupa" espacio en placa y va fenomenal con todos los micros, sólo que me parece buena idea hacerlo y ver como funciona el bootloader, ya que se empieza usar mucho este tipo de programación "al vuelo" en otras tarjetas comerciales.

Gracias por la ayuda, seguiré mirando y preguntando por aqui cuando haya buscado y mirado más documentación, muchas gracias.


 

anything