CCS 용어 A~Z 해설: DSP 개발자를 위한 Code Composer Studio 가이드

CCS 용어 A~Z 해설

같은 소스인데 컴파일 옵션 하나를 바꿨더니 .out 파일이 로드되지 않거나, 링커 에러 메시지의 “unresolved symbol”이 무엇을 뜻하는지 몰라 하루를 쓰는 경우가 있습니다. DSP 개발에서 병목은 코드 문법보다 툴체인 용어의 의미를 모르는 데 있는 경우가 많습니다.

이 글은 Code Composer Studio에서 자주 마주치는 용어를 빌드, 링크, 디버깅 흐름 순서로 정리하고 ABI 선택에 따른 차이를 비교합니다.

CCS란 무엇인가?

CCS는 프로젝트 생성, 코드 편집, 컴파일·링크(빌드), 디버깅, 성능 분석 도구를 하나로 묶은 IDE입니다. Eclipse 계열 기반이라 확장성과 호환성이 좋고, TI 디바이스용 코드 생성 도구(컴파일러/링커/어셈블러)와 긴밀히 통합되어 있습니다.

“Code Composer Studio는 TI의 마이크로컨트롤러와 임베디드 프로세서 제품군을 지원하는 통합 개발 환경(IDE)이다.”
— TI Code Composer Studio 제품 소개 (요약 인용)

CCS 용어 A~Z: 빌드·링크·디버깅 필수 용어

읽기 가이드
초보자 관점에서는 “이 용어가 실제로 어디에서 보이는가?”에 집중하세요(메뉴/창/파일 확장자). 숙련자 관점에서는 “컴파일러 옵션·메모리 배치·디버그 자동화와 어떤 상관이 있는가?”를 체크하세요.

A

  • ABI (Application Binary Interface): 함수 호출 규약, 데이터형 크기/정렬, 심볼 링크 방식을 정의. 의의: 동일 ABI를 써야 빌드 호환성이 보장됩니다.

B

  • Breakpoint: 특정 지점에서 실행 중단. 변수·레지스터를 실시간 확인 가능.
  • Build: 소스 코드 → 오브젝트 → 실행 파일(.out/.elf) 생성 과정.

C

  • Compiler: TI 코드 생성기. 루프 파이프라이닝, 최적화 옵션(-O2/-O3) 등 DSP 성능에 직결.
  • COFF (Common Object File Format): TI 툴체인의 구형 오브젝트/실행 파일 포맷.

D

  • Debug Probe: JTAG/SWD 기반 PC↔타겟 디버깅 인터페이스.
  • Disassembly View: 어셈블리 코드와 소스 코드를 함께 보여주는 디버그 뷰.

E

  • EABI (ELF-based ABI): ELF 포맷 기반의 현행 ABI. 타사 툴과 호환성 우수.
  • Emulator: 과거 TI에서 디버그 프로브를 지칭하던 용어.

F

  • Flash Programmer: 온보드 플래시에 바이너리를 프로그래밍하는 도구.

G

  • GEL (General Extension Language): 초기화 및 레지스터 설정을 자동화하는 스크립트 언어.
  • Graph Tool: 배열 데이터를 파형·스펙트럼 등으로 시각화.

H

  • Host/Target: 개발 PC(Host)와 실행 디바이스(Target)의 구분.

I

  • IDE (Integrated Development Environment): 코드 편집·빌드·디버그 통합 환경, CCS 자체를 의미.

J

  • JTAG / SWD: 디버깅 및 플래시 프로그래밍 인터페이스.

K

  • Kernel (SYS/BIOS, TI-RTOS): 태스크 스케줄링, 실시간 분석을 지원하는 TI의 RTOS 커널.

L

  • Linker Command File (.cmd): 코드·데이터 섹션을 물리 메모리(FLASH/RAM)에 매핑.

M

  • Memory Map: 칩의 주소 공간에 따라 코드·데이터를 배치하는 지도.

N

  • Non-intrusive Profiling: 실행을 방해하지 않고 성능 측정을 지원.

O

  • Optimization: 컴파일러 최적화 단계, pragma, 루프 변환 등을 포함.

P

  • Project Build Configuration: Debug/Release 등 빌드 옵션 세트.

Q

  • Q-format: 고정소수점 수 표현 방식. FPU 없는 DSP에서 사용.

R

  • RTSC / XDCtools: RTOS 구성 자동화 도구.
  • Runtime Support Library: 컴파일러 제공 표준 라이브러리.

S

  • Symbols: 함수·변수 심볼 테이블. 디버깅에 활용.
  • Stack/Heap: 함수 호출 스택과 동적 메모리 힙.

T

  • Target Configuration (.ccxml): 칩/보드/디버그 프로브 설정 파일.

U

  • Unified Project Structure: 코드·링커 스크립트·보드 설정을 일관된 구조로 관리.

V

  • Visualization (Graph/Memory/Registers): CCS가 제공하는 다양한 데이터 뷰.

W

  • Watch Window: 변수·표현식을 실시간 모니터링 및 수정.

X

  • XDS Debug Probes: TI의 디버그 프로브(XDS110/200/560 등).

Y

  • Yield(): RTOS 태스크가 자발적으로 CPU를 양보하는 호출.

Z

  • Zero Overhead Loop: 루프 제어 오버헤드가 거의 없는 구조. DSP 최적화의 핵심.

COFF vs EABI(ELF) 간단 비교

# C2000 컴파일러 호출 예시 (옵션은 디바이스와 CGT 버전에 맞게 조정)
cl2000 -v28 -ml -mt --abi=eabi --float_support=fpu32 -O2 -c main.c

# 링크: 링커 커맨드 파일(.cmd)로 메모리 배치 지정
cl2000 -z -m app.map --stack_size=0x200 main.obj device.cmd -o app.out

컴파일 단계는 C 소스를 목적 파일(.obj)로 바꾸고, 링크 단계는 .cmd 파일의 MEMORY와 SECTIONS 정의에 따라 코드와 데이터를 실제 주소에 배치해 실행 파일(.out)을 만듭니다. –abi 옵션은 목적 파일의 형식과 호출 규약을 결정하므로 라이브러리와 같은 ABI로 맞추지 않으면 링크 단계에서 호환 오류가 납니다. 링크 후 생성되는 .map 파일에서 섹션이 어느 메모리에 놓였는지 확인하는 것이 디버깅의 시작입니다.

항목COFF ABIEABI (ELF 기반)비고
역사/지위구형현행 권장신규 프로젝트는 EABI 선호
호환성TI 커스텀 중심ELF 생태계 이점툴 연계성 유리
혼용 가능성프로젝트 내 혼용 금지ABI 전환 시 전 구성요소 재빌드

디버깅 뷰와 그래프 시각화 활용 팁

CCS의 강점 중 하나는 다양한 시각화 도구입니다. Breakpoints, Watch/Memory, Graph Tool을 적절히 조합하면 실시간 DSP 알고리즘 검증이 훨씬 수월해집니다.

  1. Breakpoints: 조건부·히트카운트 브레이크포인트로 원하는 이벤트만 추적.
  2. Watch/Memory: Q-format 변수는 스케일링 정보를 함께 기록.
  3. Graph Tool: 시간/주파수 영역 분석으로 필터·제어 응답 검증.

CCS 용어 관련 심화 질문

Q. CCS 버전과 컴파일러 버전은 따로 업데이트해도 되나요?

컴파일러(CGT)는 CCS와 별도 패키지로 설치되어 여러 버전을 공존시킬 수 있습니다. 프로젝트 속성에서 컴파일러 버전을 고정해 두면 팀 간 빌드 결과가 어긋나는 일을 막을 수 있습니다.

Q. CCS가 메모리를 많이 쓰는데 줄일 수 있나요?

CCS는 Eclipse 기반이라 힙 크기가 ccstudio.ini의 -Xmx 값으로 정해집니다. 큰 프로젝트에서는 이 값을 올리고, 쓰지 않는 프로젝트는 닫아 두면 체감 속도가 개선됩니다.

Q. CCS는 무료로 쓸 수 있나요?

TI는 CCS를 TI 디바이스용으로 무료 제공하는 것으로 알려져 있습니다. 라이선스 조건은 버전에 따라 바뀔 수 있어 다운로드 시점에 TI 공식 페이지를 확인하세요.

Q. 예전 COFF 프로젝트를 EABI로 옮길 때 주의점은 무엇인가요?

라이브러리와 링커 커맨드 파일이 ABI에 맞게 다시 빌드되어야 합니다. 어셈블리 코드가 있다면 호출 규약과 심볼 이름 규칙이 달라지는 부분을 점검해야 합니다.

📌 안내
이 글은 정보 제공을 목적으로 작성되었으며, 실제 기기·환경·정책에 따라 결과가 다를 수 있습니다. 보다 정확하고 최신인 정보는 아래 공신력 있는 기관의 자료를 함께 참고하시기 바랍니다.

Similar Posts