TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: Alejandro en 14 de Diciembre de 2010, 20:46:39

Título: Problemas con bootloader AN1310
Publicado por: Alejandro 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 (http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en546974) 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");
  }
}
Título: Re: Problemas con bootloader AN1310
Publicado por: Nocturno 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
Título: Re: Problemas con bootloader AN1310
Publicado por: Alejandro 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.
Título: Re: Problemas con bootloader AN1310
Publicado por: Nocturno 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.
Título: Re: Problemas con bootloader AN1310
Publicado por: Alejandro 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..
Título: Re: Problemas con bootloader AN1310
Publicado por: Nocturno 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.
Título: Re: Problemas con bootloader AN1310
Publicado por: Suky 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!
Título: Re: Problemas con bootloader AN1310
Publicado por: maverick_007 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
Título: Re: Problemas con bootloader AN1310
Publicado por: LABmouse 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

Título: Re: Problemas con bootloader AN1310
Publicado por: rogamber 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...