[TMS320F28069 EVM] PICCOLO 시리즈 개발환경 설정 - CCS v3.3
무료버전의 CCS v4.0를 사용하다가 무료 기간도 지나고 해서 다시 CCS v3.3으로 테스트 하려고 한다. 무엇보다도 CCS v4.x는 너무 속도도 느리고 환경설정이 깔끔하지 못해서 아주 불편한것 같다.
물론 새로운 PICCOLO시리즈 부터는 CCS 3.3 버전 예제를 제공하지 않지만 컴파일러 자체는 동일하므로 예전 코드가 그대로 호환되는것 같다. 기존 코드가 CCS 3.x로 많이 작성되어 있으므로 CCS v3.3으로 결정하고 PICCOLO시리즈에서 특별히 설정해 주어야 하는것만 다시 정리해 본다.
일단 디렉토리 구조는 프로젝트 파일 수정할 필요 없도록 예전과 동일한 구조로 만들고 내용만 제공코드로 변경하는것로 했다.
소스코드의 파일명은 F2806x_로 시작하는것으로 변경되었으로 다시 ADD해 준다.
옵션은 크게 변경된것이 없지만 정리차원에서..
..\..\DSP280x_headers\include;..\..\DSP280x_common\include;..\01_drv\;$(Proj_dir)
Code Entry Point는 변경된것 같다.
이제 환경 설정이 끝났다. 빠르고 깔끔하네..
간단히 TMS320F28069 LED제어 코드를 작성해 보자.
LED는 GPIO34, GPIO39에 연결되어 있다. 기존 TMS320F2808과 달리 GPIO가 확장되어 있다.
config.h 파일에 수정할 driver코드
TMS320F28069 LED테스트 예제 소스코드
코드 작성하고 컴파일 하니 잘 동작한다.
무료버전의 CCS v4.0를 사용하다가 무료 기간도 지나고 해서 다시 CCS v3.3으로 테스트 하려고 한다. 무엇보다도 CCS v4.x는 너무 속도도 느리고 환경설정이 깔끔하지 못해서 아주 불편한것 같다.
물론 새로운 PICCOLO시리즈 부터는 CCS 3.3 버전 예제를 제공하지 않지만 컴파일러 자체는 동일하므로 예전 코드가 그대로 호환되는것 같다. 기존 코드가 CCS 3.x로 많이 작성되어 있으므로 CCS v3.3으로 결정하고 PICCOLO시리즈에서 특별히 설정해 주어야 하는것만 다시 정리해 본다.
일단 디렉토리 구조는 프로젝트 파일 수정할 필요 없도록 예전과 동일한 구조로 만들고 내용만 제공코드로 변경하는것로 했다.
소스코드의 파일명은 F2806x_로 시작하는것으로 변경되었으로 다시 ADD해 준다.
옵션은 크게 변경된것이 없지만 정리차원에서..
..\..\DSP280x_headers\include;..\..\DSP280x_common\include;..\01_drv\;$(Proj_dir)
Code Entry Point는 변경된것 같다.
이제 환경 설정이 끝났다. 빠르고 깔끔하네..
간단히 TMS320F28069 LED제어 코드를 작성해 보자.
LED는 GPIO34, GPIO39에 연결되어 있다. 기존 TMS320F2808과 달리 GPIO가 확장되어 있다.
config.h 파일에 수정할 driver코드
//-----------------------------------------------------------------------------
//LED Driver
#define Led1Off() GpioDataRegs.GPBSET.bit.GPIO34 = 1;NOP();
#define Led1On() GpioDataRegs.GPBCLEAR.bit.GPIO34 = 1;NOP();
#define Led1Toggle() GpioDataRegs.GPBTOGGLE.bit.GPIO34 = 1
#define Led1Init() EALLOW;\
GpioCtrlRegs.GPBMUX1.bit.GPIO34 = 0;\
GpioCtrlRegs.GPBDIR.bit.GPIO34 = 1;\
EDIS;
#define Led2Off() GpioDataRegs.GPBSET.bit.GPIO39 = 1;NOP();
#define Led2On() GpioDataRegs.GPBCLEAR.bit.GPIO39 = 1;NOP();
#define Led2Toggle() GpioDataRegs.GPBTOGGLE.bit.GPIO39 = 1
#define Led2Init() EALLOW;\
GpioCtrlRegs.GPBMUX1.bit.GPIO39 = 0;\
GpioCtrlRegs.GPBDIR.bit.GPIO39 = 1;\
EDIS;
//LED Driver
#define Led1Off() GpioDataRegs.GPBSET.bit.GPIO34 = 1;NOP();
#define Led1On() GpioDataRegs.GPBCLEAR.bit.GPIO34 = 1;NOP();
#define Led1Toggle() GpioDataRegs.GPBTOGGLE.bit.GPIO34 = 1
#define Led1Init() EALLOW;\
GpioCtrlRegs.GPBMUX1.bit.GPIO34 = 0;\
GpioCtrlRegs.GPBDIR.bit.GPIO34 = 1;\
EDIS;
#define Led2Off() GpioDataRegs.GPBSET.bit.GPIO39 = 1;NOP();
#define Led2On() GpioDataRegs.GPBCLEAR.bit.GPIO39 = 1;NOP();
#define Led2Toggle() GpioDataRegs.GPBTOGGLE.bit.GPIO39 = 1
#define Led2Init() EALLOW;\
GpioCtrlRegs.GPBMUX1.bit.GPIO39 = 0;\
GpioCtrlRegs.GPBDIR.bit.GPIO39 = 1;\
EDIS;
TMS320F28069 LED테스트 예제 소스코드
#include "system.h"
void main(void)
{
//DSP System Initialize
SystemInit();
//LED Initialize
Led1Init();
Led1On();
Led2Init();
Led2Off();
while(1)
{
Led1Toggle();
Led2Toggle();
Delay(500);
}
}
void main(void)
{
//DSP System Initialize
SystemInit();
//LED Initialize
Led1Init();
Led1On();
Led2Init();
Led2Off();
while(1)
{
Led1Toggle();
Led2Toggle();
Delay(500);
}
}
코드 작성하고 컴파일 하니 잘 동작한다.
반응형