Error al ejecutar el enlazador estoy usando TIVA C TM4C123G e IAR

0

Estoy intentando cambiar y leer la frecuencia del reloj de mi plataforma de lanzamiento TM4C123G a 80 MHZ usando las bibliotecas TIVAWARE, así que aquí está mi código:

#include <lm4f120h5qr.h>
#include <stdbool.h>
#include <stdint.h>
#include "driverlib/sysctl.c"
#include "driverlib/pin_map.h"

void main()
{
SysCtlClockSet(SYSCTL_SYSDIV_2_5|SYSCTL_USE_PLL|SYSCTL_OSC_MAIN|SYSCTL_XTAL_16MHZ);
int x= SysCtlClockGet();
while(1){  }
}

Estoy enfrentando dos problemas: el primer problema es un error al compilar este código, el error es:

  

Error [Li005]: no hay definición para "SysCtlDelay" [referenciado en C: \ Users \ ZMK \ Documents \ TIVA C \ IAR \ TM4C FREQUENCY \ Debug \ Obj \ main.o]

donde SysCtlDelay () es una función y su definición está en el driverlib / sysctl.c incluido en la parte superior. ¡Así que no sé por qué sucede esto!

el segundo problema es que al depurar el código, la variable local X no muestra un valor, solo muestra un valor desconocido, ¡traté de hacerlo volátil pero nada cambió también!

gracias de antemano.

    

1 respuesta

2

para resolver el primer problema, debes:
1. añada archivos de biblioteca (library.a para IAR) a su proyecto. En la ventana del proyecto - > agregar grupo (o archivos) - > driverlib.a en la carpeta Driverlib / ewarm. (Lo siento, estoy usando Keil o Eclipse pero estoy seguro de que estos actos se ven igual en diferentes IDE)
2. en main.c incluye driverlib / sysctl.h en lugar de sysctl.c
No entiendo el segundo problema, ¿puedes agregar tu código?

    
respondido por el BorisNepokrytyi

Lea otras preguntas en las etiquetas