You are on page 1of 34

DEPARTAMENTO ELECTRNICA

PIC - TEMA 3A

ENTORNO DE TRABAJO MPLAB-IDE

ENTORNO DE TRABAJO MPLAB-IDE


ENTORNO DE TRABAJO MPLAB-IDE (Integrated Development Environment) MPLAB-IDE es un programa software que se ejecuta sobre un PC para desarrollar aplicaciones para microcontroladores de MICROCHIP El MPLAB IDE constituye un entorno de desarrollo integrado distribuido gratuitamente por Microchip desde su pgina web.
Analizar resultados Modificar cdigo Definicin Del Proyecto

Edicin Cdigo fuente

Simulacin Sotware-Hardware Emulador o Depurador de circuito (ICD)

Ensamblado o compilado generando cdigo mquina

Simulacin Sotware

ENTORNO DE TRABAJO MPLAB-IDE


ENTORNO DE TRABAJO MPLAB-IDE

ENTORNO DE TRABAJO MPLAB-IDE


MPASM puede ser utilizado de dos maneras: Generando un cdigo absoluto que puede ser ejecutado directamente por el microcontrolador. Generando cdigo objeto que puede ser linkado junto con otro programa ensamblador o mdulos compilados. La opcin ms comn del uso de MPASM es la generacin de cdigo absoluto. Cuando un archivo fuente es ensamblado de esta manera, todos los valores usados en este deben estar definidos dentro del mismo archivo fuente, o en los archivos que son implcitamente incluidos. Si el proceso de ensamblado se produce sin errores, se generar un archivo .HEX, que contiene el cdigo mquina ejecutable. Este archivo puede ser, entonces, usado junto con un programador para programar el microcontrolador.
Cdigo Cdigo .asm .asm
Genera

C.P.U. Programador

MPASM

.hex

ENTORNO DE TRABAJO MPLAB-IDE


MPASM tambin tiene la habilidad de generar mdulos objeto que pueden ser linkados junto con otros mdulos para generar el cdigo ejecutable, usando el linkador MPLINK. Tambin pueden agruparse los mdulos relacionados y guardarse juntos en una biblioteca utilizando MPLIB. Las bibliotecas requeridas pueden especificarse en el momento del linkado, y slo se incluirn las rutinas necesarias en el archivo ejecutable final.

Generacin de cdigo ejecutable a partir de mdulos objeto.

Creacin de libreras de cdigo reusable.

ENTORNO DE TRABAJO MPLAB-IDE


Varios cdigos fuente (linkador: MPLINK) Existe la posibilidad de desarrollar programas voluminosos en varios mdulos de tamao razonable. Por otro lado, se permite la inclusin de mdulos, desarrollados para otras aplicaciones y ya depurados, en nuevos programas, sin necesidad de incluirlos en los fuentes y volver a ensamblarlos. Los mdulos objeto pueden proceder de programas fuentes escritos en distintos lenguajes, lo que permite escribir la mayor parte de un programa en lenguaje de alto nivel, y las rutinas ms conflictivas en lenguaje ensamblador. Esto es una solucin muy interesante para simplificar el desarrollo de programas. Utilizacin de Libreras MPLIB son libreras en cdigo precompilado para usar con MPLINK. Cuando una rutina de una librera es llamada por otra fuente, slo los mdulos que contienen a la rutina sern linkados con la aplicacin. Esto permite grandes libreras usadas eficazmente en muchas aplicaciones.

ENTORNO DE TRABAJO MPLAB-IDE

ENTORNO DE TRABAJO MPLAB-IDE


Primeros Pasos Se puede crear un Proyecto o simplemente un fichero ASM. 1. Para crear un fichero ASM se arranca el programa MPLAB IDE y cuando se inicializa se ejecuta FILE-NEW

ENTORNO DE TRABAJO MPLAB-IDE


Primeros Pasos 2. Elegir el tipo de micro mediante el men CONFIGURE SELECT DEVICE 3. Modificar parmetros de escritura como nmero de lneas, texto, tabuladores, etc., mediante EDIT-PROPERTIES

ENTORNO DE TRABAJO MPLAB-IDE


Primeros Pasos 4. Mediante CONFIGURE-SETTINGS se pueden modificar parmetros generales como habilitar la posibilidad de abrir MPLAB con el ltimo fichero, etc. 5. A partir de aqu se puede escribir el programa y para guardarlo se ejecuta FILE-SAVE AS (guardar como ASSEMBLY SOURCE FILES). Es interesante guardalo inmediatamente para aprovechar la escritura interactiva!

10

ENTORNO DE TRABAJO MPLAB-IDE


Primeros Pasos 6. Para iniciar un proyecto se ejecuta PROJECT-PROJECT WIZARD. Tras el mensaje inicial se pulsa SIGUIENTE y se puede elegir el micro. 7. La siguiente ventana pregunta por la herramienta de lenguaje que se va a usar. Seleccionaremos Microchip MPASM Toolsuite (es la opcin que sale por defecto) asegurndonos de que el entorno MPLAB conoce la ubicacin de los tres ejecutables que necesita: mpasmwin, mplink y mplib.

11

ENTORNO DE TRABAJO MPLAB-IDE


Primeros Pasos 8. A continuacin se le asignar un nombre de proyecto (por ejemplo cuenta, sin extensin) y se indicar en qu directorio se va a ubicar. Se recomienda que proyecto y fichero ensamblador se encuentren en el mismo directorio. 9. En un nuevo paso, se nos pide indicar los ficheros que se van a incluir en el proyecto que estamos creando. Deberemos buscar el fichero ASM, seleccionarlo y hacer click sobre el botn ADD>>. Si no se hubiera creado an el fichero ASM con el editor, simplemente haremos click sobre SIGUIENTE> ya que se pueden aadir posteriormente

12

ENTORNO DE TRABAJO MPLAB-IDE


Primeros Pasos 10. Con esto ya queda creado el proyecto, y en el entorno MPLAB aparece una ventana (*.mcw) en la que se muestra la informacin del proyecto que se acaba de definir. 11. Se pueden incluir ficheros en el proyecto haciendo click con el botn derecho sobre SOURCE FILES en la ventana *.mcw y seleccionar la opcin ADD FILES... o bien eliminarlos con REMOVE.

13

ENTORNO DE TRABAJO MPLAB-IDE

14

ENTORNO DE TRABAJO MPLAB-IDE


Ensamblado del programa
En esta etapa se realiza el ensamblado del fichero del cdigo fuente y el traspaso de ste a la memoria interna de simulacin. Para ensamblar el programa seleccionar PROJECT-QUICKBUILD en el caso de un fichero nico o PROJECT-BUILD ALL en el caso de proyectos [tambin se puede ensamblar con PROJECT-MAKE -reensambla slo aquellos ficheros que hayan cambiado desde la ltima vez-]

15

ENTORNO DE TRABAJO MPLAB-IDE


Ensamblado del programa (cont.)
Aparecer momentneamente una ventana indicando que se est desarrollando el proceso de ensamblado. Al final aparece la pantalla OUTPUT en la que se indica si el ensamblado se ha llevado a cabo con xito (BUILD SUCCEEDED) o si, por el contrario, se han localizado fallos ( BUILD FAILED). En caso de existir fallos, se indica de qu tipo son y en qu lnea estn. Haciendo doble click sobre la lnea en la que se muestra esta informacin, se accede a la posicin donde se ha detectado el fallo en el fichero fuente para proceder a la correccin. Hasta que no desaparezcan todos los errores, no se podr generar el cdigo mquina en un formato compatible con el resto de herramientas (EXTENSIN .HEX)

16

ENTORNO DE TRABAJO MPLAB-IDE


Ficheros

17

ENTORNO DE TRABAJO MPLAB-IDE


Ventanas de visualizacin Antes de empezar la simulacin es conveniente abrir ventanas de visualizacin:
Disassembly Listing: Cdigo mquina y archivo fuente. Hardware stack: pila Program Memory: Memoria de programa. File Registers: Memoria RAM de datos. EEPROM: memoria de datos eeprom. Memory Usage Gauge: Porcentaje de memoria utilizada. Locals: variables locales. Watch: Ventana personalizada. Special Function Registers: Registros del SFR.

18

ENTORNO DE TRABAJO MPLAB-IDE


Ventanas de visualizacin (cont.)

19

ENTORNO DE TRABAJO MPLAB-IDE


Ventanas de visualizacin (cont.)

WATCH : Los registros se aaden haciendo click en el botn ADD SFR bien ADD SYMBOL.

20

ENTORNO DE TRABAJO MPLAB-IDE


Ventanas de visualizacin (cont.) Permite visualizar o modificar los registros SFR del micro (menos en los puertos de entrada). Cada registro se modifica con un doble clic. Con el botn derecho se accede a la configuracin.

21

ENTORNO DE TRABAJO MPLAB-IDE


Simulacin Seleccionar el simulador mediante DEBUGGER-SELEC TOOL-MPLAB SIM

En la barra de estado tambin se muestra informacin sobre el contenido del registro W, el valor de los flags de STATUS, el PC y banco de memoria. Los flags en minscula son 0, en mayscula 1.

22

ENTORNO DE TRABAJO MPLAB-IDE


Simulacin (cont.)
MPLAB-Sim es un simulador de eventos discretos. No se trata de una simulacin a la velocidad que desarrollar el microcontrolador. Las instrucciones se ejecutan tan rpido como puede la CPU del computador (PC) donde se est ejecutando MPLAB. Esto significa que ser normalmente ms lento que el microcontrolador real trabajando a la frecuencia que marque su oscilador. La velocidad de simulacin depende de la frecuencia de la CPU del PC y del nmero de tareas que se estn ejecutando simultneamente. No tiene ninguna trascendencia el cambio en la frecuencia del micro (si para el clculo de tiempos) que se puede configurar en la ventana DEBUGGER- SETTINGS-OSC/TRACE. La simulacin ms rpida posible (RUN) ser varios rdenes de magnitud ms lenta que la ejecucin final en el microcontrolador. Los retardos y temporizaciones deben ser reajustados durante la simulacin para evitar que se alarguen en exceso

23

ENTORNO DE TRABAJO MPLAB-IDE


Configuracin del Microcontrolador Antes de iniciar la simulacin, se deberan configurar los bits de configuracin del microcontrolador: CONFIGURE > CONFIGURATION BITS

La simulacin slo es software, por lo que las condiciones hardware no pueden darse.

De todos los bits de configuracin, durante la simulacin slo podra afectar el correspondiente al Watchdog Timer ya que podra resetear el micro. Para evitarlo, se debe desactivar el mismo.

24

ENTORNO DE TRABAJO MPLAB-IDE


Ejecucin del Cdigo
Los comandos ms importantes para la ejecucin (localizados dentro del men Debugger) son los que se indican a continuacin. Run (Ejecucin continua). Ejecuta el programa constantemente. La ventana Watch no se actualiza hasta que no se detiene la simulacin. Animate (Ejecucin animada). Ejecuta el programa de forma continua pero actualizando el contenido de la ventana WATCH cada vez que ejecuta una instruccin. Halt (Paro). Detiene la ejecucin del programa y actualiza todos los valores de las ventanas de visualizacin. Step Into (Ejecucin paso a paso). Ejecuta una sola instruccin del programa y actualiza la informacin de las ventanas de visualizacin. Reset. Equivale a un reset por activacin del pin /MCLR.

25

ENTORNO DE TRABAJO MPLAB-IDE


Ejecucin del Cdigo (cont.)
Step Over. Ejecuta una sola instruccin del programa y actualiza las ventanas de visualizacin. Cuando la instruccin es una llamada a una subrutina (call k), se ejecuta toda la subrutina antes de actualizar las ventanas. Step Out. Cuando se est ejecutando una subrutina paso a paso, este modo de simulacin obliga a que se ejecuten todas las instrucciones de la subrutina hasta regresar al programa principal, momento en el que se detiene la simulacin y se actualizan las ventanas de visualizacin. Run to cursor. Esta opcin da lugar a una ejecucin continua desde la ltima instruccin simulada hasta la posicin actual del cursor. Se activa con el botn derecho.

26

ENTORNO DE TRABAJO MPLAB-IDE


Breakpoints (Puntos de ruptura)
Otro elemento asociado a la simulacin son los puntos de ruptura o breakpoints, que constituyen puntos o instrucciones donde el usuario decide que debe detenerse la ejecucin del programa. Para ubicar un breakpoint sobre una lnea sealada por el cursor, se seleccionar la opcin SET BREAKPOINT del men que aparece al pulsar el botn derecho del ratn. Otra posibilidad es hacer doble click sobre la lnea donde se quiere colocar. En cualquier caso, aparecer una B de color rojo en la posicin donde se ha situado el punto de ruptura. Al simular una ejecucin continua, el programa se detendr en la instruccin que se ha marcado con el punto de ruptura. Para continuar con la simulacin desde ese punto hay que volver a lanzar la simulacin. Para eliminar puntos de ruptura, basta con hacer doble click sobre la lnea en que se encuentran. Si hay muchos, puede resultar ms til seleccionar BREAKPOINTS-REMOVE ALL BREAKPOINTS en el men que se activa con el botn derecho del ratn la opcin. Este men tambin ofrece la opcin de activar/desactivar los puntos de ruptura colocados en el programa.

27

ENTORNO DE TRABAJO MPLAB-IDE


Escribir un programa que lea un dato en el pin RB3 y lo saque por el RA2

28

ENTORNO DE TRABAJO MPLAB-IDE


Simulacin de entradas
Para comprobar el correcto funcionamiento de un programa suele ser necesario modificar el valor de determinadas entradas durante la simulacin. Para editar los estmulos de una entrada de un puerto hay que seleccionar el men DEBUGGERSTIMULUS y se puede crear o abrir un WorkBook de entradas para la simulacin.

En esta ventana se pueden definir tanto estmulos Sncronos como Asncronos

29

ENTORNO DE TRABAJO MPLAB-IDE


Estmulos Asncronos Son aquellos eventos que se producen cuando el usuario ejecuta un click con el ratn en la zona Fire y por tanto, se ignora a priori el instante en el que va a producirse. En la columna Pin/SFR Stimulus se define dnde se va a dar el evento. Se definen cinco posibles acciones: Set High. Pone la entrada a 1. Set Low. Pone la entrada a 0. Toggle. Cambia de valor cada vez que se pulse. Es la ms habitual. Pulse High. Pulso a 1 de duracin definida a la derecha. Pulse Low. Pulso a 0 de duracin definida a la derecha. Cada vez que se pulse al botn Fire (durante el tiempo de simulacin), se ejecuta la accin asociada y en el pin correspondiente. 30

ENTORNO DE TRABAJO MPLAB-IDE


Estmulos Sncronos
Son aquellos eventos que se producen en un momento conocido y predeterminado por el usuario antes de iniciar la ejecucin de la simulacin Se crea un fichero de extensin .scl que se puede incorporar en el mismo Scenario que los estmulos asncronos, en esa ventana: Attach Para generar el fichero: DEBUGGER-SCL GENERATOR y se puede crear o abrir un WORKBOOK donde aparecen varias pestaas para definir de diversos modos, valores coincidentes con instantes de tiempo. Ese tiempo se puede medir en ciclos de instruccin o en unidades temporales

Una vez definidos valores y tiempos, se genera el fichero .scl

31

ENTORNO DE TRABAJO MPLAB-IDE


Pestaas disponibles en el editor de Estmulos Sncronos Pin/Register Actions: para introducir valores en pines o registros coincidentes con instantes de tiempo dados (simple y til). Advanced Pin/Register: para introducir valores en pines o registros cuando se den determinadas condiciones (ms complejo). Clock Stimulus : para introducir seales de tipo reloj en un pin dado del microcontrolador (que cambian de manera peridica entre 1 y 0). Register Injection: para introducir valores en determinados registros coincidentes con el acceso a los mismos (Trigger: Demand) o cuando el PC tiene un determinado valor. Register Trace: no es propiamente para introducir estmulos, sino que se emplea para salvar en un fichero de texto el contenido de ciertos registros durante la ejecucin de la simulacin. 32

ENTORNO DE TRABAJO MPLAB-IDE


Puede funcionar sobre el simulador MPLAB-SIM pero FUNCIONAR EN LA REALIDAD?

NO SE PUEDE ASEGURAR AN
La simulacin es de eventos no tiene en cuenta los tiempos, ni tampoco los niveles elctricos de las seales. Es conveniente usar un EMULADOR el cual trabaja sobre el micro dentro del circuito de la aplicacin. Permite la ejecucin (controlada desde el entorno MPLAB) de programas en tiempo real y utilizando los recursos internos del propio microcontrolador pero con posibilidad de parar, ejecutar paso a paso, ver el estado de los registros internos, establecer puntos de ruptura, etc. MPLAB-ICD2: utiliza el PICmicro dentro de la aplicacin. MPLAB-ICE: sustituye al PICmicro mediante un conector adecuado

33

ENTORNO DE TRABAJO MPLAB-IDE


INICIO

INICIO
CONFIGURAR PUERTO B

CONFIGURAR PUERTO B

SACAR PUERTO B 01010101

SACAR PUERTO B 01010101

COMPLEMENTAR PUERTO B

RB0

34

You might also like