Autor Tema: Error al Compilar  (Leído 2892 veces)

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

Desconectado daniloarg007

  • PIC10
  • *
  • Mensajes: 11
Error al Compilar
« en: 30 de Abril de 2014, 16:47:41 »
Hola amigos. Estoy comenzando a trabajar con el 18F4520. Tengo un programa que me dieron en clase, es una comunicacion por el puerto serie. La verdad estoy recien comenzando con este PIC. Antes he hecho algo pero hace un par de años. Estoy trabajando con el MPLAB v8.90 y el c18 que me paso el profesor y que usamos en la clase, es un paquete que instalo primero el MPLAB C18 Compiler 1.0 y luego la actualizacion C18 C3.16.
Tengo el proyecto que usamos en clase y compilo bien. Lo quiero hacer compilar aca y no me deja, me da error. Lo copio a continuacion.



----------------------------------------------------------------------
Release build of project `C:\Ejemplos C18\08_Protocolo\usart.mcp' started.
Language tool versions: mpasmwin.exe v5.37, mplink.exe v4.37, mcc18.exe v3.36, mplib.exe v4.37
Wed Apr 30 14:25:10 2014
----------------------------------------------------------------------
Make: The target "C:\Ejemplos C18\08_Protocolo\main.o" is up to date.
Make: The target "C:\Ejemplos C18\08_Protocolo\usart.cof" is out of date.
Executing: "C:\MCC18\bin\mplink.exe" /l"C:\mcc18\lib" "..\..\mcc18\lkr\18f4520.lkr" "main.o" /u_CRUNTIME /z__MPLAB_BUILD=1 /o"usart.cof" /M"usart.map" /W
MPLINK 4.16, Linker
Copyright (c) 2008 Microchip Technology Inc.
Error - unknown switch: /u_CRUNTIME
Errors    : 1

Link step failed.
----------------------------------------------------------------------
Release build of project `C:\Ejemplos C18\08_Protocolo\usart.mcp' failed.
Language tool versions: mpasmwin.exe v5.37, mplink.exe v4.37, mcc18.exe v3.36, mplib.exe v4.37
Wed Apr 30 14:25:10 2014
----------------------------------------------------------------------
BUILD FAILED


Intente con un proyecto sencillo que encendia unos leds que saque de un tutorial y tambien me daba error al compilar.

Hice todos los pasos de configuracion que indican en un tutorial del c18 que encontre aqui en otro post.

Me llamo la atencion que en la pagina de microchip encontre esto que le respondian a una persona que le pasaba lo mismo:   



*******************************************************************************************************
/ U_CRUNTIME es un argumento de línea de comandos válidos del C18 v3.20 en adelante.
Esta voluntad se agrega al argumento de línea de comandos por MPLAB IDE, si hay guión enlazador se ha especificado en el espacio de trabajo y usted está utilizando v3.20 C18 en adelante. ¿Puedes por favor proporcione la versión C18 y números de versión MPLAB IDE?
*******************************************************************************************************


Que creen que me pueda estar pasando? No se que revisar de la configuracion. No entiendo por donde puede venir el error.
Trate de poner la libreria p18f4520 en el miso proyecto, probe poner  el 18f4520.lkr en linker script en el proyecto.

Si alguien me puede orientar se lo agradecere.

A continuacion pongo el codigo, como les decia es un codigo que se ido haciendo en clase. No tiene error ya que en clase compilo, la version de MPLAB y C18 deberian ser las mismas porque me las paso el profesor en un pendrive. No me animoa a ctualizar ni nada ya que estan full, y tengo miedo que si hago algo de eso dejen de ser full.
El problema es que de este modo no puedo avanzar. Quiero armar un programita bien sencillo para encender un led de modo de ir asimilando la programacion pero no puedo compilar.


--------------------------------------------------------------------------------------------------------------------

#include <p18f4520.h>
#include <stdio.h>
#include <stdlib.h>
#include <timers.h>
#include <usart.h>
#include <adc.h>

#define OSC_MS 500
#define BUFFER_RECEPCION 20

char buffer_recep[BUFFER_RECEPCION];
char dato_nuevo=0;
char oscilador=0;
int contms=0;
char indice_caracter;

   
#include "\includes\system.c"

void main (void)
{
   initports();
   initinterrupt();
   inittimer2();
   initusart();
   
   printf ((const far rom char *)"\n\rHOLA MUNDO\n\r");
   while(1)
   {
      RGB_BLUE=1;
   
      //Ejecuta tarea del oscilador
      if(oscilador)
      {
         OP00= !OP00;
         oscilador=0;
      }
      if(dato_nuevo==1)
      {
         dato_nuevo=0;
         printf("\r%s", buffer_recep);
      }

   }
}


//Vector bajo de interrupcion

void low_isr(void);

#pragma code low_vector = 0x18
void interrupt_at_low_vector (void)
{
   _asm goto low_isr _endasm
}

#pragma code
#pragma interruptlow low_isr
// Rutina Interrupcion
void low_isr(void)
{      
   // Interrumpio RX Usart ?
   if (PIR1bits.RCIF)         
   {
      PIE1bits.RCIE = 0;         // Deshabilita interrupcion RX Usart
      if (RCSTAbits.OERR)   
      {               
         RCSTAbits.CREN = 0;
         RCSTAbits.CREN = 1;
      }   
      GetUsart();            
      PIE1bits.RCIE = 1;         // Habilita interrupcion RX Usart
   }
}

void high_isr(void);

#pragma code high_vector = 0x08
void interrupt_at_high_vector (void)
{
   _asm GOTO high_isr _endasm
}

#pragma code
#pragma interrupt high_isr

// Rutina Interrupcion
void high_isr(void)
{
   // Interrumpio Timer2 ?
   if (PIR1bits.TMR2IF)
   {
      PIR1bits.TMR2IF = 0;         // Limpia el flag de interrupcion   
      
      // Contador 01 - BARRIDO CADA 10mS
      if (contms < OSC_MS)         // Cuenta hasta 10mS
         contms++;
      else
      {
         contms = 0;               // reinicia el contador
         oscilador=1;         
      }
   }            
}
---------------------------------------------------------------------------------------------------------------






Desconectado jukinch

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 608
Re: Error al Compilar
« Respuesta #1 en: 30 de Abril de 2014, 19:03:30 »
Probá renombrar la carpeta C:\Ejemplos C18\08_Protocolo\
a C:\Ejemplos C18\08Protocolo\
"Divide las dificultades que examinas en tantas partes como sea posible para su mejor solución." -René Descartes

Desconectado daniloarg007

  • PIC10
  • *
  • Mensajes: 11
Re: Error al Compilar
« Respuesta #2 en: 05 de Mayo de 2014, 10:18:35 »
Gracias jukinch por tu respuesta.
He probado pero no funciono, sigue el mismo error.
Sigo sin poder hacer que funcione!

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Error al Compilar
« Respuesta #3 en: 05 de Mayo de 2014, 11:18:08 »
Si se puede yo intentaría tener acceso al makefile y borraría el pasaje del parámetro que no reconoce el linker.

Saludos !

Desconectado daniloarg007

  • PIC10
  • *
  • Mensajes: 11
Re: Error al Compilar
« Respuesta #4 en: 05 de Mayo de 2014, 12:13:39 »
Perdon mi ignorancia, estoy dando los primeros pasos con esto, he hecho algo de esto pero hace varios años atras y realmente lo he olvidado, pero siempre con asembler. Ahora estoy volviendo al tema pero con C18. Me podrias indicar bien que debo hacer? Donde encuentro el makefile, donde se guarda? Gracias

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Error al Compilar
« Respuesta #5 en: 05 de Mayo de 2014, 12:18:42 »
Solo tire una idea, lamentablemente no uso la familia microchip, pero seguramente hay gente en el foro que te podrá ayudar.

Saludos !