sábado, 25 de enero de 2014

Creación de un proyecto en el sistema operativo MQX

Descripción
En esta práctica se creará un proyecto para el microcontrolador MKL25Z128, utilizando CodeWarrior 10.3 y el Sistema operativo MQX lite. De igual forma se muestra un primer proyecto y las lineas de código necesario. 

Objetivo
Mostrar la secuencia de pasos necesaria para crear un proyecto en el sistema operativo MQX lite.
Desarrollo

 Una vez abierto CW aparecerá la siguiente ventana.

Figura 1. Ventana de inicio  de Codewarrior 10.3

Para crear un proyecto seguir las siguientes instrucciones:
1.       Clic en el menú File  > New > MQX Lite Proyect
2.       Aparecerá la ventana “Create an MQX-Lite Project”. Escribir el nombre del proyecto.
3.       Clic en Next. Aparecerá la ventana Devices, donde se escoge el microcontrolador a utilizar. Para este 
       caso escoger Kinetis L Series > KL2X Family > KL25Z (48 MHz) > MKL25Z128
4.       Clic en Next. Aparecerá la ventana Connections, escoger Open Source SDA .
5.       Clic en Next, y clic en Finish.

CodeWarrior generara los archivos necesarios para el proyecto.

Configuración del Reloj
Es necesario hacer algunos ajustes en el reloj del sistema. En la figura se muestran estas modificaciones.


Figura 2. Configuraciones y ajustes en el reloj del sistema.

 Y por ultimo damos clic en el icono de generar código, para verificar que no haya errores en el proyecto.


Figura 3. Ícono para generar código.

Una vez creado y generado los archivos necesarios para el proyecto, se procede a realizar la primer práctica, que consiste básicamente en encender y apagar un  led.
Para realizar esta práctica se hace uso del sistema MQX, el cual es un sistema operativo en tiempo real, el cual se encarga de ejecutar un conjunto de tareas de acuerdo a ciertas reglas  y prioridades.

Una tarea es una porción del programa que cumple con un objetivo determinado.

En este proyecto el sistema crea por default una tarea.


Figura 4. Propiedades de Task1.
Es necesario agregar un bean el cual esté conectado al led incorporado en la tarjeta. El bean que se agregara es  , el cual tiene las siguientes características.

Figura 5. Configuración del Bean del Led.

Desarrollo del código.
Como ya se menciono, lo que se desea es encender y apagar un led. Como se puede observar la estructura que tienen las tareas, creadas por MQX, estas se encuentran dentro de un ciclo infinito. Por lo que la tarea una vez que entre al ciclo nunca terminara, a menos que se le indique explícitamente.
Para  cumplir con el objetivo se hará uso de de los métodos proporcionados por el Bean , como es el caso de Verde_NegVal(), el cual invierte el valor de la .salida, y para poder observar el encendido y apagado del led se hara uso de otro método como  _time_delay_ticks(),el cual suspende la actual tarea por el numero indicado, en su argumento.
_time_delay_ticks(), es un evento porporcionado por el sistema operativo MQX.


Ver Código


No hay comentarios:

Publicar un comentario