본문 바로가기

[DSP]/PICCOLO

[TMS320F28069 EVM] GPIO토글 속토 측정

[TMS320F28069 EVM] GPIO토글 속토 측정



TMS320F28069 는 최대 클럭 80Mhz까지 가능하다. GPIO Toggle 속도를 측정해 보았다.

void main(void)
{
 //DSP System Initialize
 SystemInit();

 //LED Initialize
 Led1Init();
 Led1On();

 while(1)
 {
  GpioDataRegs.GPBTOGGLE.all = BIT34;
 }
}


메모리로 제어하기
아래 코드와 같이 비트 단위로 쉽게 제어 하기 위해 메모리로 제어하면  5Mhz정도가 정도가 나온다.
GpioDataRegs.GPBTOGGLE.bit.GPIO34 = 1;





레지스터로 제어하기
8Mhz정도가 나오는데... 메모리 제어 처럼 보이지만 결국 레지스터 주소를 사용하므로 레지스터만 사용한다.



컴파일러에서 옵티마이즈 해 줄것으로 예상했지만 옵션을 바꿔봐도 메모리 제어, 레지스터 제어 결과가 다르게 나온다.
프로그램작성은 편할지 몰라도 그만큼 속도의 희생이 필요한것 같다.

앞으로 GPIO제어에는 레지스터 접근방법을 사용해야 겠다.
#define Led1Off()      GpioDataRegs.GPBSET.bit.GPIO34 = 1;
#define Led1On()      GpioDataRegs.GPBCLEAR.bit.GPIO34 = 1;

[참고] MCU속도 측정 결과 
반응형