Click here to load reader

Compiladores de CCS

  • View
    140

  • Download
    4

Embed Size (px)

Text of Compiladores de CCS

Lenguaje C para microcontroladores PIC

Compiladores de C de CCS

ATE-Universidad de Oviedo

1

Lenguaje C para microcontroladores PIC

Compiladores de C: Ficheros de Cdigo Fuente Ficheros de Directivas y Encabezamiento

.C

Escritos para Lenguaje C

.H

COMPILADOR de C (PCB PCM PCH)

Fichero para depuracin del Programa .COD y .COF

Fichero con Errores de Compilacin .ERR

Fichero de Cdigo Mquina para Grabacin .HEX

Fichero de funciones y llamadas (rbol) .TRE

Fichero de Listado en Ensamblador .LST2

Compiladores de C de CCS

ATE-Universidad de Oviedo

Lenguaje C para microcontroladores PIC

Ficheros de Directivas y Encabezamiento (.h) Estos ficheros contienen directivas, que son instrucciones al compilador pero normalmente no incluyen sentencias de un programa Los ficheros de Encabezamiento (de extensin .h) contienen informacin sobre los registros existentes para un determinado micro, tambin definen el tratamiento a dar a las funciones integradas en librera por el compilador en cuanto a argumentos que aceptar y los que devolver cada funcin. Estos ficheros estn pensados para ser incluidos en el cdigo fuente mediante una directiva del tipo: #include que buscara el fichero 16f877.h en un directorio distinto al del cdigo fuente, mientras que con comillas ( ) #include 16f877.h hara que la bsqueda tuviera lugar en el directorio actual donde est el fuenteCompiladores de C de CCSATE-Universidad de Oviedo

3

Lenguaje C para microcontroladores PIC

Los Compiladores de CCS

(Custom Computer Services Inc.) http://www.ccsinfo.com/

PCBGenera cdigo para microcontroladores con 12 bits en memoria de programa

PCM

PIC16C/FXXX

Genera cdigo para microcontroladores con 14 bits en memoria de programa

PCHGenera cdigo para microcontroladores con 16 bits en memoria de programa

PCW: Entorno de trabajo integrado que incluye los compiladores PCB y PCMpor defecto y el compilador PCH de manera opcionalATE-Universidad de Oviedo

Compiladores de C de CCS

4

Lenguaje C para microcontroladores PIC

Compilacin desde lnea de comandos CCSC opciones nombre_fichero.c

siendo opciones vlidas:

en las siguientes opciones xxx es optativo, pero si se incluye es la extensin del fichero generado

Compiladores de C de CCS

ATE-Universidad de Oviedo

5

Lenguaje C para microcontroladores PIC

Herramientas Compilacin Editor de dispositivos Desensamblador Conversor numrico de datos

Definicin y gestin de Proyectos (.pjt) Definicin manual del proyecto Asistente para generacin de proyectos (PIC Wizard)

El entorno integrado PCW versin 3.xxx mens y barras

Compiladores de C de CCS

ATE-Universidad de Oviedo

6

Lenguaje C para microcontroladores PIC

Project WizardAsistente muy til que permite definir un nuevo proyecto de manera fcil. Nos pregunta por el nombre de un fichero de cdigo fuente principal (.c), lo crea junto con el correspondiente fichero de cabecera (.h) y el fichero de definiciones del microcontrolador que hayamos seleccionado. Con el asistente se pueden seleccionar ciertas opciones y configurar: Bits de la palabra de configuracin y definicin de la frecuencia del oscilador Los modos de trabajo de los diferentes mdulos de comunicacin Los temporizadores y sus modos de trabajo Los mdulos CCP El mdulo de conversin A/D Las interrupciones que se piensan habilitar Los pines de entrada/salida y asignarles nombres alternativos Inclusin de funciones no compiladas para manejo de dispositivos de entrada/salida: RTC, teclados, LCD de caracteres, EEPROM serie, etcCompiladores de C de CCSATE-Universidad de Oviedo

7

Lenguaje C para microcontroladores PIC

Project Wizard: Bits de Configuracin version 3.xxx

Compiladores de C de CCS

ATE-Universidad de Oviedo

8

Lenguaje C para microcontroladores PIC

Project Wizard: Configuracin de Comunicaciones

Compiladores de C de CCS

ATE-Universidad de Oviedo

9

Lenguaje C para microcontroladores PIC

Project Wizard: Configuracin Temporizadores

Compiladores de C de CCS

ATE-Universidad de Oviedo

10

Lenguaje C para microcontroladores PIC

Project Wizard: Configuracin Conversin A/D

Compiladores de C de CCS

ATE-Universidad de Oviedo

11

Lenguaje C para microcontroladores PIC

Project Wizard: Configuracin mdulos CCP

Compiladores de C de CCS

ATE-Universidad de Oviedo

12

Lenguaje C para microcontroladores PIC

Project Wizard: Configuracin fuentes posibles de interrupcin

Compiladores de C de CCS

ATE-Universidad de Oviedo

13

Lenguaje C para microcontroladores PIC

Project Wizard: Configuracin puertos E/S y nombres alternativos

Compiladores de C de CCS

ATE-Universidad de Oviedo

14

Lenguaje C para microcontroladores PIC

Project Wizard: Inclusin de ficheros de funciones para manejo de dispositivos E/S

Compiladores de C de CCS

ATE-Universidad de Oviedo

15

Lenguaje C para microcontroladores PIC

Asistente para generacin de proyectos (PIC Wizard)Definicin y gestin de Proyectos (.pjt)

Para la versin 4 del entorno integrado PCW cambia el aspecto del entorno, los mens, las opciones, etc.

Compiladores de C de CCS

ATE-Universidad de Oviedo

16

Lenguaje C para microcontroladores PIC

el Project Wizard

Tambin cambia

Project Wizard: Bits de Configuracin versin 4.xxx17

Compiladores de C de CCS

ATE-Universidad de Oviedo

Lenguaje C para microcontroladores PIC

Project Wizard: Configuracin Comunicaciones versin 4.xxxCompiladores de C de CCSATE-Universidad de Oviedo

18

Lenguaje C para microcontroladores PIC

Project Wizard: Configuracin Temporizadores versin 4.xxx

Compiladores de C de CCS

ATE-Universidad de Oviedo

19

Lenguaje C para microcontroladores PIC

Resultado del Asistente (Project Wizard) Como resultado del empleo del Project Wizard, se generan dos ficheros uno con el nombre del proyecto y extensin .c y otro con el mismo nombre y extensin .h. ste incluye a su vez a otro fichero con el nombre del micro que se haya seleccionado y que incorpora las principales directivas de definicin asociadas al micro. El fichero nombre_proyecto.h incluye directivas de preprocesado definidas a partir de la seleccin realizada con el asistente mientras que el fichero nombre_proyecto.c contiene las funciones integradas del compilador y directivas a que da lugar la utilizacin del Project Wizard#include #device ICD=TRUE #use delay(clock=4000000) #fuses XT,NOWDT,PUT,BROWNOUT #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7) #use i2c(master,sda=PIN_D0,scl=PIN_D1)

Ejemplo de fichero (prueba.h) generado por Project Wizard20

Compiladores de C de CCS

ATE-Universidad de Oviedo

Lenguaje C para microcontroladores PIC #include "C:\Documents and Settings\fernando\Mis documentos\Picc\prueba.h" #include #int_RTCC RTCC_isr() { } #int_TIMER1 TIMER1_isr() { }

Ejemplo de fichero (prueba.c) generado por Project Wizard

void main() { port_b_pullups(TRUE); setup_adc_ports(RA0_RA1_ANALOG_RA3_REF); setup_adc(ADC_CLOCK_DIV_2); setup_counters(RTCC_INTERNAL,RTCC_DIV_128); setup_timer_1(T1_INTERNAL|T1_DIV_BY_1); setup_timer_2(T2_DIV_BY_1,0,1); setup_ccp1(CCP_COMPARE_CLR_ON_MATCH); lcd_init(); enable_interrupts(INT_RTCC); enable_interrupts(INT_TIMER1); enable_interrupts(global); }

Compiladores de C de CCS

ATE-Universidad de Oviedo

21

Lenguaje C para microcontroladores PIC

Integracin del Compilador PCM en MPLAB IDE Desde el entorno MPLAB IDE v7.xx de Microchip resulta posible definir un proyecto que utilice como herramienta de generacin de cdigo mquina los compiladores de CCS, as como la carga de los ficheros de smbolos y de depuracin. Para ejecutar desde MPLAB-IDE los programas compilados con CCSC, se deberan importar los ficheros .COF y .HEX, pero otra posibilidad sera llamar al compilador desde el propio entorno MPLAB. Pero para ello IMPORTANTE: para poder usar el compilador CCS C dentro del MPLAB-IDE, se necesita ejecutar previamente el MPLAB plug-in La llamada desde MPLAB se realizar mediante una lnea de comandos que presentar una serie de opciones dependientes de las opciones configuradas desde Project > Build OptionsProject

Compiladores de C de CCS

ATE-Universidad de Oviedo

22

Lenguaje C para microcontroladores PIC

El asistente del compilador de CCS (Project Wizard de PCW) no puede ser llamado desde MPLAB ya que no hay un enlace con el entorno PCW. Adems el formato de los proyectos generados desde PCW no es el mismo que el que maneja MPLAB IDE. El asistente Project Wizard de PCW no tiene nada que ver con el asistente

Project Wizard de MPLAB IDE, pero podemos y debemos sacar el mayorpartido posible de ambos asistentes: Uno para generar el cdigo inicial en C y el otro para realizar la depuracin sobre el resto de herramientas: MPSIM, ICD2, MPLAB-ICE

Compiladores de C de CCS

ATE-Universidad de Oviedo

23

Lenguaje C para microcontroladores PIC

Como mtodo de trabajo general se recomienda el siguiente: 1.- Utilizaremos el asistente de PCW (Project Wizard de PCW) para generar los ficheros .c y .h 2.- Entraremos en el entorno MPLAB IDE v7.xx y definiremos un nuevo proyecto para MPLAB IDE con el asistente (Project Wizard de MPLAB) que tenga como herramienta el compilador PCM (enlazar con la lnea de com

Search related