[TI]SysConfig

2025. 3. 7. 23:53Embedded/TI

1.개요

초보자가 처음부터 SoC 및 보드 초기화, 레지스터 설정 등을 하기는 어렵다.
TI에서 제공하는 툴을 사용해서 이러한 작업을 하면 좀 더 편하게 진행 가능한데..
HalCoGen과 비슷한 기능을 하는 SysConfig가 그런 툴이다.


2.주요 기능

2-1.초기 설정

GUI를 이용해 Peripheral, Interrupt 설정 가능

2-2.Diff 기능

SysConfig에서 특정 설정을 바꿨을 때 영향을 받는 소스 코드를 GUI를 통해 확인 가능


3.사용 방법

  1. Project Explorer에서 example.syscfg 더블 클릭
    syscfg
  2. 설정 완료 후, 빌드
  3. Debug or Release 폴더에 자동 생성된 config 파일들이 들어감.
    빌드 결과

참고) CCS Build Configuration이 Debug면 자동 생성된 파일 뒤에 Debug/syscfg가 붙고, Release면 Release/syscfg가 붙는다.

  • Debug : 코드 최적화 비활성. 심볼릭 디버깅 정보가 포함되어 변수 값, 함수 호출 스택 등 쉽게 확인 가능
  • Release : 코드 최적화 활성. 실행 속도가 빨라지고, 메모리 사용량 줄어듬.

설정 방법 1
프로젝트 우클릭 - Build Configuration - Set Active에서 선택

설정 방법1

설정 방법 2
CCS 창 상단 망치 모양 몇 화살표 클릭 후 선택

설정 방법2

3-1.SysConfig 자동 생성 비활성화

  1. SysConfig 설정 후 빌드하여 소스 파일 생성
  2. Debug or Release 폴더에 자동 생성된 소스 파일을 프로젝트 폴더에 복사
  3. 빌드에서 .syscfg 파일을 제외하여 자동 생성 비활성화 가능 (.syscfg 파일 우클릭 -> Exclude from Build)
    빌드 제외

4.Memory Configurator Tool

메모리 설정하는 방법
Linker Command file vs Memory Configurator Tool


5.예제

main.c
empty.c
example.syscfg

System_init()
Drivers_open()

  • source/dirvers/lib에 있는 Driver 라이브러리와 링크되어야 한다.
  • Generated source에 위치한 ti_drivers_open_close.h 파일을 의미함.
    Board_drviersOpen()
  • source/board/lib에 있는 Board 라이브러리와 링크되어야 한다.
  • Generated source에 위치한 ti_board_open_close.h 파일을 의미함.

Board_driversClose()
Drivers_close()
System_deinit()


6.궁금증

SysConfig 설정을 바꾼 다음 다시 빌드하면, 소스 코드가 꼬이는 위험성이 있진 않을까?

링크의 2-2, 2-5항에서 위 궁금증에 대해 간단히 테스트 해봤다..!
말 그대로 간단히 테스트한 결과라서 소스 코드가 꼬이진 않았음


참고문헌

TI Resource Explorer
Arm-based microcontrollers - Training - AM26x Academy - SDK Fundamentals 하위의 문서들

'Embedded > TI' 카테고리의 다른 글

[TI][AM263x]GPIO LED BLINK 응용하기 (2)  (0) 2025.03.18
[TI][AM263x]GPIO LED BLINK 응용하기 (1)  (0) 2025.03.17
[TI]용어 정리  (0) 2025.03.05
[TI][AM263x]GPIO LED BLINK 예제 따라하기  (0) 2025.02.27
[TI][AM263x]공부 계획  (0) 2025.02.26