TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: sayamvo en 18 de Octubre de 2011, 11:59:15

Título: MPLAB C18 V3.40 Error [1027] unable to locate '18F2550.h'
Publicado por: sayamvo en 18 de Octubre de 2011, 11:59:15
Hola buenos dias a todos, he estado leyendo el foro, me parece un muy buen aporte al conocimiento,  soy nuevo en el foro, y nuevo en el uso del pic 18f2550,  estoy usando el compilador mplab c18 v_3.40 he revisdado la configuracion  de acuerdo a lo indicado el el foro, pero sigo teniendo problema , el codigo usado es:  ( tengo ya grabado en el pic el bootloader)

#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
#use delay(clock=48000000)
#include <18F2550.h>
#include <usb_cdc.h>
#define LOADER_END 0x7FF
#define LOADER_SIZE 0x6FF
#build(reset=LOADER_END+1, interrupt=LOADER_END+9)
#org 0, LOADER_END {} // nothing will replace the bootloader memory space
// END OF bootloader definition

no se que otra cosa revisar, yo veo que en el las librerias aparece es p18f25j50 en los linker esta es 18f25j50_g.lkr. es eso correcto,

mejor reinstalo el mplab c18??

les agradezco.

sayamvo
Título: Re: MPLAB C18 V3.40 Error [1027] unable to locate '18F2550.h'
Publicado por: MerLiNz en 18 de Octubre de 2011, 12:24:10
has probado a poner p18f2550.h ??
Título: Re: MPLAB C18 V3.40 Error [1027] unable to locate '18F2550.h'
Publicado por: Suky en 18 de Octubre de 2011, 15:15:25
Lo primero  es #include <18F2550.h> y después todo lo demás  ;-)
Título: Re: MPLAB C18 V3.40 Error [1027] unable to locate '18F2550.h'
Publicado por: MerLiNz en 18 de Octubre de 2011, 15:51:42
Lo primero  es #include <18F2550.h> y después todo lo demás  ;-)

lo decia porque el C18 la libreria del pic empieza con 'p', ejemplo: p18f4550.h y el lo ha puesto sin la 'p', es logico el error unable to locate.. xD
Título: Re: MPLAB C18 V3.40 Error [1027] unable to locate '18F2550.h'
Publicado por: Suky en 18 de Octubre de 2011, 15:57:27
Lo primero  es #include <18F2550.h> y después todo lo demás  ;-)

lo decia porque el C18 la libreria del pic empieza con 'p', ejemplo: p18f4550.h y el lo ha puesto sin la 'p', es logico el error unable to locate.. xD

Pero es CCS  ;-) O sea, esa sintaxis es CCS  :D Ya quede  :z) Como que no va a funcionar nunca  :mrgreen:
Título: Re: MPLAB C18 V3.40 Error [1027] unable to locate '18F2550.h'
Publicado por: sayamvo en 18 de Octubre de 2011, 19:41:24
Les agradezco mucho,  cambie las lineas a  la fila 1 y 2,
#include <p18F2550.h>
#include <usb_cdc.h>
tambiem cambie <p18f2550.h> , al compilarlo me queda el error

c:2:Error [1027] unable to locate 'usb_cdc.h'

el seguire revisando.

este es un gran foro, adelante.
Título: Re: MPLAB C18 V3.40 Error [1027] unable to locate '18F2550.h'
Publicado por: MerLiNz en 18 de Octubre de 2011, 19:46:26
yo veo MPLAB C18 xD no me pare a mirar si era CCS unicamente por el titulo sobra xD
Título: Re: MPLAB C18 V3.40 Error [1027] unable to locate '18F2550.h'
Publicado por: Suky en 18 de Octubre de 2011, 22:51:02
Yo no se que está haciendo  :D Toda esa sintaxis es de CCS y quiere compilar en C18  :shock:

Para C18:

Cursillo en C18 para PICS DESDE CERO (http://www.todopic.com.ar/foros/index.php?topic=17017.0)

Tutorial C18 (http://www.todopic.com.ar/foros/index.php?topic=31611.0)


Saludos!
Título: Re: MPLAB C18 V3.40 Error [1027] unable to locate '18F2550.h'
Publicado por: MGLSOFT en 18 de Octubre de 2011, 23:02:21
Ya veo que en algun momento le compila y ahi morimos todos !! :D :D :D
Título: Re: MPLAB C18 V3.40 Error [1027] unable to locate '18F2550.h'
Publicado por: sayamvo en 19 de Octubre de 2011, 13:07:52
Buen dia,  entiendo que no he leido lo suficiente,  cada ves estoy entendiendo mas, na habia visto la diferencia en programar en ccs o en c18,  estoy usando el bootloader en el pic 18f2550,  que codigo debo usar para especificar  la nueva direccion de inicio del programa para proteger los datos del boot loader, en ccs seria

#define LOADER_END 0x7FF
#define LOADER_SIZE 0x6FF
#build(reset=LOADER_END+1, interrupt=LOADER_END+9)
#org 0, LOADER_END {} // nothing will replace the bootloader memory space
// END OF bootloader definition

como seria en c18?   

el delay hay que definirlo? o viene en las librerias del c18?

les agradezco.

sayamvo
Título: Re: MPLAB C18 V3.40 Error [1027] unable to locate '18F2550.h'
Publicado por: MerLiNz en 19 de Octubre de 2011, 13:12:05
en c18 tendrias que buscar el archivo .lkr que corresponde a tu pic, te recomiendo que lo copies a la carpeta de tu proyecto, y lo añadas al proyecto.
C:\MCC18\bin\LKR



En ese archivo tienes que poner el inicio del codigo y el fin antes de tu bootloader, y al final el bootloader, algo asi:

CODEPAGE   NAME=page       START=0x0               END=0xEFFF
CODEPAGE   NAME=bloader    START=0xF000          END=0xFFF0 PROTECTED

luego en el .c debes poner #pragma code bloader=0xF000

todo esto poniendo tus direcciones
Título: Re: MPLAB C18 V3.40 Error [1027] unable to locate '18F2550.h'
Publicado por: Suky en 19 de Octubre de 2011, 13:24:08
Bootloader HID en C18 (http://www.micros-designs.com.ar/c18-bootloader-usb-hid/)
Título: Re: MPLAB C18 V3.40 Error [1027] unable to locate '18F2550.h'
Publicado por: sayamvo en 19 de Octubre de 2011, 14:30:18
Gracias Zuky por las respuestas,  cada vez me salen mas preguntas:

yo tengo cargado el bootloader del neoteo para pic18f2550.

Debo cambiarlo para el c18?    el codigo del remapeo de los vectores de reset e interrupciones del microcontrolador  se inserta a mi codigo o us un archivo nuevo ( linker ? )

como utilizar un *lkr modificado.

 :oops:
Título: Re: MPLAB C18 V3.40 Error [1027] unable to locate '18F2550.h'
Publicado por: Suky en 19 de Octubre de 2011, 14:37:24
yo tengo cargado el bootloader del neoteo para pic18f2550.

Y exactamente cual es? O sea, en base a cual está? Neoteo es una página de noticias/artículos varios ;-)

Citar
el codigo del remapeo de los vectores de reset e interrupciones del microcontrolador  se inserta a mi codigo o us un archivo nuevo ( linker ? )

Se inserta en el código, podes bajarte el ejemplo!!! Allí se ve claramente.

Citar
como utilizar un *lkr modificado.

Lo agregas al proyecto  :undecided:
Título: Re: MPLAB C18 V3.40 Error [1027] unable to locate '18F2550.h'
Publicado por: sayamvo en 19 de Octubre de 2011, 15:37:59
Suky, el bootloader es el mismo suministrado por Michochip para el pic 18f4550, al que se le modifico el pin del switch por el RC2, y los led en RC0 y 1.


no se como modificar y  utilizar un *.lkr modificado.....
Título: Re: MPLAB C18 V3.40 Error [1027] unable to locate '18F2550.h'
Publicado por: MerLiNz en 19 de Octubre de 2011, 17:41:08
en el arbol de archivos del proyecto te vas a linker script, click derecho, add files

buscas el tuyo, como ya te dije ponerlo en la carpeta del proyecto para no modificar el original.

2 clicks y lo editas como si de un texto se tratase
Título: Re: MPLAB C18 V3.40 Error [1027] unable to locate '18F2550.h'
Publicado por: sayamvo en 19 de Octubre de 2011, 18:21:36
Ok  gracias,  modifique el lkr   para  el rm18f2550_HID bootload,  lo anexe y pude compilar.

cargo el archivo.HEX desde el PC, pero  el micro no hace lo que se supone,  prender un led

debo  seguir mirando a ver que puede estar mal,  pero  ya puedo compilar  y no escribo sobre las direcciones reservadas para el bootloader.

.......
Título: Re: MPLAB C18 V3.40 Error [1027] unable to locate '18F2550.h'
Publicado por: sayamvo en 20 de Octubre de 2011, 13:18:54
Compilé el archivo y  no presenta errores,  lo estoy simulando en el mplab ide,   y hace lo  que se programo,  cargo el archivo  main.c, le modifico  p18f2550.h, lo compilo y al simularlo  hace lo programado,  pero al pasarlo al micro no hace nada, los led permanecen apagados.

el bootloader funciona bien, el programa HID bootloader funciona bien.

que debo revisar?  que podra estar mal?  tendra problema el pic??
Título: Re: MPLAB C18 V3.40 Error [1027] unable to locate '18F2550.h'
Publicado por: Suky en 20 de Octubre de 2011, 13:27:14
Exactamente que ejemplo estas compilando? Porque en un principio hay una mezcla entre CCS y C18  :z)
Título: Re: MPLAB C18 V3.40 Error [1027] unable to locate '18F2550.h'
Publicado por: sayamvo en 20 de Octubre de 2011, 16:11:47
ok  Suky,  ya corregi el error que presentaba por tener codigo equibocado,  solo tengo ahora codigo en  c18, el codigo que estoy compilando es el que Ud. coloca en el foro  con el bootloader para el 18f4550,  osea el main.c,  lo  grabo en el pic  pero no parece pasar nada, pero si sale el mensdaje de que fue grabado.

 :oops:

cuando uso el bootloader  las lineas
         #pragma config PLLDIV   = 5         // (20 MHz crystal on PICDEM FS USB board)
        #pragma config CPUDIV   = OSC1_PLL2                                                                        MAIN.C
        #pragma config USBDIV   = 2         // Clock source from 96MHz PLL/2
        #pragma config FOSC     = HSPLL_HS

son iguales a cuando no se usa Bootloader?,  en los ejemplos dados en el     

         #pragma config PLLDIV   = 5         // (20 MHz crystal on PICDEM FS USB board)     
         #pragma config CPUDIV   = OSC1_PLL2                                                                  TUTORIAL
                #pragma config FOSC     = XT-XT
QUE DEBERIA COLOCAR EN MI CODIGO??

Título: Re: MPLAB C18 V3.40 Error [1027] unable to locate '18F2550.h'
Publicado por: Suky en 20 de Octubre de 2011, 16:55:44
ok  Suky,  ya corregi el error que presentaba por tener codigo equibocado,  solo tengo ahora codigo en  c18, el codigo que estoy compilando es el que Ud. coloca en el foro  con el bootloader para el 18f4550,  osea el main.c,  lo  grabo en el pic  pero no parece pasar nada, pero si sale el mensdaje de que fue grabado.

 :oops:

Adjunta el proyecto para revisarlo  ;-)


Saludos!
Título: Re: MPLAB C18 V3.40 Error [1027] unable to locate '18F2550.h'
Publicado por: sayamvo en 22 de Octubre de 2011, 14:33:21
ok  Suky,  ya corregi el error que presentaba por tener codigo equibocado,  solo tengo ahora codigo en  c18, el codigo que estoy compilando es el que Ud. coloca en el foro  con el bootloader para el 18f4550,  osea el main.c,  lo  grabo en el pic  pero no parece pasar nada, pero si sale el mensdaje de que fue grabado.

 :oops:

cuando uso el bootloader  las lineas
         #pragma config PLLDIV   = 5         // (20 MHz crystal on PICDEM FS USB board)
        #pragma config CPUDIV   = OSC1_PLL2                                                                        MAIN.C
        #pragma config USBDIV   = 2         // Clock source from 96MHz PLL/2
        #pragma config FOSC     = HSPLL_HS

son iguales a cuando no se usa Bootloader?,  en los ejemplos dados en el    

         #pragma config PLLDIV   = 5         // (20 MHz crystal on PICDEM FS USB board)      
         #pragma config CPUDIV   = OSC1_PLL2                                                                  TUTORIAL
                #pragma config FOSC     = XT-XT
QUE DEBERIA COLOCAR EN MI CODIGO??


***** pruebo el codigo  sin el bootloader grabando el archivo . hex en el pic,  el programa se ejecuta normalmente de acurdo a lo programado.

RESUMIENDO:    Usando windows 7 64 bit,  compilador: Mlab C18, PIC18f2550,  programador  pickit2

sin usar bootloader:  se graba con el pickit2 el programa main.h,  al resetear el pic, este efectua lo gragramado  enciende led..

con Bootloader: se graba el bootloader para pic18f2550, usando el pickit,  al oprimir el switch, los led parpadean ok.  al activar el HIDboot, el dispositivo UBS es reconocido,  se puede  im´portar un archivo .hex, se pued grabar el archivo, ( modificado para proteger la memoria del pic), al dar reset al pic, este no parece hacer nada, he leido  en el foro sobre este problema pero no pude determinar si el problema fue resuelto para windows 7 64 bit,

les agradezco su atencion y comentarios,  cordial saludo.


Título: Re: MPLAB C18 V3.40 Error [1027] unable to locate '18F2550.h'
Publicado por: sayamvo en 03 de Noviembre de 2011, 08:56:31
Hola  a todos buen dia,  solucionados algunas dudas y errores que tenia  me surgen otras mas:

estoy usando windows 7 64 bit, compilador mplab  C18, pic18f2550, HIDLoader, pickit2;  linker modificado para pic18f2550,

Sin el Bootloader grabo un archivo en el pic y este ejecuta lo programado;   grabo el bootloader y compilo em programa  usando la proteccion de memoria del bootloader, con el HIDloader grabo el pic, pero al dar reset, el pic parece no hacer nada; si doy reset  manteniendo activado el switch del boot, los led RC0 y RC1 comienzan a parpadear y el HIDloader reconoce el pic, debo tener algun error en la programacion. adjunto el  codigo del ejemplo usado.  es un ejemplo simple, pero  sulucionar este inconveniente me permite avanzar en nuevos retos.   

#ifndef MAIN_C
#define MAIN_C

#include <p18F2550.h>
#include <delays.h>


        #pragma config PLLDIV   = 5         // (20 MHz crystal on PICDEM FS USB board)
        #pragma config CPUDIV   = OSC1_PLL2  
        #pragma config USBDIV   = 2         // Clock source from 96MHz PLL/2
        #pragma config FOSC     = HSPLL_HS
        #pragma config FCMEN    = OFF
        #pragma config IESO     = OFF
        #pragma config PWRT     = OFF
        #pragma config BOR      = ON
        #pragma config BORV     = 3
        #pragma config VREGEN   = ON      //USB Voltage Regulator
        #pragma config WDT      = OFF
        #pragma config WDTPS    = 32768
        #pragma config MCLRE    = ON
        #pragma config LPT1OSC  = OFF
        #pragma config PBADEN   = OFF
        #pragma config STVREN   = ON
        #pragma config LVP      = OFF
        #pragma config XINST    = OFF      
        #pragma config CP0      = OFF
        #pragma config CP1      = OFF
        #pragma config CPB      = OFF
        #pragma config WRT0     = OFF
        #pragma config WRT1     = OFF
       #pragma config WRTB     = ON      
        #pragma config WRTC     = OFF
//.......................................................        
      #pragma config EBTR0    = OFF
        #pragma config EBTR1    = OFF
        #pragma config EBTRB    = ON


#define REMAPPED_RESET_VECTOR_ADDRESS         0x1000
#define REMAPPED_HIGH_INTERRUPT_VECTOR_ADDRESS   0x1008
#define REMAPPED_LOW_INTERRUPT_VECTOR_ADDRESS   0x1018

void YourHighPriorityISRCode();
void YourLowPriorityISRCode();
   
extern void _startup (void);        // See c018i.c in your C18 compiler dir
#pragma code REMAPPED_RESET_VECTOR = REMAPPED_RESET_VECTOR_ADDRESS
void _reset (void){
    _asm goto _startup _endasm
}
#pragma code REMAPPED_HIGH_INTERRUPT_VECTOR = REMAPPED_HIGH_INTERRUPT_VECTOR_ADDRESS
void Remapped_High_ISR (void)   {
     _asm goto YourHighPriorityISRCode _endasm
}
#pragma code REMAPPED_LOW_INTERRUPT_VECTOR = REMAPPED_LOW_INTERRUPT_VECTOR_ADDRESS
void Remapped_Low_ISR (void){
     _asm goto YourLowPriorityISRCode _endasm
}
   
#pragma code HIGH_INTERRUPT_VECTOR = 0x08
void High_ISR (void)   {
     _asm goto REMAPPED_HIGH_INTERRUPT_VECTOR_ADDRESS _endasm
}
#pragma code LOW_INTERRUPT_VECTOR = 0x18
void Low_ISR (void){
     _asm goto REMAPPED_LOW_INTERRUPT_VECTOR_ADDRESS _endasm
}
#pragma code
   
#pragma interrupt YourHighPriorityISRCode
void YourHighPriorityISRCode()   {
}   //This return will be a "retfie fast", since this is in a #pragma interrupt section

#pragma interruptlow YourLowPriorityISRCode
void YourLowPriorityISRCode()   {

}   //This return will be a "retfie", since this is in a #pragma interruptlow section

/** DECLARATIONS ***************************************************/
#pragma code
   
unsigned char K;

void main(void){

   TRISA=0xF0;
   LATA=0;
   TRISB=0xF0;
   LATB=0;
   TRISC=0xF0;
   LATC=0;

   while(1){

      LATCbits.LATC0=~PORTCbits.RC0;         
      for(K=1; K<10;K++){         
         Delay10KTCYx(250);      
         LATAbits.LATA5=~PORTAbits.RA5;   
         LATBbits.LATB3=~PORTBbits.RB3;
         LATCbits.LATC1=~PORTCbits.RC1;
   
      }
   }
}