Bootloader 18F4550 con mikrobasic

P

Picchip

#1
Hola, me gustaria que me ayudaran con esto ya que, aun investigando, no entiendo nada ni consigo lo que necesito. Me gustaria que me dijeran como podria hacer un bootloader para el 18f4550. El objetivo es que se pueda programar directamente desde usb sin necesidad de un programador. Por internet he estado buscando y salen cosas para hacer un "arduino basado en pic" que usa o el 18f4550 o el 18f2550. Tambien he encotrado cosas pero para programarlo con ccs, y yo quiero con mikrobasic. Necesito que me indiquen que archivo de bootloader necesito (es valido un mismo bootloader para todo, es decir arduino pic, ccs, mikrobasic, etc?) y como cargarlo con el mikrobootloader. Tambien quisiera saber que tengo que poner en el programa que cree para que no borre el bootloader al cargarlo.

Gracias y saludos
 
#2
Justo estoy en lo mismo compañero, al igual que tu, comenze coon el proyecto pinguino, he podido hacerlo con ccs, y al igual que tu lo deseo usar con Mickrobasic, que es un compilador muy bueno, pero que en el asunto del bootloader que el propio mickrobasic trae, no hay informacion que lleve a buen cabo esto que deseamos hacer. Lo maximo que he logrado hacer es que el .HEX que genero con el mickrobasic, lo pueda cargar el en pic (via la utileria Microchip USB), pero al hacerlo toco el codigo del bootloader y pues se lo carga el diablo, y deja de funcionar el bootloader y debo volverlo a cargar via el programador comun.

Parece que hay que añadir una instruccion #pragma en el codigo que uno esta desarrollando en la que se indica donde quedara organizado el codigo ensamblador en el pic, pero no encuentro el dato correcto.

Si logro como hacerlo de manera ya segura y cotidiana, te lo hare saber por este medio.

Saludos y suerte.
 
P

Picchip

#3
ok, en los programas de jemplo sale un bootloader compatible con el 18f4550 pero sale configurado el proyecto para el 4250 o algo asi. Me podrias explicar como configuro el 4550?

Gracias y saludos
 
#4
Bueno, te comento que con Micko C, ya lo pude lograr y hay que anexar lo siguiente en el codigo de tu programa principal y que es:

//------------------------------------------------------ apartado para el bootloader
//MEMORIA ROM
//#pragma SetRomSize(131071)
//#pragma SetPage(PAGE0, 0x000008, 0x1FFFF)

//MEMORIA ROM PARA EL USB BOOTLOADER
#pragma SetRomSize(131071)
#pragma SetPage(PAGE0, 0x001008, 0x1FFFF)
#pragma SetPage(PAGE1, 0x001018, 0x1FFFF)

//INTERRUPTS
//#pragma SetInterrupt(I0,0x000008,0)
//#pragma SetInterrupt(I1,0x000018,1)

//INTERRUPCIONES APAR EL USB BOOTLOADER
#pragma SetInterrupt(I0,0x001008,0)
#pragma SetInterrupt(I1,0x001018,1)
//------------------------------------------------------


Pero como veras esto es Lenguaje C, para nuestro caso que es el Basic, no encuentro instrucciones similares (PRAGMA) para separar las localidades de memoria y que el propio codigo quede organizado en las regiones fuera del bootloader.

Saludos
 
#6
Bueno, mi humilde opinion es que el bootloader que ofrece mikro C esta fuera de tono con el tiempo en que vivimos... te digo porque la ya extinta comunicacion RS232... te recomiendo utilices la version HIDBootloader que ofrece gratuitamente MICROCHIP. que utiliza USB... indistintamente del compilador que uses este Bootloader servira.. unicamente tienes que direccionar el inico de programa a la direccion 0x1001 debido a que el bootloader utiliza los primeros mil registros de programa
 
#7
Última edición:

Temas similares

Arriba