Autor Tema: que es el bootloader  (Leído 7465 veces)

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

Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
RE: que es el bootloader
« Respuesta #15 en: 21 de Julio de 2004, 02:11:00 »
Gracias pocher por tu ayuda.Lo de reservar las últimas posiciones de memoria para no machacar el bootloader lo pillo.Mi duda está en los vectores de reset,interrupción y tal...
¿Hay que tenerlos en cuenta tb o basta con hacer lo que me comentas?
Saludos

Desconectado pocher

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2568
RE: que es el bootloader
« Respuesta #16 en: 22 de Julio de 2004, 01:58:00 »
Solo eso, el resto "se os dará por añadidura" ... y es que los de CCS son muy listos.

Desconectado odukec

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 174
RE: que es el bootloader
« Respuesta #17 en: 27 de Julio de 2004, 14:11:00 »
Hola amigos..

Que pena ser tan brutico.. pero si yo cargo a mi pic el bootloader y programo en c.. tengo que poner alguna cosa para que el programe en el pic se carge en algun sitio especifico de memoria y no sobre el bootloader, si es asi alguno me podria hacer el favor de explicarme.. es que a veces la cabeza no me da pa" tanto.. .

De antemano muchas gracias

Desconectado Modulay

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 2651
RE: que es el bootloader
« Respuesta #18 en: 28 de Julio de 2004, 00:22:00 »
Tienes que reservar las últimas 256 posiciones de memoria de programa.
Para un pic 16F877 sería añadiendo a tu programa la línea :
#org 0x1F00,0x1FFF {}
Y listo!!
Saludos

Desconectado wofer

  • PIC12
  • **
  • Mensajes: 50
RE: que es el bootloader
« Respuesta #19 en: 25 de Septiembre de 2004, 16:12:00 »
¿Me puede alguien echar una mano con el bootloader?No consigo hacerlo funcionar.Lo ke hago es grabar primero el pic con el bootlr.hex,lo coloco en la placa board y luego le intento volcar un programa hecho en ccs usando el "pic downloader 1.07".pero no me funciona,se keda todo el rato "searching for bootloader".El programa ke intento volcarle en c es :

#include <16f876.h>
#org 0x1F00, 0x1FFF void loader16F876(void) {} //protect bootloader code for the 8k 16F876/
#use delay(clock=10000000)

#fuses HS,NOWDT,NOPROTECT,PUT,NOBROWNOUt,nolvp

main(){

     SET_TRIS_C (0b10000000);


     while(true){
     output_high(pin_c4);
     delay_ms(300);
     output_low(pin_c4);
     delay_ms(300);
   }
}


Por lo ke comenta RGL,¿hay un .asm especifico para C?


Saludos!!

Desconectado wofer

  • PIC12
  • **
  • Mensajes: 50
RE: que es el bootloader
« Respuesta #20 en: 26 de Septiembre de 2004, 10:48:00 »
Ya esta!!!esto es increible,hay ver la velocidad con la ke se carga el programa!!!!Lo ke me faltaba era hacer el reset cuando pone "searching for bootloader"....Si eske no me entero!

Saludos!!

Desconectado Abago

  • PIC24F
  • *****
  • Mensajes: 792
RE: que es el bootloader
« Respuesta #21 en: 26 de Septiembre de 2004, 20:59:00 »
Lo peor de todo, es el atinar al dar al reset en el momento oportuno...

Enhorabuena wofer

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
RE: que es el bootloader
« Respuesta #22 en: 27 de Septiembre de 2004, 00:53:00 »
¿Qué bootloader utilizas Abago?, a mi se me queda en Searching for bootloader por tiempo indefinido hasta que pulso reset. No tengo que tener ninguna prisa al darle.

Además, hay un truco que me contó Sisco que consistía en enviar el reset por el puerto serie y entonces sí que resultaba cómodo.

Ahora no lo encuentro, pero en cuanto lo vea te lo paso.

Desconectado wofer

  • PIC12
  • **
  • Mensajes: 50
RE: que es el bootloader
« Respuesta #23 en: 27 de Septiembre de 2004, 12:56:00 »
Gracias abago,la verdad eske me ha costado un poco,je,je
Yo coincido con nocturno,tambien se me keda por tiempo indefinido hasta ke se restea y entoces es cuando empieza a grabar.El ke yo utilizo es el "pic downloader v1.07" ke me lo he bajado de esta pagina y viene con los fuentes del delphi incluidos:

http://www.x-robotics.com/ (esta en la seccion de software).

Nocturno,si puedes, ami tambien me interesaria tener lo de enviar el reset por el puerto serie.De momento lo ke hago es enviarle una orden por el puerto serie para ke temporice un tiempo(el suficiente para cerrar el puerto y abrir el downloader), y al cabo de ese tiempo me active una salida en la cual hay un transistor conectado al MRLC.....plan xapucilla,pero mejor ke tener ke ir a la placa a pulsar el reset!


Saludos!!

Desconectado Abago

  • PIC24F
  • *****
  • Mensajes: 792
RE: que es el bootloader
« Respuesta #24 en: 27 de Septiembre de 2004, 13:38:00 »
ahora solo queda hacer una modificación al loader, pera que nadie pueda sacar el código del pic....
Es una pena que no se pueda usar el fuse CP

Desconectado Colores

  • Moderadores
  • PIC16
  • *****
  • Mensajes: 232
RE: que es el bootloader
« Respuesta #25 en: 29 de Marzo de 2005, 13:03:00 »
Hola a todos!!!
Estoy intentando hacer funcionar un bootloader de: http://www.etc.ugal.ro/cchiculita/software/picbootloader.htm
Estoy probando con este porque me funcionó a la primera, el problema que a la segunda ya no...
Parece ser que una vez que descargo mi codigo éste sobreescribe el bootloader y no vuelve a funcionar.
Entiendo que tengo que agregar un par de líneas a mi programa para proteger el código de arranque del bootloader, como #org 0x1F00,0x1FFF o ORG 5 (como comentan por ahíGiño.
El problema es que no se hacer eso con Proton+. He intentado poniendo al principio la línea "DECLARE BOOTLOADER = ON" que en teoría sirve para el bootloader de Microcode pero tampoco funciona...
He intentado poner ORG 4 en Proton+ y me da un error de compilación "Overwriting previous address contents"
He intentado cambiar los valores de ORG en el .PBP y compilarlo con Mpasmwin.exe y me tira 284 errores...

Alguien me puede decir como hacer esto?
En la web del bootloader dice que basta con agregar:
org 0
;clrf STATUS
clrf PCLATH
goto Main ....  donde? como? no me funciona...

O algún ejemplo de algún programa hecho en Proton+ que incluya esto. No se si estoy poniendo las líneas esas en el lugar dónde deben ir. O será que Proton+ sólo funciona con su bootloader "nativo"?
El pic es un 16F877A y el bootloader funciona correctamente... pero una sola vez.

Muchas gracias.

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
RE: que es el bootloader
« Respuesta #26 en: 30 de Marzo de 2005, 09:02:00 »
Hola Amigos:

Hay algun tipo de diferencia entre el Bootloader y un In circuit Debugger???? o es lo mismo???

Saludos desde ECUADOR!!!!!

LordLafebre Sonrisa GiganteRebotado

Desconectado Colores

  • Moderadores
  • PIC16
  • *****
  • Mensajes: 232
RE: que es el bootloader
« Respuesta #27 en: 30 de Marzo de 2005, 19:14:00 »
No, no s lo mismo. El bootloader se usa para arrancar el pic en un modo que sirve para programarlo vía puerto serie, si pasa un tiempo determinado que el pic no recibe instrucciones para ser programado entonces comienza el programa del usuario. Es útil para reprogramar el pic sin sacarlo de su circuito.
El ICD sirve para debbugerar el programa. Existen simuladores que simulan el programa paso a paso mientras el pic envía por ICD la parte de código que está ejecutando.

Desconectado Colores

  • Moderadores
  • PIC16
  • *****
  • Mensajes: 232
RE: que es el bootloader
« Respuesta #28 en: 31 de Marzo de 2005, 11:28:00 »
Bueno, (me dije) me cansé... No pruebo más, ya no sé que hacer. El bootloader no funciona con Protón+, hace lo que quiere, graba una sola vez, el bootloader no lo sobreescribe porque sigue respondiendo, pero me dá error al grabar a la segunda vez.
Me autoconvencí que el sistema de Proton+ con el agregado del define de usar bootloader no funciona con otro boot + loader que no sea el de ellos.
Podrían haber previsto un par de parámetros extra en este define como para definir también el lugar que necesita el bootloader sin depender de esta instrucción que en realidad no se puede estar seguro de que está haciendo exactamente. Muy fácil para el usuario, pero no me funcionó...

Tomo aire de nuevo y encaro el problema desde otro punto de vista. Ya está!!! Si el problema es que no consigo el loader original de Protón+ y como quizás el problema está en que estoy usando un boot de terceros, me cambio de compilador BASIC a otro que tambien tenga loader y listo!!!

Me conseguí en MicroCode Studio Pro v2.42 con el loader y todo "full versión". Ahora si!!! Reescribí la mitad del código hecho en Proton para que funcionara en el basic de MicroCode, después de intentar compilar varias veces y reparar todos los errores salgo disparado a buscar el mítico .HEX del bootloader, donde estará?? Acá no, acá tampoco, a ver... Aca está!!!

Perfecto. NO HAY BOOTLOADER PARA EL 16F877A!!! Solo para el 16F877, me falta la "A".
Bueno. no hay que ser tan negativo, voy al sitio de Mecanique, http://www.mecanique.co.uk/ y me consigo un 16F877A.HEX que seguro está disponible como actualización del programa.
No hay nada sobre este micro... solo la frase. "If you require a free firmware file with a different configuration, please contact Mecanique." O sea, que tengo que mandar un mail para que me lo envíen.
Es que nadie usa este PIC? Tan raro es publicar un par de archivos de cosas que no se previeron anteriormente?
Lo mejor es que:
El compilador lo soporta y...
En la página de Mecanique dicen que el boot también.

Creo que mejor me voy a dedicar a otra cosa...
Alguien puede ayudarme de alguna manera?

Muchas gracias.

Desconectado jorgeansuini

  • PIC18
  • ****
  • Mensajes: 340
RE: que es el bootloader
« Respuesta #29 en: 31 de Marzo de 2005, 12:04:00 »
Hola:

Con respecto a microcode studio,estuve viendo y si tiene en su libreria el bootloader para el 877A.-

No tengo a mano el proton+,pero casi te aseguraria que tambien lo tiene.-

Saludos
Jorge


 

anything