0% encontró este documento útil (0 votos)
13 vistas15 páginas

Tutorial CodeWarrior para Microcontroladores

Este documento proporciona un tutorial sobre el uso del entorno de desarrollo integrado CodeWarrior para la simulación, depuración y programación de microcontroladores Freescale. Explica cómo crear un proyecto, construirlo, depurarlo usando breakpoints, y las herramientas disponibles como la visualización de variables y registros. Está dirigido a estudiantes de circuitos digitales y sistemas embebidos.

Cargado por

Carlos Ocampo
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
13 vistas15 páginas

Tutorial CodeWarrior para Microcontroladores

Este documento proporciona un tutorial sobre el uso del entorno de desarrollo integrado CodeWarrior para la simulación, depuración y programación de microcontroladores Freescale. Explica cómo crear un proyecto, construirlo, depurarlo usando breakpoints, y las herramientas disponibles como la visualización de variables y registros. Está dirigido a estudiantes de circuitos digitales y sistemas embebidos.

Cargado por

Carlos Ocampo
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

TUTORIAL

CodeWarrior Development Studio for


Microcontrollers v10.0

Hecho por:
Camilo Masso Quiceno

Última revisión: 02 de Noviembre de 2010

Universidad de Antioquia
Facultad de Ingeniería
Departamento de Ingeniería Electrónica

Introducción

Este tutorial esté dirigido a estudiantes en las áreas de Circuitos


Digitales y Sistemas Embebidos y pretende mostrar los aspectos
básicos en el uso de la herramienta CodeWarrior para la simulación,
depuración y programación de microcontroladores fabricados por
Freescale.

Codewarrior Development Studio es un completo Entorno Integrado


de Desarrollo (IDE) que provee poderosas herramientas visuales y de
automatización para acelerar el desarrollo de aplicaciones embebidas.

La versión 10.0 de CodeWarrior integra las herramientas de


desarrollo para las arquitecturas RS08, HCS08 y ColdFire en un solo
entorno basado en la plataforma de código abierto Eclipse, la cual
ofrece excelentes prestaciones para el desarrollo de proyectos
software.

Para descargar CodeWarrior Development Studio, obtener


instrucciones de instalación e información adicional, visite el sitio web
oficial [Link]/codewarrior

Creación de un Proyecto

Abra CodeWarrior. Aparecerá un diálogo como el que se muestra en


la figura 1.
Figura 1
Presione el botón Browse… y escoja un directorio de trabajo. En este
directorio (llamado workspace) se almacenarán todos los proyectos
que usted realice. Podrá cambiar de workspace luego si así lo desea.
Cuando haya seleccionado el directorio, presione OK para continuar.

Si es la primera vez que usa CodeWarrior, aparecerá una ventana de


bienvenida como en la figura 2.

Figura 2

Si la ventana de bienvenida aparece, dé clic en Go to Workbench.

En este momento se encuentra ubicado en la ventana principal de


CodeWarrior (llamada Workbench), la cual se muestra en la figura 3.
Desde esta ventana se realizan todas las operaciones de interés, tales
como edición del código fuente del programa, organización de
archivos fuentes y de cabecera, simulación, depuración y
programación del microcontrolador.

Como se dijo anteriormente, esta nueva edición de CodeWarrior está


basada en Eclipse, por lo cual el Workbench contiene vistas (View),
perspectivas (Perspective) y otros componentes que constituyen el
IDE. No es propósito de este tutorial explicar los detalles de los
componentes del IDE, sin embargo su conocimiento es de gran ayuda
para un manejo rápido y adecuado del entorno; si desea saber más al
respecto, remítase al capítulo Using Microcontrollers Window del
documento Getting Started Guide for MCU v10.0 disponible en la
sección de documentación del sitio web oficial.

Figura 3

Para crear un nuevo proyecto, seleccione File > New > Project…
Figura 4

Seleccione Bareboard Project y presione el botón Next.


A continuación, dele un nombre al proyecto, por ejemplo “Proyecto1”.

Figura 5

Presione Next.

Luego, seleccione el dispositivo que se quiere programar o simular.


Para este tutorial se utilizará el JM60 que hace parte de la
arquitectura HCS08. Expanda la pestaña HCS08, luego la pestaña
HCS08JM Family, seleccione MC9S08JM60 (ver figura 6) y presione el
botón Next.
Figura 6
A continuación, seleccione las conexiones que usará en su proyecto.
Esto depende de los recursos con los que cuente el computador y el
dispositivo que va a usar. Marque la casilla P&E Full Chip Simulation,
desmarque todas las demás y dé clic en Next.
Figura 7

En el siguiente diálogo (figura 8) presione Next.

Figura 8
Luego, seleccione el lenguaje de programación que va a usar. Marque
la casilla Absolute Assembly y presione el botón Finish.
Figura 9

El proyecto es creado y aparece en la vista CodeWarrior Projects que


se encuentra en la parte izquierda de la ventana (ver figura 10).

Bajo el nombre del proyecto se encuentran los archivos concernientes


a dicho proyecto. Por ejemplo, al expandir la carpeta
Project_Headers, encontrará un archivo con el nombre del
microcontrolador en el que se va a trabajar y con extensión *.inc;
este archivo contiene todas las definiciones de los registros del
microcontrolador con su respectiva dirección de memoria, con los
mismos nombres con que aparecen en la hoja de datos (datasheet)
del fabricante.

Expanda la carpeta Sources y dé doble-clic al archivo [Link];


inmediatamente en el editor aparece el contenido del archivo (ver
figura 10). Este archivo es el que contendrá el programa que se va a
simular. Note que el editor establece diferentes colores en el texto de
acuerdo a la sintaxis del lenguaje de programación, para que el
usuario pueda identificar fácilmente un comentario, una etiqueta
(label), una instrucción, etc.
Árbol de Proyectos y sus archivos Editor

Figura 10

En el editor, cambie el código por el siguiente:


En este sencillo código, se chequea el estado de un puerto de entrada
para colocar en cero o uno una salida.

Haga clic en File > Save para guardar.

Construcción del proyecto

En el árbol de proyectos en la parte de izquierda de la ventana,


seleccione el proyecto (para este ejemplo “Proyecto1”) y haga clic en
Project > Build Project (también puede hacer clic derecho sobre el
nombre del proyecto y en el menú resultante seleccionar Build
Project); inmediatamente aparece una ventana que muestra el
proceso de construcción del proyecto.

En dicho proceso, CodeWarrior chequea posibles errores en el código


y si no los hay construye el archivo objeto correspondiente. Con este
archivo generado se está en capacidad de simular y depurar la
aplicación.
Cada vez que un archivo fuente cambie, debe volver a construirse el
proyecto. Para ello, haga clic derecho en el nombre del proyecto y
seleccione Clean Project; luego vuelva a dar clic derecho en el
nombre del proyecto y seleccione Build Project para construirlo
nuevamente.

Depuración del proyecto


En el árbol de proyectos, seleccione nuevamente el proyecto y haga
clic en Run > Debug Configurations… para abrir el diálogo de la figura
11:

Figura 11

En la parte izquierda de la ventana, expanda CodeWarrior Download


y seleccione el proyecto “Proyecto1”:
Figura 12

En esta ventana puede configurar diversas opciones para el


depurador bajo la pestaña Debugger. La explicación de estas
opciones y sus modificaciones están fuera del alcance de este tutorial,
sin embargo, como en la creación del proyecto se especificó la
conexión a usar (en este caso fue Full Chip Simulation, pero puede
ser otra como Multilink BDM u Open Source BDM), las opciones están
por defecto configuradas para dicha conexión y no es necesario
modificarlas.

Haga clic en el botón Debug:

Botones de control Perspectivas

Código fuente
Figura 13

El depurador descarga la aplicación al simulador y puede empezar la


depuración. Note que en la sección de Perspectivas (ver figura 13)
aparece la perspectiva Debug; puede cambiar en cualquier momento
a la perspectiva C/C++ para ver el editor y el árbol de proyectos.

En el código fuente puede visualizar el flujo del programa; observe


que se resalta (en un color verde claro) la línea con la instrucción que
se va a ejecutar (OJO, la instrucción no se ha ejecutado todavía).

Uso de Breakpoints

El breakpoint es un elemento esencial en la depuración y sirve para


detener la ejecución del programa en un determinado punto.

En el código fuente, ubíquese en la línea que contiene la instrucción


“BLE Conteo” y haga clic en Run > Toggle Breakpoint. Note que a la
izquierda de la línea aparece un pequeño indicador de la existencia de
un breakpoint en ese punto del programa, como se ve en la figura 14.

Figura 15

Para quitar un breakpoint, ubíquese en la línea correspondiente y


vuelva a hacer clic en Run > Toggle Breakpoint. También puede
añadir o quitar breakpoints más rápidamente haciendo doble clic en
el lugar donde aparece el indicador, a la izquierda de la línea.

Manipulación de los botones de control

Restart Step
Reset Resume Suspend Terminate Step Step Return
Into Over
Figura 14

Descripción:

Step Into: Ejecuta la siguiente instrucción (la resaltada en


verde claro). Si es un salto a una subrutina, entra en ella.
Step Over: Ejecuta la siguiente instrucción. Si es una subrutina,
la ejecuta toda y continúa en la siguiente línea.
Resume: Ejecuta todo el programa hasta encontrar un
breakpoint.
Suspend: Suspende la ejecución.
Reset: Comienza la ejecución en la dirección de memoria
establecida por el vector de reset.
Restart: Reinicia la depuración.
Terminate: Finaliza la depuración.

Algunas herramientas útiles del entorno

En la parte superior derecha de la ventana encontrará varias vistas o


pestañas de gran ayuda:
 La vista Variables permite ver y cambiar el valor de las
variables que se definieron en el programa y su ubicación en
memoria. Cuando el valor de una variable cambia, se resalta en
amarillo.

 La vista Breakpoints lista todos los breakpoints que contiene el


programa.

 La vista Registers permite ver el contenido y la ubicación de


cualquier registro del microcontrolador, tanto los registros de la
CPU (acumulador, SP, PC, etc.) como los de los módulos
periféricos (ADC, I/O, KBI, Timer, y demás).

Explore otras vistas que pueden ser muy útiles, como por ejemplo
Memory Browser, para que se familiarice aún más con el entorno.

Continuando con la depuración, presione varias veces Step Into para


ejecutar el programa paso a paso.

Con el breakpoint anterior establecido, presione Resume para


ejecutar todo el programa hasta llegar a la instrucción maracada (no
se ha ejecutado aún); hágalo varias veces prestando atención que
pasa en cada paso.
Es importante también poder establecer valores en los puertos y los
periféricos, para ello, vaya al menú PEMicro -> Port Pins Module ->
Set Input Pin Levels. Aparecerá una ventana como la de la figura, en
la cual es posible cambiar el valor de los puertos de entrada y
generar una interrupción externa (IRQ).

Finalmente, presione el botón Terminate para terminar la depuración.

También podría gustarte