PDF version - ARM Information Center
PDF version - ARM Information Center
PDF version - ARM Information Center
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
프로세서 예외 처리예제 6-22 C 코드에서 SVC를 호출하는 예제#define SVC_00 0x00#define SVC_01 0x01void __svc (SVC_00) svc_zero (const char *string) ;void __svc (SVC_01) svc_one (const char *string) ;int call_system_func (void){svc_zero ("String to pass to SVC handler zero") ;svc_one ("String to pass to a different OS function") ;}6.3.9 시스템 타이머SCS에는 다른 플랫폼에서 더욱 쉽게 이식하기 위해 운영 체제에서 사용할 수 있는 시스템 타이머 SysTick이 포함되어 있습니다. 소프트웨어에서 SysTick을 폴링할 수 있으며 인터럽트를 생성하도록 SysTick을 구성할 수 있습니다. SysTick 인터럽트는 벡터 테이블에 자체 엔트리가 있으므로 전용 처리기를 사용할 수 있습니다.표 6-3에서는 SysTick을 구성하는 데 사용하는 네 가지 레지스터에 대해설명합니다.이름 주소 설명SysTick 제어 및 상태 0xE000E010 SysTick의 기본 제어: 활성화, 클럭 소스, 인터럽트 또는 폴링SysTick 다시 로드 값 0xE000E014 0이 되었을 때 현재 값 레지스터를 로드할 값SysTick 현재 값 0xE000E018 카운트다운의 현재 값SysTick 조정 값 0xE000E01C 카운트다운의 현재 값 포함표 6-3SysTick 구성SysTick을 구성하려면 SysTick 이벤트 간에 필요한 간격을 SysTick 다시 로드 값레지스터에 로드합니다. 타이머 인터럽트 (SysTick 제어 및 상태 레지스터의COUNTFLAG 비트) 는 1에서 0으로 전환될 때 활성화되므로 n+1 클럭 틱마다 활성화됩니다. 기간 100이 필요한 경우 99를 SysTick 다시 로드 값 레지스터에 기록합니다. SysTick 다시 로드 값 레지스터는 0x1에서 0x00FFFFFF 사이의 값을 지원합니다.6-42 Copyright © 2002-2008 <strong>ARM</strong> Limited. All rights reserved. <strong>ARM</strong> DUI 0203IKNon-ConfidentialUnrestricted Access