El ciclo de desarrollo con MPLAB X

El proceso para escribir una aplicación a menudo se describe como un ciclo de desarrollo, ya que es raro que todos los pasos desde el diseño hasta la implementación se puedan realizar sin problemas la primera vez. Más a menudo el código se escribe, prueba y luego se modifica para producir una aplicación que funciona correctamente. El entorno de desarrollo integrado permite que el ingeniero de diseño de sistemas embebidos progrese a lo largo de este ciclo sin la distracción de cambiar entre una variedad de herramientas. Al usar MPLAB X IDE, todas las funciones están integradas, lo que permite al ingeniero concentrarse en completar la aplicación sin la interrupción de herramientas separadas y diferentes modos de operación.


MPLAB X IDE es un "envoltorio" que coordina todas las herramientas desde una única interfaz gráfica de usuario, generalmente de forma automática. Por ejemplo, una vez que se escribe el código, se puede convertir en instrucciones ejecutables y descargarlo en un microcontrolador para ver cómo funciona. En este proceso se necesitan múltiples herramientas: un editor para escribir el código, un administrador de proyecto para organizar archivos y configuraciones, un compilador o ensamblador para convertir el código fuente a código de máquina y algún tipo de hardware o software que se conecta a un microcontrolador objetivo o que simula el funcionamiento de un microcontrolador

ADMINISTRADOR DE PROYECTOS

El administrador de proyectos organiza los archivos que se editarán y otros archivos asociados para que puedan enviarse a las herramientas de idioma para su ensamblaje o compilación, y finalmente a un vinculador. El vinculador tiene la tarea de colocar los fragmentos de código objeto del ensamblador, el compilador y las bibliotecas en las áreas de memoria adecuadas del controlador integrado, y asegurarse de que los módulos funcionen entre sí (o estén "vinculados"). Esta operación completa desde el ensamblaje y la compilación a través del proceso de enlace se denomina "compilación". Las propiedades especificadas para las herramientas de idioma se pueden invocar de manera diferente para cada archivo, si se desea, y un proceso de compilación integra todas las operaciones de las herramientas de lenguaje.




Los archivos fuente son archivos de texto escritos conforme a las reglas del ensamblador o compilador. El ensamblador y el compilador los convierten en módulos intermedios de código de máquina y marcadores de posición para referencias a funciones y almacenamiento de datos. El vinculador resuelve estos marcadores de posición y combina todos los módulos en un archivo de código máquina ejecutable. El vinculador también produce un archivo de depuración que permite a MPLAB X IDE relacionar los códigos de la máquina ejecutora con los archivos fuente. Un editor de texto se usa para escribir el código. Reconoce las construcciones en el texto y usa códigos de colores para identificar varios elementos, como mnemónicos de instrucciones, construcciones de lenguaje C y comentarios. El editor admite operaciones comúnmente utilizadas para escribir código fuente. Después de escribir el código, el editor trabaja con las otras herramientas para mostrar la ejecución del código en el depurador. Los puntos de interrupción (que detienen o "rompen" la ejecución del código) se pueden configurar en el editor, y los valores de las variables se pueden inspeccionar colocando el puntero del mouse sobre el nombre de la variable. Los nombres de las variables se pueden arrastrar desde las ventanas de texto de origen y luego se pueden colocar en una ventana de Relojes, donde se pueden ver sus valores cambiantes después de cada punto de interrupción o durante la ejecución del código.

HERRAMIENTAS DEL LENGUAJE

Las herramientas de lenguaje son programas como ensambladores cruzados y compiladores cruzados. La mayoría de las personas están familiarizadas con algunas de las herramientas de lenguaje que se ejecutan en una computadora, por ejemplo, los compiladores de Visual Basic o C. Cuando se utilizan herramientas de lenguaje para sistemas embebidos, se usa un "ensamblador cruzado" o un "compilador cruzado". Estas herramientas se diferencian de los compiladores típicos que se ejecutan en un ordenador, sino que producen código para ejecutar en otro microprocesador (o microcontrolador). Las herramientas de lenguaje también producen un archivo de depuración que MPLAB X IDE utiliza para correlacionar las instrucciones de la máquina y las ubicaciones de memoria con el código fuente. Este bit de integración le permite al editor MPLAB X IDE establecer puntos de interrupción, permite a las ventanas ver el contenido de Relojes variables, y que permite un solo paso a través del código fuente, mientras la aplicación ejecute. Las herramientas de lenguaje del sistema incorporado también difieren algo de los compiladores que se ejecutan en una computadora porque deben ser muy conscientes del espacio. Cuanto menor sea el código producido, mejor, porque proporciona el uso de memoria más pequeño posible para el objetivo, lo que reduce el costo. Esto significa que son deseables las técnicas para optimizar y mejorar el código, utilizando el conocimiento específico de la máquina. El tamaño de los programas para computadoras generalmente se extienden a megabytes para programas moderadamente complejos. El tamaño de los programas de sistemas embebidos simples puede ser tan pequeño como mil bytes o menos. Un sistema embebido de tamaño mediano podría necesitar 32K o 64K de código para funciones relativamente complejas. Algunos sistemas embebidos usan megabytes de almacenamiento para tablas grandes, mensajes de texto de usuario o registro de datos.


DEBUGGING

En un entorno de desarrollo, la ejecución del código se prueba en un depurador. El depurador puede ser un programa de software que simula el funcionamiento del microcontrolador para la prueba, o puede ser un instrumento de hardware para analizar el programa mientras se ejecuta en la aplicación.

Depuradores de software

Los simuladores de depuradores de software están integrados en MPLAB X IDE, por lo que un programa puede probarse sin hardware adicional. Un simulador es un depurador de software, y las funciones de depuración para el simulador son casi idénticas a las depuradoras de hardware, lo que permite aprender una nueva herramienta con facilidad. Por lo general, un simulador funciona un poco más lento que un microcontrolador real

Depuradores de hardware

Hay dos tipos de hardware que se pueden usar con MPLAB X IDE: programadores y depuradores de hardware. Un programador simplemente quema el código de máquina de la PC en la memoria interna del microcontrolador objetivo. El microcontrolador se puede conectar a la aplicación y, con suerte, se ejecutará según lo diseñado. Por lo general, sin embargo, el código no funciona exactamente como se esperaba, y el ingeniero tiene la tarea de revisar el código y su funcionamiento en la aplicación para determinar cómo modificar el código fuente original para que se ejecute como se desee. Este proceso se llama depuración. Como se señaló anteriormente, el simulador se puede usar para probar cómo funcionará el código, pero una vez que un microcontrolador se programa con el firmware, entran en juego muchas cosas fuera del alcance del simulador. Utilizando solo un programador, el código podría cambiarse, reprogramarse en el microcontrolador y enchufarse al objetivo para volver a realizar la prueba, pero este podría ser un ciclo largo y laborioso si el código es complejo y es difícil comprender exactamente qué está pasando mal en el hardware. Aquí es donde un depurador de hardware es útil. Los depuradores de hardware pueden ser emuladores en circuito o depuradores en el circuito, que usan microcontroladores que tienen funciones de depuración incorporadas especiales. Un depurador de hardware, como un simulador, le permite al ingeniero inspeccionar variables en varios puntos del código, y un solo paso para seguir las instrucciones mientras el hardware interactúa con sus circuitos especializados.

Entorno de desarrollo integrado

La depuración suele ser urgente cerca del final del ciclo de diseño del proyecto. A medida que transcurren los plazos, lograr que la aplicación funcione como se diseñó originalmente es el último paso antes de implementar el producto y, a menudo, tiene la mayor influencia en producir retrasos para sacar un producto. Ahí es donde un entorno de desarrollo integrado es más importante. Hacer "ajustes" al código, recompilar, descargar y probar todo requiere tiempo. El uso de todas las herramientas en un solo entorno reducirá el tiempo de "ciclo". Estos últimos pasos, donde se resuelven errores críticos, son una prueba para el diseñador de sistemas integrados. La herramienta correcta puede ahorrar tiempo.

PROGRAMACIÓN DE DISPOSITIVOS

Después de que se haya depurado la aplicación y se esté ejecutando en el entorno de desarrollo, debe probarse por sí misma. Un dispositivo se puede programar con un emulador en circuito, un depurador en circuito, un programador de desarrollo o un programador de dispositivo. MPLAB X IDE se puede establecer en la función del programador y la pieza se puede "quemar". La aplicación objetivo ahora se puede observar en su estado casi final. Los programadores de prototipos de ingeniería permiten realizar prototipos rápidos y evaluarlos. Algunas aplicaciones se pueden programar después de soldar el dispositivo en la placa de PC de destino. Al utilizar la capacidad de programación en circuito en serie (ICSP ™), el firmware se puede programar en la aplicación en el momento de la fabricación, permitiendo que las revisiones actualizadas se programen en una aplicación incorporada más adelante en su ciclo de vida. Los dispositivos que admiten la depuración en el circuito pueden incluso conectarse nuevamente a un depurador en circuito después de la fabricación para pruebas de calidad y el desarrollo del firmware de próxima generación. La programación de producción se puede lograr utilizando un programador de producción y MPLAB IPE, que se instala con MPLAB X IDE.


Fuente:MPLAB X IDE User's Guide

Comentarios

Entradas más populares de este blog

Resistencias

Guía de introducción de XC8