[TI][AM263x]RTI LED Blink 예제 따라하기

2025. 4. 8. 00:42Embedded/TI

1.개요

RTI(Real-Time Interrupt Timer)를 이용해서 LED를 켜는 예제.
DPL(Driver Porting Layer)의 TIMER와는 다른 예제임.

1-1.개발 환경

하드웨어 : TMDSCNCD263 + TMDSHSECDOCK
SDK : AM263x MCU+ SDK
IDE : CCS 12.8.1

1-2.예제 분류

SOC and Board Peripheral Drivers
└20.RTI
└a.RTI LED Blink

1-3.Block Diagram

AM263x 시리즈의 RTI 모듈에 대한 블록 다이어그램.

  • 4개의 RTI 모듈 내장
    BD

2.SysConfig

TI DRIVERS 하위의 RTI 항목에서 설정 가능

Sysconfig의 기본적인 컨셉은 고수준의 설정으로 사용자가 좀 더 직관적으로 레지스터 설정할 수 있도록 하는 것으로 보인다.

  • HalCoGen : 시스템 클럭 설정 / 분주비 설정 / 카운터 및 컴페어 레지스터 설정으로 RTI 생성
  • SysConfig : 사용자가 원하는 주파수 / Tick Period 입력 시 분주비와 컴페어 레지스터 값을 SysConfig에서 알아서 계산

2-1.RTI

  • RTI 인스턴스 이름 : CONFIG_RTI0
    • 입력 클럭 주파수 : 25MHz (아래 클럭 소스를 선택하면 자동으로 변경된다.)
    • 입력 클럭 소스 : WUCPUCLK

WUCPUCLK란?
블록 다이어그램에 나오지 않는 클럭 소스라 TRM을 찾아봤지만, 정확한 내용은 나오지 않았고..
Wake Up CPU Clock의 약자라는 사실만 알 수 있었음.

RTI_1

2-1.Counter Block

  • Desired Output Frequency : Counter Block의 실제 동작 주기 결정.

2-2.Compare Event

  • Tick Period : RTI Event가 발생되는 주기 설정.
  • 여기서는 1초마다 "rtiEvent0"라는 이름의 Event Callback이 발생하는 것으로 설정됨.

RTI_2

3.실행 결과

1초마다 ritEvent가 실행되어 LED On/Off 상태를 변경해주고, 10초 후 프로그램이 종료됨.

4.결론

  1. SysConfig가 사용자 직관적인 측면에서는 좋았지만, 내부 동작 원리에 대해서 파악하기는 좀 어려운 측면이 있다고 생각된다.
  2. 예제 응용을 통해 Counter / Compare 레지스터에 대해 좀 더 파악해봐야 할 듯 하다.
    • Caputure Event, Free Running 등 아직 제대로 이해하지 못한 레지스터가 많음.