본문 바로가기

분류 전체보기

(1991)
ESP32S3 Dhrystone, Whetstone, IIR Benchmark 성능 테스트 MCU 성능 측정을 할수 있는 벤치마크 방법은 여러가지가 있지만 Dhrystone, Whetstone 방식을 많이 사용한다. 각각의 특징은 아래와 같다. Dhrystone - 정수(ALU)연산성능 측정, MIPS 수치로 표기 Whetstone - 부동소수점(FPU)연산성능 측정, MFLOPS 수치로 표기 테스트 코드는 STM32H MCU Dhrystone, Whetstone, IIR Benchmark 성능 테스트 를 이용하였다. 벤치마크 테스트결과 ESP32 벤치마크 테스트 와 비슷한 수준이고 ESM32S2 벤치마크 테스트 결과 보다는 좋아진것 같다. 듀얼코어라 빨러졌나? 이부분은 좀더 확인이 필요 할것 같다. mode = ESP32 Dhrystone Benchmark, Version 2.1 (Langu..
[ESP32S3-SM] GPIO 성능 테스트 MCU 성능 측정에 있어 GPIO 토글 속도를 측정하는 이유는 FTFLCD 제어 속도 테스트와 같은 GPIO로 제어 하는 주변 장치를 사용할 때 주요 성능 지표가 되기 때문이다. Arduino에서 제공하는 GPIO 제어 함수로 GPIO 토글 속도를 측정해 보자 const int LED1_PIN = 18; void setup() { pinMode(LED1_PIN, OUTPUT); Serial.begin(115200); Serial.println("ESP32-S3 GPIO Test"); } void loop() { digitalWrite(LED1_PIN, 0); digitalWrite(LED1_PIN, 1); } GPIO On/Off 주기는 380ns로 측정이되며 메인루프 수행 시간은 ESP32S2 GPIO..
[ESP32S3-SM] ESP32S3 개발환경 설정 (Arduino 만들기) ESP32S3 개발환경은 여러가지가 있지만 간단하고 많이 쓰이는 ArduinoIDE에서 세팅을 해 보자 우선 최신 ESP32 Aduino Boards Meanager URL 을 설정한다. https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json Board Manager 에서 "ESP32S3 Dev Module"을 선택한다. 기본 예제로 ESP32S3 SM 보드에 실장되어 있는 LED를 제어 해 보자. #define LED_PIN1 18 void setup() { Serial.begin(115200); pinMode(LED_PIN1, OUTPUT); } void loop() { digitalW..
[ESP32S3-SM] ESP32S3 테스트 보드 제작 ESP32-S2 는 WiFi 및 USB 기능이 있어 PC인터페이스 시스템에서 유용한데 BLE 기능이 없다. 이번에 새롭게 출시된 ESP32-S3는 S2기능에 BLE까지 추가되었다. ESP32S2와 핀수는 같지만 핀맵이 조금 변경되어 같은 PCB에 호환해서 사용할수 없어 아쉬운점이 있다. 그래서 ESP32S3를 테스트 하기 위한 보드로 표준 핀맵인 SM-Type 핀맵으로 만들었다. ESP32에 비교해서 성능은 낮아 졌지만 저렴한 가격에 BLE기능도 포함되어 있고 USB도 포함되어 USB 기능이 필요한 어플리케이션에 적용해 보면 좋을것 같다. ESP32S2와 차이점은 ESP 칩 비교 사이트(https://products.espressif.com/#/product-comparison) 에서 확인 가능하다.
[RP2040 SSM] TFT LCD (COM26T2844) 테스트 EXP_4030_LCD_HDMI 확장 보드를 이용하면 12핀 SSM-Type EVM에서 TFT LCD보드 제어를 할 수 있다. 표준 핀맵의 확장 핀맵은 아래와 같이 구성 하였다. 소스코드는 https://github.com/adafruit/TFTLCD-Library 를 참고 수정해서 사용 했다. 초기화 부분과 데이터 출력 부분은 아래와 같이 수정 했다. #define Led1Off()sbi(0, BIT13) #define Led1On()cbi(0, BIT13) #define LCD_XLINE_SIZE240 #define LCD_YLINE_SIZE400 #define PORTA(sio_hw->gpio_out) #define GPIO0 0 #define GPIO1 1 #define LCD_LAT_BIT27 ..
[RP2040_W5500] Webserver 테스트 지난 포스트에서 Ethernet_Generic 라이브러리를 이용해서 이더넷 전송 속도 개선을 했고 이제 웹서버를 구현 해 보자 웹서버의 가장 기본이 되는 뼈대 코드를 작성해보자. 새로운 라이브러리로 ESP32에서 테스트 했던 기본 웹서버 코드와 거의 동일한 코드로 작성할 수 있다. #include "config.h" #include #include "Ethernet_Generic.h" #include #define ETHERNET_USE_RPIPICO true byte mac[] ={ 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0x01 }; EthernetWebServer server(80); const int Led1Pin = 25; // HTML 페이지 const char index_htm..
[RP2040_W5500] Arduino IDE에서 Iperf TCP Throughput 측정 테스트 (Ethernet_Generic 라이브러리 수정) RP2040 C++ SDK 환경에서 iperf 전송율 테스트 결과 전송 속도는 잘 나오지만 웹서버를 위한 라리브러리가 불편한점이 많다. [RP2040_W5500] RP2040 C++ SDK 환경에서 iperf 를 이용한 W5500 TCP 전송률 테스트 . Arduino IDE 환경에서 TCP전송률 테스트 결과 12Mbps 정도로 측정이 되서 다른 MCU들의 iperf 테스트 결과와 비교해 느린것 같아 SDK 환경에서 테스트 해볼 필요가 있을것 같다. RP2040 C/C++ SDK 개발환경 예 nexp.tistory.com 웹서버 라이브러리 (https://github.com/khoih-prog/EthernetWebServer)는 쉽고 간단하게 사용할 수 있어 편리 하지만 이더넷 전송 속도가 느리다. 그래..
GD32F130 SSM - UART 2채널 테스트 GD32F130은 2개의 UART를 제공한다. SM-Type EVM 핀맵의 UART는 PA2(TXD1), PA3(RXD1)에 할당이 되어 있고 보드내의 UART 커넥터에는 PA9(TXD0), PA10(RXD0) 에 연결되어 있다. 만약 두개의 시리얼을 동시에 사용하려면 GD32130의 variant 파일을 수정해 주어야 한다. \AppData\Local\Arduino15\packages\GD32Community\hardware\gd32\0.0.1\variants\GD32F130F8_GENERIC\variant.h #define USE_USART0_SERIAL #define USE_USART1_SERIAL #define SERIAL0_RX PA10 #define SERIAL0_TX PA9 #define P..