Construyendo Bibliotecas XC8

Las versiones recientes de MPLAB® X IDE ahora le permiten crear proyectos de librería para el compilador MPLAB XC8. El proceso de creación y construcción de un proyecto de librería para este compilador es el mismo que el de los otros compiladores MPLAB XC, y ese proceso se analiza en el artículo aquí. Sin embargo, existen algunas diferencias sutiles entre las librerías producidas por MPLAB XC8 y las de los otros compiladores de Microchip. Estas diferencias se discuten en este artículo.

Los archivos de librería MPLAB XC8 usan su propio formato, que es diferente al producido por los otros compiladores MPLAB XC y que también es diferente al utilizado por el compilador MPLAB C18 heredado. Las librerías MPLAB XC8 usan la extensión .lpp. No cambie el nombre ni especifique estos archivos para usar cualquier otra extensión, como .lib. El IDE producirá una librería con la extensión correcta cuando construya un proyecto de librería. Si su proyecto se llama MyLib, el archivo de la librería de salida se llamará MyLib.X.lpp.

Las librerias LPP creadas por MPLAB XC8 deben compilarse solo con archivos fuente C. Las bibliotecas creadas a partir del código de ensamblado deben estar codificadas en un formato diferente, deben usar la extensión .lib tradicional y deben ser compiladas por el compilador en la línea de comando. No puede construir ninguna biblioteca a partir de una combinación de C y fuente de ensamblaje.

Cuando utiliza una librería creada con MPLAB XC8, puede realizar depuración de nivel C (por ejemplo, paso de línea C, observar variables, etc.) en las rutinas y variables definidas en las rutinas de la librería, siempre que el código fuente original para la librería está disponible y en la ubicación correcta. Tendrá que colocar los archivos fuente de la librería para que la ruta relativa entre su ubicación y el proyecto que los utiliza sea la misma que la ruta relativa entre donde se ejecutó el comando de compilación de la librería y dónde se ubicaron los archivos fuente cuando se construyeron . Suponiendo que creó la librería a partir de archivos fuente que se colocaron en el directorio de proyectos .X de la librería, simplemente necesita copiar los archivos de origen en el directorio .X del proyecto que está utilizando la librería para que la depuración funcione correctamente. Si los archivos de origen no están disponibles, el código de la librería seguirá funcionando como se esperaba, pero perderá la capacidad de depurar las rutinas de la librería.

Aunque ahora puede crear fácilmente librerías desde MPLAB X IDE, puede continuar compilando librerías en la línea de comandos utilizando el compilador XC8 si lo prefiere. Esto se puede realizar en solo un paso. Por ejemplo, para construir el código fuente contenido en adc.c, lcd.c e init.c en una librería, la siguiente línea de comando realizará esta tarea.

xc8 --chip = 18f4520 --output = lpp init.c adc.c lcd.

Esto creará una salida llamada init.lpp, que puede cambiar de nombre, si es necesario. Alternativamente, puede especificar un nombre de archivo de salida usando la opción -O del compilador, por ejemplo, -OMyLib.lpp.


Fuente: Building XC8 Libraries

Comentarios

Entradas más populares de este blog

Resistencias

Guía de introducción de XC8