P01.Desarrollo de aplicaciones con mplab

5,627 views

Published on

0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,627
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
255
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

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/

×