10.07.2015 Views

PDF version - ARM Information Center

PDF version - ARM Information Center

PDF version - ARM Information Center

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!