본문 바로가기

MCU속도측정

(65)
STM32WB55 - Arduino Dhrystone, Whetstone, IIR Benchmark 성능 테스트 STM32WB55도 Arduino 환경에서 개발 가능하다. Board 파일을 "Generic STM32 Series" 로 선택해서 원하는 칩으로 환경설정 할 수 있다. 테스트 코드는 STM32H MCU Dhrystone, Whetstone, IIR Benchmark 성능 테스트 를 이용하였다. 벤치마크 테스트 결과 상당히 낮은 수치가 나온다. 저전력을 위해 32Mhz로 구동하고 있지만 Cortex-M4코어에서 너무 낮은 수치가 나오는데... mode = Arduino Dhrystone Benchmark, Version 2.1 (Language: C) Execution starts, 300000 runs through Dhrystone Execution ends : 26.643 Seconds Microse..
STM32F7 SSM EVM - Dhrystone, Whetstone 벤치마크 테스트 SSM Type 형태의 보드중에서 가장 성능이 뛰어난 STM32F7 SSM 보드는 Cortex-M7 코어 MCU이다. MCU의 성능 측정을 위해 밴치마크 테스트를 해 보았다. MCU 성능 측정을 할수 있는 벤치마크 방법은 여러가지가 있지만 Dhrystone, Whetstone 방식을 많이 사용한다. 각각의 특징은 아래와 같다. Dhrystone - 정수(ALU)연산성능 측정, MIPS 수치로 표기 Whetstone - 부동소수점(FPU)연산성능 측정, MFLOPS 수치로 표기 테스트 코드는 STM32H MCU Dhrystone, Whetstone, IIR Benchmark 성능 테스트 를 이용하였다. 기존 Arduino 형태의 코드로 테스트 하기위해 보드파일을 추가 해서 만들었다. STM32F743 에서..
ESP32-S2 ESP-IDF SDK에서 GPIO 성능 테스트, Arduino IDE 코드와 비교 Arduino에서 제공하는 GPIO 제어 함수로 GPIO 토글 속도를 측정해 보자 #define LED_PIN1 18 void setup() { pinMode(LED_PIN1, OUTPUT); } void loop() { digitalWrite(LED_PIN1, 1); digitalWrite(LED_PIN1, 0); } GPIO On/Off 주기는 337ns로 측정이되며 메인루프 수행 시간은 1.8us로 상당히 느리다. (ns 단위여야 하는데..) ESP32-S2의 레지스터 직접 제어 방식으로 GPIO 토글 속도를 측정해 보자. #define LED_PIN1 18 void setup() { pinMode(LED_PIN1, OUTPUT); } void loop() { //digitalWrite(LED_PI..
ESP32S2 Dhrystone, Whetstone, IIR Benchmark 성능 테스트 MCU 성능 측정을 할수 있는 벤치마크 방법은 여러가지가 있지만 Dhrystone, Whetstone 방식을 많이 사용한다. 각각의 특징은 아래와 같다. Dhrystone - 정수(ALU)연산성능 측정, MIPS 수치로 표기 Whetstone - 부동소수점(FPU)연산성능 측정, MFLOPS 수치로 표기 테스트 코드는 STM32H MCU Dhrystone, Whetstone, IIR Benchmark 성능 테스트 를 이용하였다. 벤치마크 테스트결과 ESP32 벤치마크 테스트 와 비슷한 수준이지만 부동소수점 연산이 많이 좋지 않은것 같다. 코어 성능이 LX6에서 LX7 으로 더 좋아 졌다고 했는데 왜그렇지? 이부분은 좀더 확인이 필요 할것 같다. mode = ESP32 Dhrystone Benchmark,..
[RP2040_W5500] RP2040 C++ SDK 환경에서 GPIO 성능 측정, Arduino 개발환경과 속도 비교 RP2040 Arduino 개발환경에서 GPIO 속도 측정 결과와 비교하기위해 기본 예제 코드에서 GPIO 제어 코드를 이용해서 테스트 해보자 #include #include "pico/stdlib.h" #define LED_PIN2 int main() { gpio_init(LED_PIN); gpio_set_dir(LED_PIN, GPIO_OUT); stdio_init_all(); printf("RP2040 GPIO Speed Test\n"); while (true) { gpio_put(LED_PIN, 1); gpio_put(LED_PIN, 0); } return 0; } GPIO토글 속도는 8.5ns(30Mhz)로 측정된다. Arduino에서처럼 루프 수행 지연없이 구동 되는것을 확인 할 수 있다. 레..
GD32F303 SSM - Dhrystone, Whetstone, IIR Filter 벤치마크 테스트 MCU 성능 측정을 할수 있는 벤치마크 방법은 여러가지가 있지만 Dhrystone, Whetstone 방식을 많이 사용한다. 각각의 특징은 아래와 같다. Dhrystone - 정수(ALU)연산성능 측정, MIPS 수치로 표기 Whetstone - 부동소수점(FPU)연산성능 측정, MFLOPS 수치로 표기 테스트 코드는 STM32H MCU Dhrystone, Whetstone, IIR Benchmark 성능 테스트 를 이용하였다. GD32F303 의 Dhrystone, Whetstone, IIR Filter 벤치마크 테스트 결과 정수 연산은 나쁘지 않은데 부동소수점 연산은 좋지 않다. STM32의 Cortex-M4코어와 비교하면 상당한 성능 차이가 있는것 같다. 하지만 가격 대비 성능으로 비교 한다면 ST..
[GD32-48 SSM] GD32F303 개발환경 설정 및 성능 테스트(STM32CubeIDE 이용) GigaDevice사의 GD32시리즈는 STM32시리즈와 동일 핀맵으로 호환 가능하으로 STM32를 대체해서 사용 할수 있다고 한다. 우선 GD32의 개발환경 설정과 간단한 성능 측정을 해 보자 개발환경은 ST사의 STM32CubeIDE를 이용하면 된다고 한다. 테스트에 사용한 칩은 GD32F303CCT6 이다. 보드 제작하고 STM32CubeProgrammer로 STLink JTAG 접속하면 연결 되는것을 확인 할 수 있다. STM32로 인식된다. STM32CubeIDE 로 48핀 페키지 STM3F103C 로 선택해서 기본 예제를 컴파일했다. 하지만 디버깅하면 칩 인식을 하지 못한다. 칩 ID가 달라서 그런가? 일단 컴파일 된 바이너리를 다운로드 해 보자. 우선 STM32F103 시리즈의 최대 클럭 7..
ESP32-C3 ESP-IDF SDK에서 GPIO 성능 테스트, Arduino IDE 코드와 비교 ESP-IDF SDK 개발 환경에서 ESP32-C3 성능을 테스트해 보자. ESP32 Arduino IDE 개발환경에서 성능 테스트 결과 와 비교해 보면 좋을것 같다. 우선 SDK에서 제공하는 GPIO제어 예제로 테스트 해보자 #define BLINK_GPIO 0 void app_main(void) { gpio_reset_pin(BLINK_GPIO); /* Set the GPIO as a push/pull output */ gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT); while(1) { gpio_set_level(BLINK_GPIO, 1); gpio_set_level(BLINK_GPIO, 0); } } ESP32-C3 GPIO 토글 주기가 280ns(1.7Mh..

반응형