Assembly/C:Ejemplos:Condorboard-Stable

''Los ejemplos descritos en esta wiki están disponibles en el repositorio GIT condorboard-code (Descargar). Se recomienda al usuario tomar como base dichos ejemplos.''

=GPIO_Blinking_Led - Assembly=

Descripción
El programa GPIO_Blinking_Led prenderá y apagará los leds XXX XXX alternadamente con un intervalo de 1s aprox.

Pseudo-Codigo
El programa GPIO_Blinking_Led consta de 6 rutinas:
 * 1) begin: Inicializa el puerto a utilizar. En este caso el PIOA del uC.
 * on1, on2: prende secuencialmente los leds XXX y XXX respectivamente.
 * 1) off1, off2: apaga prende secuencialmente los leds XXX y XXX respectivamente.
 * 2) delay: Genera el retardo de 1s aprox entre las rutinas on1, on2, off1, off2.

Registros
En la siguiente tabla se puede encontrar los registros del uC AT91SAM9XE128 modificados en el programa GPIO_Blinking_Led. Para conocer mas detalles de estos u otros registros consultar la hoja de datos del uc AT91SAM9XE128. Tener en cuenta que los nombre de los registros se interpretan como constantes (direcciones); los valores los puede encontrar en el directorio ../include/AT91SAM9XE128_inc.h del directorio principal de los ejemplos.

Instrucciones
La programación en Assembly esta basada en el movimiento y operación de valores entre registros. Dichas operaciones son realizadas mediante instrucciones; las cuales son especificas para cada arquitectura de procesador. Para conocer el set de instrucciones de la arquitectura ARM puede consultar las siguientes referencias:

ARM926EJ-S_Technical Reference Manual

ARM Instruction Set Quick Ref

=GPIO_Blinking_Led - C=

Descripción
El programa GPIO_Blinking_Led prenderá y apagará los leds PA9 y PC13 alternadamente con un intervalo de 1s aprox.

Pseudo-Codigo
El programa GPIO_Blinking_Led consta de 7 funciones:
 * 1) main: Funcion Principal. Desde aca se llaman las demas funciones.
 * 2) initPMC: Inicialización del PMC (Power Managment Control). Se habilita el clk para el periferico GPIO.
 * 3) initPIO_A: Inicialización del periferico PIOA. Habilitacion y configuración de pin PA9 como salida.
 * 4) initPIO_A: Inicialización del periferico PIOC. Habilitacion y configuración de pin PC13 como salida.
 * 5) on(pin): Asigna '1' a pin.
 * 6) off(pin): Asigna '0' a pin.
 * 7) delay: Genera el retardo de 1s aprox.

Registros
En la siguiente tabla se puede encontrar los registros del uC AT91SAM9XE128 modificados en el programa GPIO_Blinking_Led. Para conocer mas detalles de estos u otros registros consultar la hoja de datos del uc AT91SAM9XE128. Tener en cuenta que los nombre de los registros se interpretan como constantes (direcciones); los valores los puede encontrar en el directorio ../include/AT91SAM9XE128_inc.h del directorio principal de los ejemplos.

=GPIO_Blinking_Led - C from Linux=

Descripción
El programa GPIO_Blinking_Led prenderá y apagará el led PA9 con un intervalo de 1s aprox.

Pseudo-Codigo
El programa CLinux_GPIO_Blinking_Led consta de 7 funciones:
 * 1) main: Funcion Principal. Desde aca se llaman las demas funciones.
 * 2) gpio_map:Habilitación de permisos de escritura para el rango de direcciones correspondientes al periferico GPIO. Definida en gpio.c
 * 3) gpio_as_output(PIOX_BASE, pin): Inicialización de pin en PIOX como salida. Definida en gpio.c
 * 4) gpio_set_pin(PIOX_BASE, pin): Asigna '1' a pin en PIOX Definida en gpio.c
 * 5) gpio_clear_pin(PIOX_BASE, pin): Asigna '0' a pin en PIOX . Definida en gpio.c
 * 6) sleep: Genera el retardo de 1s. Funcion del Sistema.

Registros
En la siguiente tabla se puede encontrar los registros del uC AT91SAM9XE128 modificados en el programa GPIO_Blinking_Led. Para conocer mas detalles de estos u otros registros consultar la hoja de datos del uc AT91SAM9XE128. Tener en cuenta que los nombre de los registros se interpretan como constantes (direcciones); los valores los puede encontrar en el directorio ../include/AT91SAM9XE128_inc.h del directorio principal de los ejemplos.

=CondorBoard_Assembly_C_Examples=