2025. 3. 7. 23:53ㆍEmbedded/TI
1.개요
초보자가 처음부터 SoC 및 보드 초기화, 레지스터 설정 등을 하기는 어렵다.
TI에서 제공하는 툴을 사용해서 이러한 작업을 하면 좀 더 편하게 진행 가능한데..
HalCoGen과 비슷한 기능을 하는 SysConfig가 그런 툴이다.
2.주요 기능
2-1.초기 설정
GUI를 이용해 Peripheral, Interrupt 설정 가능
2-2.Diff 기능
SysConfig에서 특정 설정을 바꿨을 때 영향을 받는 소스 코드를 GUI를 통해 확인 가능
3.사용 방법
- Project Explorer에서 example.syscfg 더블 클릭
- 설정 완료 후, 빌드
- Debug or Release 폴더에 자동 생성된 config 파일들이 들어감.
참고) CCS Build Configuration이 Debug면 자동 생성된 파일 뒤에 Debug/syscfg가 붙고, Release면 Release/syscfg가 붙는다.
- Debug : 코드 최적화 비활성. 심볼릭 디버깅 정보가 포함되어 변수 값, 함수 호출 스택 등 쉽게 확인 가능
- Release : 코드 최적화 활성. 실행 속도가 빨라지고, 메모리 사용량 줄어듬.
설정 방법 1
프로젝트 우클릭 - Build Configuration - Set Active에서 선택
설정 방법 2
CCS 창 상단 망치 모양 몇 화살표 클릭 후 선택
3-1.SysConfig 자동 생성 비활성화
- SysConfig 설정 후 빌드하여 소스 파일 생성
- Debug or Release 폴더에 자동 생성된 소스 파일을 프로젝트 폴더에 복사
- 빌드에서 .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 |