Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

P01.Desarrollo de aplicaciones con mplab

5,973 views

Published on

P01.Desarrollo de aplicaciones con mplab

  1. 1. Sistemas Basados en MicroprocesadoresDesarrollo de aplicaciones con MPLAB
  2. 2. Presentación MPLAB es una plataforma de desarrollo de Microchip, que permite escribir programas en lenguaje ensamblador o C, compilar y/o ensamblar, simular el programa y finalmente programar el microcontrolador. Se puede descargar gratuitamente de la página de Microchip. http://paginaspersonales.deusto.es/jonathan.garibay/
  3. 3. Partes de MPLAB IDE El Editor incorporado permite escribir y editar programas. El Project Manager organiza los distintos ficheros que componen un proyecto. El Ensamblador y el Linker son los encargados de generar los ficheros objetos y relacionarlos. El Simulador permite simular programas con ilimitados breakpoints, examinar/modificar registros, observar variables, tiempos y simular estímulos externos. http://paginaspersonales.deusto.es/jonathan.garibay/
  4. 4. Partes de MPLAB IDE (Continuación…) El Debbuger es parecido a un simulador pero permiten ejecutar el programa de forma totalmente real sobre el microcontrolador.  En este caso suele haber limitación de breakpoints.  Existen varios tipos de debuggers distintos y el usuario deberá seleccionar con cual trabajará. El Programador es el encargado de descargar el programa final en código máquina al microcontrolador.  Existen varios tipos de programadores distintos y el usuario deberá seleccionar con cual trabajará. http://paginaspersonales.deusto.es/jonathan.garibay/
  5. 5. Toolsuites Una toolsuite es el conjunto de compiladores, linkadores y/o ensambladores que transforman el código fuente en un lenguaje determinado a código máquina. MPLAB IDE integra diferentes toolsuite proporcionados por Microchip y permite utilizar algunos de otros fabricantes (CCS).  Los más utilizados en MPLAB IDE son el Microchip MPASM para el lenguaje ensamblador y los Microchip Cxx para programar en C las diferentes familias de PICs. http://paginaspersonales.deusto.es/jonathan.garibay/
  6. 6. Instalación del MPLAB C18 Para programar en C la familia PIC18, se puede utilizar la versión lite, también gratuita, descargable desde la página de microchip. Se instala en un PC con el MPLAB vX.X previamente instalado.  En la instalación se puede indicar que se asocie automáticamente con el MPLAB o se puede hacer más tarde también. http://paginaspersonales.deusto.es/jonathan.garibay/
  7. 7. Instalación del MPLAB C18 (Continuación…) Paraindicar a MPLAB donde se encuentra el compiler/linker se utiliza la opción del menú Project Set Lenguage Tool Locations… http://paginaspersonales.deusto.es/jonathan.garibay/
  8. 8. Instalación del MPLAB C18 (Continuación…) Archivos a configurar:  MPASM Assembler (mpsmwin.exe).  MPLAB C18 C Compiler (mcc18.exe).  MPLIB Librarian (mplib.exe).  MPLINK Object Linker (mplink.exe). El primero se encuentra en la carpeta mpasm del directorio de instalación* del MPLAB C18. El resto están en la carpeta bin del directorio de instalación* del MPLAB C18. * El directorio de instalación suele ser C:/mcc18/ http://paginaspersonales.deusto.es/jonathan.garibay/
  9. 9. Creación de un proyecto Una vez abierto el MPLAB, y dentro del menú, Project  Project Wizard.  1ª ventana: Bienvenida, se pulsa Siguiente.  2ª ventana: Elección del dispositivo que vamos a programar (PIC 18F4520 en nuestro caso), y se pulsa Siguiente. http://paginaspersonales.deusto.es/jonathan.garibay/
  10. 10. Creación de un proyecto (Continuación…)  3ª ventana: Selección del Toolsuite.  Para programar en ensamblador  Microchip MPASM Toolsuite.  Para programar con el MPLAB C18  Microchip C18 Toolsuite. http://paginaspersonales.deusto.es/jonathan.garibay/
  11. 11. Creación de un proyecto (Continuación…)  4ª ventana: se indica la carpeta y el nombre del proyecto.  En esta ventana también se pueden reconfigurar un proyecto creado anteriormente. http://paginaspersonales.deusto.es/jonathan.garibay/
  12. 12. Creación de un proyecto (Continuación…)  5ª ventana: si se van a utilizar librerías adicionales a las de Microchip, aquí se pueden incluir en el proyecto. http://paginaspersonales.deusto.es/jonathan.garibay/
  13. 13. Creación de un proyecto (Continuación…)  6ª ventana: ventana de confirmación con los principales datos configurados. Semostrará nuestro proyecto con las siguientes ventanas. http://paginaspersonales.deusto.es/jonathan.garibay/
  14. 14. Archivos de un proyecto Los archivos con código fuente serán diferentes en el caso de utilizar el lenguaje ensamblador (xxx.asm) o el C (xxx.c y xxx.h): Otros archivos importantes:  xxx.mcp y xxx.mcw son los ficheros del proyecto; el primero guarda los datos del proyecto y el segundo el workspace.  xxx.hex es el fichero que contiene la codificación máquina de nuestro programa después de la compilación.  xxx.err crea una línea por cada error encontrado en la compilación.  xxx.lst crea una copia del código fuente incluyendo la línea de error en la posición en la que se ha producido. http://paginaspersonales.deusto.es/jonathan.garibay/
  15. 15. Creación de un fichero de código Hayque incluir un nuevo fichero para el programa. Para ello en File  New se abre un nuevo fichero que guardamos con el nombre que queramos (por defecto, Program.asm o Main.c).  Si se programa en ensamblador, la extensión del fichero será .asm,  y si se programa en C; para los ficheros de código la extensión será .c, y para los fichero de cabecera será .h. El nuevo fichero habrá que incluirlo en el proyecto manualmente. http://paginaspersonales.deusto.es/jonathan.garibay/
  16. 16. Adición del fichero al proyecto Se pulsa sobre la carpeta que corresponda (en este caso Source Files) con el botón derecho del ratón y seleccionando la opción AddFiles se incluye el fichero creado anteriormente. http://paginaspersonales.deusto.es/jonathan.garibay/
  17. 17. Compilación en C  Una vez que se ha editado el código del fichero fuente, se puede compilar con la opción del menú Project  Build All. Si se produce el error could not find file ‘c018i.o’, hay que incluir las librerías propias del compilador.  Desde el menú Project  Build Options Project, se selecciona primero la Library Search Path, se pulsa New y se incluye el directorio Lib de la carpeta de instalación* del MPLAB C18.  También hay que incluir en la opción Include Search Path la ruta el directorio h de la carpeta de instalación* del MPLAB C18. * El directorio de instalación suele ser C:/mcc18/ http://paginaspersonales.deusto.es/jonathan.garibay/
  18. 18. Compilación en ensamblador Una vez que se ha editado el código del fichero fuente, se puede compilar con la opción del menú Project  Build All. http://paginaspersonales.deusto.es/jonathan.garibay/
  19. 19. Compilación en C y ensamblador Enla ventana Output se mostrará el resultado de la compilación y una línea por cada error que se produzca. http://paginaspersonales.deusto.es/jonathan.garibay/
  20. 20. Palabra de configuración En el menú Configuration, se puede modificar el dispositivo seleccionado al comienzo (Select Device), y la palabra de configuración (Configuration Bits).  La palabra de configuración se puede indicar en el código fuente. http://paginaspersonales.deusto.es/jonathan.garibay/
  21. 21. Debbugers MPLAB incluye diferentes posibilidades de simulación y debugueo.  En el caso de que no sea necesario descargar el programa en un micro se llama simulación,  y cuando se descarga el programa sobre la plataforma real se llama debugueo. Dentro del menú Debbuger  Select Tool, tenemos diferentes opciones a seleccionar. http://paginaspersonales.deusto.es/jonathan.garibay/
  22. 22. MPLAB SIM – Simulación El simulador más sencillo de todos los disponibles es el MPLAB SIM.  Es un simulador que reproduce el código escrito y nos permite ver la situación interna del micro.  No es aconsejable la simulación de programas complejos, pero sí para la comprobación de funciones, sobretodo las de manejo de datos o cálculos aritméticos. http://paginaspersonales.deusto.es/jonathan.garibay/
  23. 23. MPLAB SIM – Simulación (Continuación…) Paracontrolar el flujo del programa tenemos las opciones del menú Debbuger:  Run: ejecuta el programa indefinidamente o hasta que encuentre un breakpoint.  Step Into: ejecuta una única instrucción cada vez y si se encuentra con una subrutina, entra dentro de ella y la ejecuta instrucción a instrucción.  Step Over: ejecuta una única instrucción cada vez y si se encuentra con una subrutina la ejecuta completamente de una vez. Paracolocar un breakpoint, se hace doble click sobre la línea de código que interese. http://paginaspersonales.deusto.es/jonathan.garibay/
  24. 24. MPLAB SIM – Simulación (Continuación…) Para conocer el estado del microcontrolador, se usan las opciones del menú View:  EEPROM: muestra el contenido de esta memoria, el cual puede ser modificado seleccionando la posición que se quiera cambiar. http://paginaspersonales.deusto.es/jonathan.garibay/
  25. 25. MPLAB SIM – Simulación (Continuación…)  File Register: muestra el contenido de la memoria de datos (poco útil, mejor utilizar el Watch).  Watch: muestra el contenido de un registro identificado con su nombre simbólico. http://paginaspersonales.deusto.es/jonathan.garibay/
  26. 26. MPLAB SIM – Simulación (Continuación…) Los Stimulus nos permiten simular los valores o estados de las entradas de las puertas IO. Se debe crear un Workbook desde el menú DebbugerStimulus New Workbook. http://paginaspersonales.deusto.es/jonathan.garibay/
  27. 27. MPLAB SIM – Simulación (Continuación…) Existendiferentes tipos de stimulus, como pueden ser asíncronos por flanco, por pulso o entradas de reloj.  Se selecciona el pin sobre el que se va a actuar, la acción, y se rellenan el resto de campos que sean necesarios.  Para ejecutar el stimulus se pulsa sobre el botón Fire de la fila correspondiente. Sepueden guardar los Workbook de forma independiente al proyecto, lo que los hace reutilizables. http://paginaspersonales.deusto.es/jonathan.garibay/
  28. 28. MPLAB SIM – Simulación (Continuación…) Los puerto serie o puerto UARTs se utilizan bastante en microcontroladores por lo que el simulador incluye el suyo propio.  En DebbugerSetting seleccionamos la pestaña Uart1 IO, lo habilitamos y seleccionamos la opción de salida Window. http://paginaspersonales.deusto.es/jonathan.garibay/
  29. 29. MPLAB SIM – Simulación (Continuación…) Si se ejecuta el código de ejemplo que se ha escrito nos mostrará el siguiente resultado por la salida serie: http://paginaspersonales.deusto.es/jonathan.garibay/
  30. 30. MPLAB ICD 2 - Debugueo Uno de los más utilizados es el MPLAB ICD 2, del que han sacado una nueva versión recientemente, MPLAB ICD 3. El funcionamiento es muy similar al del simulador, pero con algunas limitaciones:  Se dispone de dos breakpoints.  No se utilizan los stimulus, ya que los valores de las E/S son reales. http://paginaspersonales.deusto.es/jonathan.garibay/
  31. 31. Proteus – Simulación Proteus Isis es un entorno de desarrollo para diseño electrónico, que además incluye diferentes simuladores.  Dispone de un simulador de microcontroladores PIC que se integra automáticamente con el MPLAB IDE. Se simula de igual forma que el MPLAB SIM pero en este caso podemos utilizar interruptores o pulsadores para las entradas o diodos LED para las salidas. http://paginaspersonales.deusto.es/jonathan.garibay/
  32. 32. Proteus – Simulación (Continuación…) Se pueden utilizar también elementos complejos como terminales serie u osciloscopios  Virtual Instruments.  Seleccionando esta opción se pueden incluir instrumentos virtuales para una mejor simulación de los programas.  En el menú Debug se pueden habilitar o deshabilitar estos instrumentos para su uso en la simulación http://paginaspersonales.deusto.es/jonathan.garibay/
  33. 33. Proteus – Simulación (Continuación…) Una vez que se tenga instalado Proteus, en el menú Debbuger  Select Tool aparecerá la opción Proteus VSM. Una vez seleccionado se abre una ventana de Proteus con algunas limitaciones donde podemos abrir un diseño y ejecutar el programa sobre el microcontrolador.  No se puede cambiar el diseño directamente sobre esta ventana, pero una vez guardado el diseño modificado en Proteus Isis se actualizará automáticamente. http://paginaspersonales.deusto.es/jonathan.garibay/
  34. 34. Proteus – Simulación (Continuación…) http://paginaspersonales.deusto.es/jonathan.garibay/
  35. 35. MPLAB ICD 2 - Programador Se puede también utilizar el MPLAB ICD 2 como programador. La programación implica que el programa se ejecute autónomamente y no tengamos ningún control sobre el.  A excepción de las entradas y salidas que utilice el programa. http://paginaspersonales.deusto.es/jonathan.garibay/
  36. 36. WinPIC800 – Programador Es un sencillo programa de grabación para un número importante de grabadores. http://paginaspersonales.deusto.es/jonathan.garibay/
  37. 37. WinPIC800 – Programador (Continuación…) Problemas comunes:  Selección del grabador: es necesario seleccionar el grabador en el menú ConfiguraciónHardware. El seleccionado será Pic_School.  No configuración del reloj: se puede especificar en la palabra de configuración en el MPLAB, pero puede ser necesario volver a hacerlo aquí en la pestaña Config.  No se detecta el hardware: hay que revisar que está seleccionada la familia PIC 18F en la parte superior derecha. http://paginaspersonales.deusto.es/jonathan.garibay/
  38. 38. GPUTILS (GNU PIC Utilities) Las GPUTILS son las herramientas libres y multiplataforma para ensamblar y enlazar. Son 100% compatibles con el MPLAB. Utilización:  gpasm pPIC fichero.asm  gpasm pp16f876 ejemplo.asm http://paginaspersonales.deusto.es/jonathan.garibay/
  39. 39. CCS Info CCS (http://www.ccsinfo.com/) es un compilador de C diferente e incompatible al MPLAB C18 para microcontroladores PIC.  No dispone de una versión gratuita.http://paginaspersonales.deusto.es/jonathan.garibay/
  40. 40. Programar PICs en Linux Existen varios compiladores OpenSource para los microcontroladores PIC. http://piklab.sourceforge.net/index.php: pkilab es un programa opensource para la programación de microcontroladores PIC en Linux.  En http://www.aquihayapuntes.com/programacion-de- microcontroladores-pic-en-c-con-ubuntu-utilizando-el- icd2.html hay un articulo que explica paso a paso su instalación. http://paginaspersonales.deusto.es/jonathan.garibay/

×