CCS 버전이 12.x 버전으로 변경됨에 따라 사용하던 11.x 버전 및 관련 SDK를 삭제하고, 새롭게 개발환경 구축을 하면서 그 과정에 대해 기록해본다. C2000WARE SDK 설치 사용할 MCU는 TMS203F2811PBKA로 C2000 계열에 포함됨으로 C2000WARE SDK를 설치한다. 아래 링크로 TI 공홈의 C2000WARE SDK를 설치한다. (23-12 기준 version: 5.01.00.00) ControlSUITE 라는 SDK가 있는데 업데이트지원은 중단되고, C2000WARE로 대체되었기 때문에 필요에 따라 설치를 고려할 수 있다. C2000WARE Software development kit (SDK) | TI.com lock Windows Installer for C2000W..
목차 소프트웨어 개발의 흐름 모든 소프트웨어 개발은 흐름이 비슷하지만 마이컴의 경우에는 다음의 플로우 차트와 같이 개발이 진행된다. TMS320F28x C 컴파일러 TMS32F28X C언어 특징 ANSI/ISO Standard ISO Standard C(ISO/IEC 9899:1990) Kernighan and Ritchie's "The C Programming Language" 모든 라이브러리 함수들은 ISO C 라이브러리 표준에 따름 Output File(COFF) Common Object File Format C코드와 데이터를 메모리 영역에 링크한 파일 소스레벨 디버깅 지원 인터페이스 Edit, Compile, Optimize, Assemble, Link 를 지원하는 통합 개발 환경 개발환경 내에서..
TI 에서 제공하는 ccs 라이브러리 구조 분석 예를 들어 ADC Registers 의 Address 는 DataSheet를 찾아보면 위와 같이 정의 되어 있다. TI 에서 제공하는 라이브러리는 위의 Address 어떻게 참조하여 호출하는 것 일까 ? 그 답은 DSP2833x_Header_nonBIOS.cmd 파일에 있다. DSO2833x_Headers_nonBIOS.cmd 파일에 위와 같이 "MEMORY > PAGE 1:" 위 치에 아래와 같이 ADC Register 주소와 그 Register 크기가 명시되어 있다. 그리고 위와 같이 SECTIONS 부분에서 아래와 같이 AdcRegsFile 네임을 PAGE1의 ADC에서 참조하도록 명시되어 있다. DSO2833x_Headers_nonBIOS.cmd 파..
TR28335 Launch 설정 Target Configuration 에서 "Launch Selected Configuration" 실행한다. Run 탭에서 "Connect Target" 을 실행하여 TR28335와 연결한다. Run 탭에서 "Load > Load Program..." 을 실행하여 Build 된 .out 확장자 파일을 TR28335에 Load 한다. Resume (F8) 을 실행하여 프로그램 실행을 확인다.
Target Configurations 설정 Target Configuration 화면에서 "User Defined > 우클릭 > New Target Configuration > File name TMS320F28335.ccxml 등록" 아래 화면에서 Test Connection 버튼을 통해 TR28335 키트와 연결이 잘되었는지 확인한다. Test Connection 을 통하여 연결시 ERROR 메시지가 없는지 확인한다. Project 설정 Project 탭에서 "New CCS Project" 생성 Target 항목에서 Unknown TMS320C28XX Device 선택 생성된 Project 에서 Properties 를 아래와 같이 설정한다. TR28335 에 관련된 Headers, Common 파일..
초기화 코드 #include "DSP28x_Project.h" static void InitInt(void); Uint16 Loop_status; void main(void) { Loop_status = 0; /* Disable Global Interrupt */ DINT; /* 고속 CLOCK 설정 */ EALLOW; /* HSPCLK = SYSCLKOUT/(HISPCP*2) * HSPCLK = 150MHz/(1*2) = 75MHz */ SysCtrlRegs.HISPCP.bit.HSPCLK = 1; EDIS; /* 시스템 컨트롤 초기화 */ InitSysCtrl(); InitInt(); EINT; /* Enable Global interrupt INTM */ ERTM; /* Enable Global r..