Autor Tema: Bootloader en c18 para Pic18f452  (Leído 8287 veces)

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

Desconectado tecnic

  • PIC10
  • *
  • Mensajes: 26
Bootloader en c18 para Pic18f452
« en: 21 de Julio de 2010, 14:38:01 »
Hola a todos, es la primera ves que uso este medio para hacer una consulta, mi duda es la siguiente, lo que quiero es utilizar el Bootloader para un pic18f452 con el compilador c18,a travez del serial, me gustaria saber si alguien alguna vez lo utilizo, de esta forma , yo lo eh hecho con el compilador ccs en el pic16f877 y no tuve problemas, y eh visto, en varios foros, que lo hicieron con el pic18f4550 por medio de usb, pero no encontre ningun ejemplo para el pic18f452 con el compilador c18, ademas tampoco se cuales son las lineas de codigo que hay que agregarle al programa en c18, para no pisar el bootloader,desde ya si alguien me podria orientar le estare muy agradecido.

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Bootloader en c18 para Pic18f452
« Respuesta #1 en: 21 de Julio de 2010, 16:46:54 »
Por lo visto el AN851 se puede aplicar. El Bootloader e información la puedes bajar desde Microchip:

AQUI

Leyendo el pdf en un PIC18F el remapeo sería:

Código: C
  1. void YourHighPriorityISRCode();
  2. void YourLowPriorityISRCode();
  3.  
  4. /** VECTOR REMAPPING ***********************************************/
  5. #define REMAPPED_RESET_VECTOR_ADDRESS           0x200
  6. #define REMAPPED_HIGH_INTERRUPT_VECTOR_ADDRESS  0x208
  7. #define REMAPPED_LOW_INTERRUPT_VECTOR_ADDRESS   0x218
  8.  
  9. void YourHighPriorityISRCode();
  10. void YourLowPriorityISRCode();
  11.        
  12. extern void _startup (void);        // See c018i.c in your C18 compiler dir
  13. #pragma code REMAPPED_RESET_VECTOR = REMAPPED_RESET_VECTOR_ADDRESS
  14. void _reset (void){
  15.     _asm goto _startup _endasm
  16. }
  17. #pragma code REMAPPED_HIGH_INTERRUPT_VECTOR = REMAPPED_HIGH_INTERRUPT_VECTOR_ADDRESS
  18. void Remapped_High_ISR (void)   {
  19.      _asm goto YourHighPriorityISRCode _endasm
  20. }
  21. #pragma code REMAPPED_LOW_INTERRUPT_VECTOR = REMAPPED_LOW_INTERRUPT_VECTOR_ADDRESS
  22. void Remapped_Low_ISR (void){
  23.      _asm goto YourLowPriorityISRCode _endasm
  24. }
  25.        
  26. #pragma code HIGH_INTERRUPT_VECTOR = 0x08
  27. void High_ISR (void)    {
  28.      _asm goto REMAPPED_HIGH_INTERRUPT_VECTOR_ADDRESS _endasm
  29. }
  30. #pragma code LOW_INTERRUPT_VECTOR = 0x18
  31. void Low_ISR (void){
  32.      _asm goto REMAPPED_LOW_INTERRUPT_VECTOR_ADDRESS _endasm
  33. }
  34. #pragma code
  35.        
  36. #pragma interrupt YourHighPriorityISRCode
  37. void YourHighPriorityISRCode()  {
  38.  
  39. }       //This return will be a "retfie fast", since this is in a #pragma interrupt section
  40.  
  41. #pragma interruptlow YourLowPriorityISRCode
  42. void YourLowPriorityISRCode()   {
  43.  
  44. }       //This return will be a "retfie", since this is in a #pragma interruptlow section
  45.  
  46.  
  47. /** DECLARATIONS ***************************************************/
  48. #pragma code
  49. void main(void)
  50. {


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

Desconectado tinchosalamero

  • PIC12
  • **
  • Mensajes: 53
Re: Bootloader en c18 para Pic18f452
« Respuesta #2 en: 21 de Julio de 2010, 19:27:34 »
Yo utilizo el ds30_Loader. la verdad es que funciona bastate bien

fijate, por ahi te sirve

saludos

Desconectado tecnic

  • PIC10
  • *
  • Mensajes: 26
Re: Bootloader en c18 para Pic18f452
« Respuesta #3 en: 21 de Julio de 2010, 19:42:12 »
Muchisimas gracias voy a probar lo que me dicen despues comento como me fue.
saludos y gracias nuevamente.

Desconectado tecnic

  • PIC10
  • *
  • Mensajes: 26
Re: Bootloader en c18 para Pic18f452
« Respuesta #4 en: 22 de Julio de 2010, 10:55:38 »
Hola amigos estuve jugando un poco mas,tratando de intentar hacer andar el bootloader segun como me dijieron, eh agregado las lineas adicionales a mi codigo para el remapeo, pero lo que no entiendo es como usar el AN 851 de microchip, ya que para que el compilador me reconosca las lineas de programa de remapeo, seguramente tengo que incluir archivos de cabecera a mi proyecto en el ide del mplab,ya que sino,me arroja el siguiente error=>
Error [1111] undefined label 'REMAPPED_HIGH_INTERRUPT_VECTOR_ADDRESS' in 'High_ISR'

lo que me esta faltando seguramente es eso, pero esa es mi duda no se cuales son esos archivos ni como configurarlo, es decir no se como usar la aplicacion AN851, si alguien tiene una idea y si ya uso y me puede explicar como es que se utiliza, desde ya muchisimas gracias.

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Bootloader en c18 para Pic18f452
« Respuesta #5 en: 22 de Julio de 2010, 11:14:43 »
El archivo *.lkr también debe ser modificado y agregado al proyecto, seguramente en los archivos test del bootloader se encuentre un ejemplo de como debe quedar.


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

Desconectado tecnic

  • PIC10
  • *
  • Mensajes: 26
Re: Bootloader en c18 para Pic18f452
« Respuesta #6 en: 22 de Julio de 2010, 12:42:16 »
Hola suky muchas gracias por tu ayuda, estuve viendo lo que me decis, en ejemplo test no veo que hallan incluido ningun archivo lkr, lo que si , el cambio que realice fue el archivo 18f452.lkr por el 18f452_c.lkr, que este ultimo se encuentra dentro C:\AN851\Files , pero no hay caso, no debe ser tan simple, debe haber algo mas rebuscado, es una lucha!! jajaja, pero bueno voy a seguir intentandolo, cuando encuentre la solucion ,lo voy a postear asi queda acentado.
saludos.
« Última modificación: 22 de Julio de 2010, 12:44:33 por tecnic »

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Bootloader en c18 para Pic18f452
« Respuesta #7 en: 22 de Julio de 2010, 13:05:40 »
Adjunto proyecto, hice exactamente lo que se comenta en los mensajes anteriores.  ;-)



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

Desconectado tecnic

  • PIC10
  • *
  • Mensajes: 26
Re: Bootloader en c18 para Pic18f452
« Respuesta #8 en: 22 de Julio de 2010, 14:49:56 »
muchisimas gracias por la molestia, prove lo que me pasastes y trate de compilarlo, asi como me lo pasastes, y me arroja el siguiente error =>

MPLINK 4.1, Linker
Copyright (c) 2006 Microchip Technology Inc.
Error - Unrecognized input in './18f452_Boot_serial.lkr:4': #DEFINE
Errors    : 1

Link step failed.
es como que hay algo que no reconoce :(...

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Bootloader en c18 para Pic18f452
« Respuesta #9 en: 22 de Julio de 2010, 15:57:12 »
muchisimas gracias por la molestia, prove lo que me pasastes y trate de compilarlo, asi como me lo pasastes, y me arroja el siguiente error =>

MPLINK 4.1, Linker
Copyright (c) 2006 Microchip Technology Inc.
Error - Unrecognized input in './18f452_Boot_serial.lkr:4': #DEFINE
Errors    : 1

Link step failed.
es como que hay algo que no reconoce :(...


Lee como crear los proyectos en C18 correctamente, revisa en project/Bulid/project que esté todo correcto.

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

Desconectado tecnic

  • PIC10
  • *
  • Mensajes: 26
Re: Bootloader en c18 para Pic18f452
« Respuesta #10 en: 22 de Julio de 2010, 19:12:43 »
gracias nuevamente, voy a revisar eso que me comentas, a ver si encuentro donde esta el problema
saludos!!

Desconectado willynovi

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 546
Re: Bootloader en c18 para Pic18f452
« Respuesta #11 en: 22 de Julio de 2010, 23:35:44 »
lo termino de bajar y probar y compila perfectamente.

Suky, que estas mas en el tema, puede que tenga algo que ver la versión del MPLINK, yo tengo la 4.22 y tecnic tiene la 4.1?, no se, se me ocurre que podria ser algo de eso.
Intento enseñarte a pescar, si solo quieres pescados, espera que un pescador te regale los suyos.

Desconectado tecnic

  • PIC10
  • *
  • Mensajes: 26
Re: Bootloader en c18 para Pic18f452
« Respuesta #12 en: 23 de Julio de 2010, 11:13:12 »
Hola Willynovi, si la verdad que es raro, porque de hecho compilo programas que ya tengo hechos en c18 y no tengo ningun problema, pero cuando trato de compilar el que me paso suky,me da el error que indique anteriormente, y la verdad no se que puede ser, voy a probar eso que me decis de la version, a ver si tengo suerte, no quiero resignarme y volver a mi viejo programador jdm jaja :D
saludos!!

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Bootloader en c18 para Pic18f452
« Respuesta #13 en: 23 de Julio de 2010, 11:28:31 »
Si, tiene que ser la versión del linker, sino puedes limpiar el *.lkr para dejarlo sin las definiciones y reemplazar por sus valores en concreto (Si no usaras debuger, limpiarlo completo)


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

Desconectado tecnic

  • PIC10
  • *
  • Mensajes: 26
Re: Bootloader en c18 para Pic18f452
« Respuesta #14 en: 23 de Julio de 2010, 11:42:30 »
Hola suky gracias por la ayuda, cuando te referis a limpiar, que es lo que tendria que borrar especificamente ( debugger no utilizo) :shock:


 

anything