본문 바로가기

Cortex-M/GigaDevice

[GD32-48 SSM] GD32F303 개발환경 설정 및 성능 테스트(STM32CubeIDE 이용)

GigaDevice사의 GD32시리즈는 STM32시리즈와 동일 핀맵으로 호환 가능하으로 STM32를 대체해서 사용 할수 있다고 한다.
우선 GD32의 개발환경 설정과 간단한 성능 측정을 해 보자
개발환경은 ST사의 STM32CubeIDE를 이용하면 된다고 한다.
테스트에 사용한 칩은 GD32F303CCT6 이다. 보드 제작하고 STM32CubeProgrammer로 STLink JTAG 접속하면 연결 되는것을 확인 할 수 있다.
STM32로 인식된다.
 
STM32CubeIDE 로 48핀 페키지 STM3F103C 로 선택해서 기본 예제를 컴파일했다.
하지만 디버깅하면 칩 인식을 하지 못한다. 칩 ID가 달라서 그런가?

 

일단 컴파일 된 바이너리를 다운로드 해 보자.

 

우선 STM32F103 시리즈의 최대 클럭 72Mhz로 구동해서 테스트 해보자.
GPIO 토글 속도를 측정해 보면 아래와 같다. 

결론적으로는 STM32F103 시리즈의 GPIO 토글 속도와 동일하다.

72Mhz  GPIO 토글 속도 97ns

 

 

72Mhz  GPIO 토글 속도 28ns(구동시 옵티마이즈 사용)

 
 

동일한 코드와 동일한 클럭속도로 구동시 동일하게 동작 한다는 것을 확인 했으니 GD32의 장점인 120Mhz로 구동해 보자.

STM32CubeIDE에서 PLL설정을 120Mhz로 설정해 보자

 
120Mhz로 구동되는 것을 확인하기 위해 MCO핀을 활성화 해서 측정해보면1/2 PCLK가 60Mhz로 측정되는것을 확인 할 수 있다.

 

MCO핀 출력 주파수 60Mhz

 

210Mhz로 GPIO 토글 해 보면 15ns로 거의 두배로 빨라진 것을 확인 할 수 있다.

120Mhz 구동시 GPIO 토글 속도 15ns

 

그렇다면 GD32F3 시리즈의 장점인 Cortex-M4의 성능을 테스트 해 보자.

STM32F3 시리즈가 Cortex-M4 이므로 적당한 칩셋을 선택해서 컴파일 해 보면 정상 동작 하지 않는다.

CubeIDE에서 GD32F303 Cortex-M4는 지원하지 않는것 같다.

 

GD32 전용 개발환경을 확인해 봐야 할것 같다.

GD32F303 벤치마크 테스트 결과STM32F103 벤치마크 결과를 비교해 보면 좋을것 같다.

반응형