본문 바로가기

ArduinoSpeed

(11)
ESP32-C3 SSM EVM - 성능 측정 ESP32-C3는 기존 ESP32 시리즈(240Mhz)와 달리 160Mhz 32-bit RISC-V core 를 탑제하고 있다. 성능보다는 가격과 소비전력에 장점을 두고 있지 않을까.. 아무튼 기존 ESP32 Arduino 코드의 성능과 비교해서 ESP32-C3 의 성능 테스트를 해 두면 좋을것 같다. 우선 CPU Frequency를 160Mhz 로 설정해서 GPIO 코글 테스트를 해 보자 Arduino에서 제공하는 GPIO 제어 함수로 테스트 해 보면 #define LED_PIN1 3 void setup() { pinMode(LED_PIN1, OUTPUT); } void loop() { digitalWrite(3, 0); digitalWrite(3, 1); } 2.3us로 상당히 느리다. ESP32-C..
RP2040 SSM EVM - Arduino 성능 테스트 기본 동작은 확인 되었으니 Arduin IDE 개발 환경에서 STM32F4의 성능 테스트를 진행 해 보자. Arduino에서 제공한 GPIO 함수를 이용하여 토글해 보면 700ns 정도 측정된다. 루프 수행 속도는 560ns 정도 된다. 역시 느리다. void setup() { pinMode(LED_BUILTIN, OUTPUT); } void loop() { digitalWrite(LED_BUILTIN, HIGH); digitalWrite(LED_BUILTIN, LOW); } Raspberry Pi Pico SDK 에서 제공하는 gpio_put() 함수를 사용해 보자 https://raspberrypi.github.io/pico-sdk-doxygen/group__hardware__gpio.html Ras..
[nRF52 xBee EVM] ARDUINO 성능 측정 nRF52를 이용하여 Arduino에서 제공하는 digitalWrite()함수를 이용해서 GPIO 제어 속도를 측정 해 보았다. 600ns정도로 측정된다. 역시 많이 느리군... #define LED_PIN1 17 void setup() { Serial.begin(115200); pinMode(LED_PIN1, OUTPUT); } void loop() { digitalWrite(LED_PIN1, 1); digitalWrite(LED_PIN1, 0); } GPIO 직접 제어 하면 더 빠른데 직접 제어 함수가 어디에 정의 되어 있을까? digitalWrite() 함수를 보면 아래와 같이 제어 하고 있다. void digitalWrite( uint32_t ulPin, uint32_t ulVal ) { if (..
[STM32H7 EVM] STM32H7 Arduino 만들기 - Arduino 성능 측정 STM32 시리즈중 최고의 성능을 구현할 수 있는 STM32H7을 아두이노로 만들면 어떨까? 아두이노의 장점은 다양한 라리브러리를 쉽게 적용하여 사용 할수 있어서 성능과 편리함을 동시에 만족 할 수 있지 않을까... 우선 Arduino IDE환경에서 STM32 환경 설정이 되어 있지 않다면 보드 링크를 추가 하고 https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json STM32H7 EVM 보드를 Arduino로 만들기 위해 Arduino 보드메이저에 "Gereic STM32H7 Series" 타입으로 등록 했다. board.txt 파일을 수정해서 보드 메니저에 등록 # ELAB_H7_EV b..
STM32F7 - Arduino 만들기 (STM32F732 Arduino 성능 테스트) STM32F7 Arduino 보드를 Arduino IDE에서 개발하기 위해 보드파일을 등록 해야 하는데... Arduino 보드메이저에 Gereic 타입이 없다. 그냥 Nucleo_64 에다 등록을 해야 겠다 board.txt 파일을 수정해서 보드 메니저에 등록 # ELAB_F7_ARDUINO board # Support: Serial1 (USART2 on PA2, PA3) Nucleo_64.menu.pnum.ELAB_F7_ARDUINO=ELAB_F7_ARDUINO Nucleo_64.menu.pnum.ELAB_F7_ARDUINO.node=ELAB_F7_ARDUINO Nucleo_64.menu.pnum.ELAB_F7_ARDUINO.upload.maximum_size=524288 Nucleo_64.menu...
STM32F4 Arduino 만들기 - STM32F4 Arduino 성능 테스트 STM32F4 Arduino Board 를 이용하여 ARDUINO IDE 개발 환경에서 테스트를 진행 해 보았다. 우선 Arduino IDE환경에서 STM32 환경 설정이 되어 있지 않다면 보드 링크를 추가 하고 http://dan.drown.org/stm32duino/package_STM32duino_index.json STM32 개발환경을 설치 해 준다. Arduino IDE의 보드 메니저에서 "Generic STM32F4 series" 를 선택하고 새로 만든보드에 맞는 환경설정을 해 주고 새로 생성한 보드파일인 ELAB STM32F405로 선택 한다. 기본 동작은 확인 되었으니 Arduin IDE 개발 환경에서 STM32F4의 성능 테스트를 진행 해 보자. Arduino에서 제공한 GPIO 함수를 ..
ESP32 Arduino 성능측정 ESP32를 이용하여 Arduino에서 CPU 성능을 테스트 해 보았다. 역시 많이 느리군... 우선 Arduino 에서 제공하는 GPIO 제어 함수를 이용해 보면 112ns(3.2Mhz) 로 출력 된다. #define PIN_OUT 5 void setup() { pinMode(PIN_OUT, OUTPUT); } // the loop function runs over and over again forever void loop() { //delay(1); digitalWrite(PIN_OUT, 1); digitalWrite(PIN_OUT, 0); } ESP32의 GPIO 제어 레지스터에 직접 출력하면 62ns 정도로 출력된다. ESP8266이용한 Arduino 성능 측정 실험의 75ns 와 비교 하면 조금..
#STM32G-SSM EVM - Arduino 성능 테스트 STM32G0를 이용한 Arduino 만들기로 STM32G0가 Arduino 개발 환경에서 동작하므로 이제 Arduino에서 간단한 성능 테스트를 해 보자 Arduino에서 기본 제공하는 GPIO제어 함수로 토글 해보았다. #define PIN_OUT 12 void setup() { pinMode(PIN_OUT, OUTPUT); } void loop() { digitalWrite(PIN_OUT, HIGH); // turn the LED on (HIGH is the voltage level) digitalWrite(PIN_OUT, LOW); // turn the LED off by making the voltage LOW } 920ns (300khz) 정도 출력된다. 루프지연 시간도 2.6us 로 상당히 ..

반응형