Autor Tema: Problemas con bootloader AN1310  (Leído 4574 veces)

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

Desconectado Alejandro

  • PIC16
  • ***
  • Mensajes: 112
Problemas con bootloader AN1310
« en: 14 de Diciembre de 2010, 20:46:39 »
Hola a todos,

Estoy tratando de hacer funcionar el Bootloader para PIC16 y PIC18 de Microchip, el AN1310 usando CCS, lo estoy usando con un Pic18f452,  el Bootloader funciona solo al inicio, me explico:

Inicialmente el Pic esta programado con el firmware del Bootloader, cuando ejecuto la aplicacion de PC este reconoce al Bootloader, puedo programar el firmware de aplicacion con este Bootloader, tambien puedo ejecutar la aplicacion y pasar al modo Aplicacion, pero una ves que esta corriendo la aplicacion no puedo regresar al modo Bootloader a pesar de que reseteo el pic.

Cuando leo el contenido de la memoria de programa y edito eliminando el codigo correspondiente a la aplicacion puedo nuevamente ingresar al modo Bootloader, esto me indica que el firmware del bootloader no ha sido modificado, entonces cual es el problema, alguien me podria dar una orientacion.

El mismo Bootloader lo he probado con C18 y funciona muy bien pero yo prefiero trabajar con CCS por eso mi necesidad de hacer trabajar este bootloader

El bootloader a sido remapeado para ser ubicado a partir de la direccion 0x000 y el codigo de aplicacion a partir de 0x400

Este es mi codigo de aplicacion

Código: [Seleccionar]
/********************************************************************************/
/* BootLoader Activo                       */
/********************************************************************************/
 #build(reset=0x400)
 #build(interrupt=0x408)
 #org 0x0000,0x03ff
 void bootloader() {
 #asm
 nop
 #endasm
}

void main(void) {

while (TRUE){

         LED_ON (LED_POWER);             
         delay_ms(500);
         LED_OFF (LED_POWER);
         delay_ms(100);

         printf("Hola Mundo !!! \r\n");
  }
}

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Problemas con bootloader AN1310
« Respuesta #1 en: 15 de Diciembre de 2010, 03:30:00 »
Según dice la propia nota de aplicación de Microchip, para que el bootloader se active cuando el micro se resetea, el PIN RX debe estar a nivel bajo. ¿Será que no es así?

• If the PIC device’s RX pin is at logic level low (the
RS-232 “Break” state) when the microcontroller
comes out of Reset, Bootloader mode is entered

Desconectado Alejandro

  • PIC16
  • ***
  • Mensajes: 112
Re: Problemas con bootloader AN1310
« Respuesta #2 en: 15 de Diciembre de 2010, 10:42:25 »
Hola Nocturno gracias por responder,

Si esa condición se da, es mas cuando solo esta el pic programado con el firmware del Bootloader, cada ves que reseteo el pic este entra al modo Bootloader, el problema se presenta cuando usando este bootloader programo una aplicación, cuando ejecuto la aplicación este funciona correctamente pero cuando deseo reingresar el modo Bootload no lo puedo hacer.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Problemas con bootloader AN1310
« Respuesta #3 en: 15 de Diciembre de 2010, 12:33:50 »
Es que la otra condición de entrada al bootloader es precisamente que aún no hayas programado ninguna aplicación.
Pero si ya lo has hecho, tienes que verificar que el pin RX está a nivel bajo, o de lo contrario no entra en modo bootloader.

Desconectado Alejandro

  • PIC16
  • ***
  • Mensajes: 112
Re: Problemas con bootloader AN1310
« Respuesta #4 en: 15 de Diciembre de 2010, 13:42:02 »
Citar
tienes que verificar que el pin RX está a nivel bajo

Ya lo verifique, SI esta a nivel bajo, cuando se retorno de un reset..

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Problemas con bootloader AN1310
« Respuesta #5 en: 15 de Diciembre de 2010, 14:17:59 »
Pues entonces hay algún problema en la conversión que has hecho del bootloader de C18 a CCS. Revisa bien, a ver si lo encuentras.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Problemas con bootloader AN1310
« Respuesta #6 en: 15 de Diciembre de 2010, 14:33:14 »
Puede ser que CCS modifique en algo el código en el re-mapeo de los vectores, podrías comprobar los asm generados por ambos, y probar con alguna otra versión más vieja de CCS.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado maverick_007

  • PIC10
  • *
  • Mensajes: 10
Re: Problemas con bootloader AN1310
« Respuesta #7 en: 15 de Enero de 2011, 22:16:04 »
hola muy interesante yo tambien estoy tratando de montar ese bootloader pero primero quiero conseguir un pic con suficiente memoria para poder hacer programas mas grandes y mas ram ( para realizar calculos matematicos como matrices y resolver sistemas de ecuaciones ), por el momento e implementado el bootloader usb y me keda un poco corto por la memoria, me tinca implementar el bootloader de la nota de aplicacion an851 esta "entendible" y se ve facil de implementar con respecto al ccs yo tambien tube problemas con esas directivas para cambiar el origen del programa, esas directivas solo funcionana en una vercion especifica del ccs es la vercion 4.084 espero que que esto te sirva bye

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Problemas con bootloader AN1310
« Respuesta #8 en: 16 de Enero de 2011, 14:12:34 »
Cordial saludo,
yo tambien tube problemas con esas directivas para cambiar el origen del programa, esas directivas solo funcionana en una vercion especifica del ccs es la vercion 4.084 espero que que esto te sirva bye

En todas las versiones de CCS funciona, el problema esta en la forma en la que CCS genera el HEX en estas ultimas versiones... <
http://www.todopic.com.ar/foros/index.php?topic=33487.0


Desconectado rogamber

  • PIC10
  • *
  • Mensajes: 1
Re: Problemas con bootloader AN1310
« Respuesta #9 en: 17 de Mayo de 2011, 23:37:24 »
Alguien logro solucionar el problema del bootloader, y a todo esto se puede grabar con el ICprog, queria probar este bootloader en un pic16f886 pero por lo visto no funciona...