TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: manex_1987 en 09 de Octubre de 2004, 09:26:00

Título: Problema con el bootloader del 16F88 y el org 0x0004
Publicado por: manex_1987 en 09 de Octubre de 2004, 09:26:00
Hola

Ando aqui practicando con el bootloader de un 16F88, el cual me carga los programas perfectamente, si los hago en MPLAB. No me olvido de poner al inicio del programa, el ORG 4, para que salte el bootloader.

Pero si los hago desde PBPLUS, me da el error

Error[118]   C:FILECROWNHILLEEPROMI2C.ASM 17 : Overwriting previous address contents (0004)

Segun voy investigando, descubro que PBPLUS pone el ORG 4 , despues de un include, por lo que me parece logico que de ese error. Agarro el asm, y le pongo el ORG 4 encima del todo. Esta vez MPASM no me da ningun error. Pero el programa para descargar el HEX, me dice que no ha detectado el ORG 4 necesario.

Me esta volviendo loco, ayuda plz!

salu2!
Título: RE: Problema con el bootloader del 16F88 y el org 0x0004
Publicado por: Sispic en 09 de Octubre de 2004, 11:58:00
Codigo:

DECLARE BOOTLOADER = ON or OFF, or TRUE or FALSE, or 1, 0
The BOOTLOADER DECLARE directive enables or disables the special settings that a serial bootloader requires at the start of code space. This directive is ignored if a PICmicro without bootloading capabilities is targeted.

Disabling the bootloader will free a few bytes from the code produced. This doesn"t seem a great deal, however, these few bytes may be the difference between a working or non-working program. The default for the compiler is BOOTLOADER ON




Encontrado en la ayuda .
Título: RE: Problema con el bootloader del 16F88 y el org 0x0004
Publicado por: manex_1987 en 09 de Octubre de 2004, 13:42:00
Aun poniendo eso ,sigue igual... me sigue dando error.

salu2
Título: RE: Problema con el bootloader del 16F88 y el org 0x0004
Publicado por: Sispic en 09 de Octubre de 2004, 13:56:00
No me olvido de poner al inicio del programa, el ORG 4
********************************************

si lo defines tienes que olvidarte , ya lo hace solo .

el dowloader solo requiere que esté libre hasta org4
Título: RE: Problema con el bootloader del 16F88 y el org 0x0004
Publicado por: lager en 09 de Octubre de 2004, 14:03:00
Pana Manex_1987 , tu codigo funciona sin bootloader?otra cosa 16f88??? que version tienes de  proton por que no lo veo incluido en la carpeta .Solo
16f870,16f871,16f872,16f873,16f874,16f876 y 16f877 pasa la serie 16
Salu2 pana
Título: RE: Problema con el bootloader del 16F88 y el org 0x0004
Publicado por: manex_1987 en 10 de Octubre de 2004, 05:12:00
Uso un bootloader aparte para el 16F88, pero el HEX lo fabrico en el PBPLUS mismo. Y no lo entiendo, aun poniendo el ORG 0x0004 al principio principio del asm, no me funciona...

salu2
Título: RE: Problema con el bootloader del 16F88 y el org 0x0004
Publicado por: Sispic en 10 de Octubre de 2004, 07:58:00
pero el HEX lo fabrico en el PBPLUS mismo.
**********************************

que .hex fabricas con pbp , el del propio codigo loader ó el de usuario ?

el hex de usuario seria así:

ORG 0
goto main

ORG 4 " como minimo y maximo donde empieza el codigo loader
main
bla

funciona definiendo el loader con pbp ?

Título: RE: Problema con el bootloader del 16F88 y el org 0x0004
Publicado por: lager en 10 de Octubre de 2004, 12:47:00
Uso un bootloader aparte para el 16F88<-- puede ser parte del problema.Aunque podrian ser muchos otros, como la velocidad de programacion del hardware,que definas un cristal diferente al del boot,y por supuesto que sea un problema de proton.yo usao varios de los que vienen con proton y ninguno me a dado problema, no se que boot bajaste talves no sea de la frecuencia del cristal que usas en tu codigo(eso la mayoria de las veces ocasiona sobreescritura, como en tu caso)
Salu2 panas
Título: RE: Problema con el bootloader del 16F88 y el org 0x0004
Publicado por: manex_1987 en 10 de Octubre de 2004, 13:29:00
Hola

Si, yo he usado el bootloader para el 18F458 del proton, y va bien.

En cuanto a la sobreescritura, esta se efectua en la fase de ensamble eh...

La cuestion es que, si nos fijamos en el ASM que me ha generado, primero esta el include. ORG 0x00 , y un monton de codigo. Y si despues de eso va mi ORG 0x04, y mi codigo, es logico que sobreescriba. Porque no me da error, si no escribo ningun codigo.

Me da que es un problema del mismo PROTON, por su "mania", digamos, de poner el include primero, y luego todo lo demas... sera porque el codigo esta optimizado para usar SUS bootloaders...

salu2
Título: RE: Problema con el bootloader del 16F88 y el org 0x0004
Publicado por: lager en 10 de Octubre de 2004, 13:39:00
Hola,
Por que no subes o me envias tu codigo y el boot para ver en que te puedo ayudar.
Salu2
Título: RE: Problema con el bootloader del 16F88 y el org 0x0004
Publicado por: manex_1987 en 10 de Octubre de 2004, 13:44:00
Buff por ahora le he encontrado una solucion, aunque un poco molesta...

Cuando se compile el archivo, coger su libreria .PBP , y modificar el ORG 0 cambiandolo por ORG 4 , y luego reensamblar el programa (no recompilarlo).

Muy molesto, pero bueno, algo es algo...

salu2

PD: Por si alguien quiere currar con el 16F88, el bootloader llamado "Bloader" se baja de www.sparkfun.com , y la programacion inicial, la haces con el winpic (ic-prog aun no lo soporta, q pena). Deberiais de mojaros en esto, porque os estais perdiendo un chip increible.
Título: RE: Problema con el bootloader del 16F88 y el org 0x0004
Publicado por: lager en 10 de Octubre de 2004, 15:18:00
Que bueno que ya resolviste TU problema pana
Salu2
Título: RE: Problema con el bootloader del 16F88 y el org 0x0004
Publicado por: manex_1987 en 10 de Octubre de 2004, 17:22:00
Si , bueno... pero es bastante molesto el asunto...

Creo que se debe de tratar de un BUG a resolver por el creador del PBPLUS, el hecho de que no "acepte" bootloaders nativos...
Título: RE: Problema con el bootloader del 16F88 y el org 0x0004
Publicado por: Sispic en 11 de Octubre de 2004, 02:18:00
Entonces indicale que usas interrupciones  ,ON INTERRUPT GOTO My_Int   , tanto si usas como no .

y si no las usas ,  le pones DISABLE al principio del programa .

un hex generado  por ejemplo

Codigo:

2805 3FFF 3FFF 3FFF 0008 178B 280A 1B8B
0008 280A 0185 0186 3FFF 3FFF 3FFF 3FFF



Título: RE: Problema con el bootloader del 16F88 y el org 0x0004
Publicado por: manex_1987 en 11 de Octubre de 2004, 06:11:00
Con eso tampoco funciona el asunto... y ahora, ademas, el jodido chip no sabe comportarse con SERIN y SEROUT, manda un byte y se estanca. Parece que alguien se ha propuesto hacer que este pic no funcione!

salu2