Vous êtes sur la page 1sur 9

Programacin de Sistemas

Embebidos con Microcontroladores


de 32bits - LPC1769
SysTick
Mgter. Ing. Marcos Daro Aranda
JTP Arquitectura de Computadores Departamento de Informtica
JTP Sistemas Microprogramables Departamento de Electrnica

Temario
SYSTICK
Systick del uC LPC1769
Led del LPC1769
LED2 RED => Actividad Prctica 3 SysTick

Interrupciones del sistema


Las interrupciones del sistema son:
PendSV: se genera por software y es parte del proceso de atencin a
una llamada al sistema operativo mediante una instruccin SVC, la
prioridad se puede configurar pero no se puede inhabilitar.
SysTick: generada por el timer del mismo nombre, la prioridad se
puede configurar pero no se puede inhabilitar.

Systick del uC LPC1769


ARM Cortex-M3 system tick timer (SYSTICK)
Es un temporizador de 24 bits, cuenta en forma descendente o
ascendente.
Cuando su cuenta llega a cero genera una excepcin el SysTick (puede
programarse para generar excepciones peridicas a intervalos regulares
de XmS)

Adems una excepcin de SysTick puede generarse por programa


En el ambiente de un Sistema Operativo (OS o RTOS) puede usarse
sta excepcin como system tick

Se puede usar adems como un simple contador

Systick del uC LPC1769

Systick del uC LPC1769


ARM proporciona una plantilla de archivo para
system_device.c, la misma es adaptada por el
proveedor de silicio para que coincida con su dispositivo
real.
Como requisito mnimo de este archivo, debe
proporcionar una funcin de configuracin del sistema
de dispositivo especfico y una variable global que
contienga la frecuencia del sistema. Ello configura el
dispositivo e inicializa el oscilador (PLL) que es parte del
microcontrolador.

Systick del uC LPC1769


El archivo system_device.c debe ofrecer como requisito mnimo la
funcin SystemInit (void) Esta funcin configura el oscilador
(PLL). La funcin SystemCoreClockUpdate (void) actualiza la
variable SystemCoreClock y debe ser llamado cada vez que se
cambia el reloj durante la ejecucin del programa.
SystemCoreClockUpdate () evala la configuracin de registro
de reloj y calcula el reloj del ncleo actual.
La variable SystemCoreClock contiene el reloj del ncleo del
sistema (que es la frecuencia de reloj del sistema suministrado al
temporizador SysTick y el reloj de ncleo de procesador). Esta
variable puede ser utilizada por la aplicacin del usuario para
configurar el temporizador SysTick o configurar otros parmetros.
Tambin puede ser utilizado por el depurador para consultar la
frecuencia del temporizador de depuracin o configurar la velocidad
de reloj.

Systick => Actividad Prctica


Genere nuevo proyecto => Proyecto_Systick
Realice los drivers del Systick los cuales contendrn las siguientes funciones:
Una variable => que les permitir realizar la cuenta.
void Configurar_Systick(void){
// SysTick tiempo de interrupcin a intervalos de 1 mS
if (SysTick_Config (SystemCoreClock / 1000)){
while (1);
// Captura el error
}
}
void SysTick_Handler(void);

Tipo delay_ms (Tipo_dato delay_time) ;

Systick => Actividad Prctica


Desarrollo un aplicacin que permita cambiar el estado del LED2
cada un segundo, utilice el ORC para poder observar y verificar que
la seal de salida se encuentra un segundo en alto y un segundo en
bajo.