본문 바로가기

MCU속도측정

(42)
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 와 비교 하면 조금..
#SAMD21E-S EVM - Arduino Zero 성능 테스트 ASMD21에 Arduino 를 올렸으니 간단히 성능 테스트를 해 봐야지... GPIO 토글 속도로 수행 속도를 측정해 보았다. 다른 MCU의 Arduino 코드에서 성능 테스트와 비교해 보면 클럭대비 나쁘지는 않은것 같다. 아두이노에서 제공하는 GPIO제어 함수(digitalWrite)로 GPIO 토글 하면 2.3us 정도 측정이 된다. #define PIN_OUT 27 #define Led1Off() PORT->Group[0].OUTCLR.reg = (1
STM32H7 EVM 보드 개발 환경 설정 및 STM32 H7성능 테스트 STM32H7 EVM 보드 개발 환경 설정 및 STM32 H7성능 테스트 STM32CubeMX 를 이용하여 STM32H7 EVM 보드의 동작 테스트를 진행해 보았다.우선 STM32H743 을 선택하고 기본 핀맵 세팅을 해 준다. STM32H7의 클럭은 내부 64Mhz RC로 하고 400Mhz로 구동 할수 있도록 했다. 가장 기본이 되는 포트 제어 레지스터를 토글해 보니 80ns가 측정된다.좀 이상하네.. while (1) { GPIO_TEST_PORT->ODR ^= GPIO_TEST_PIN; } GPIO_TEST_PORT->ODR ^= GPIO_TEST_PIN; 8003d76:4a04 ldrr2, [pc, #16]; (8003d88 ) 8003d78:6953 ldrr3, [r2, #20] 8003d7a:..
#STM32G STM32CubeIDE 를 이용한 개발환경 설정 및 성능 테스트 #STM32G STM32CubeIDE 를 이용한 개발환경 설정 및 성능 테스트 [STM32G031-SSM] 보드를 이용하여 개발 환경 설정 및 STM32G0의 성능 테스트를 해 보았다. 처음에 STM32CubeMx를 이용하여 코드를 생성하려고 진행 했는데.. 설정 다 하고 코드 생성하려는 순간 STM32G 시리즈는 CubeMx에서 지원을 하지 않는다고 한다. 알아보니 STM32CubeIDE를 이용하라고 한다. STM32CubeIDE로 STM32G시리즈 선택해서 새로운 프로젝트를 생성 핀맵 설정CubeMx와 거의 동일하게 동작하는것 같다. STM32CubeIDE 클럭 설정최대 64Mhz까지 설정 가능하다. 기본 설정 완료후 STM32CubeIDE에서 저장 하면 기본 코드가 생성된다. [STM32G031-S..
[SAMD21E-S EVM] ATSAMD21 MCU 성능 측정 - ATSAMD21 48Mhz 클럭 설정 문제 발생 및 해결 [SAMD21E-S EVM] ATSAMD21 MCU 성능 측정 - ATSAMD21 48Mhz 클럭 설정 문제 발생 및 해결 SAMD21은 저렴한 가격에 소형이고 적당한 성능(48Mhz Cortex-M0)에 USB까지 있어 사용할 곳이 많을것 같은 MCU이다.실제 성능을 한번 측정 해 보자. 우선 단순하게 GPIO 토글 속도를 측정해 봐야 할것 같다. // Set pin direction to output gpio_set_pin_direction(PA14, GPIO_DIRECTION_OUT); gpio_set_pin_function(PA14, GPIO_PIN_FUNCTION_OFF); /* Replace with your application code */ while (1) { delay_ms(1); PO..
[STM32F7 EVM] STM32F767 성능 테스트 - CubeMX 개발환경 설정 STM32F7 CubeMX 개발환경 설정 CubeMX 실행하고 STM32F767VI 칩을 선택한다. 기본 동작 확인을 위해 GPIO, MCO, UART를 설정한다. 클럭은 내부클럭으로 하고 PLL셋팅을 해서 STM32F7의 최대 클럭인 216Mhz로 설정한다. MOC1(PA8) 핀으로 CPU의 클럭를 측정 할 수 있다. STM32F7 동작 속도 확인 CubeMX 가 생성하는 가장 기본 코드에서 클럭 출력하는 코드 추가 해서 클럭을 확인 해보 면 SysClk = HAL_RCC_GetSysClockFreq(); HClk = HAL_RCC_GetHCLKFreq(); PClk1 = HAL_RCC_GetPCLK1Freq(); PClk2 = HAL_RCC_GetPCLK2Freq(); printf("SysClk (S..
ESP8266 성능 테스트 ESP8266 성능 테스트 GPIO 토글 해서 ESP8266의 대략 적인 CPU성능을 측정해 보았다. 우선 아두이노 GPIO 제어 함수를 사용하여 GPIO 토글 테스트 하니 980ns(1uS) 걸린다.역시 느리군.. #define PIN_OUT 15 void setup() { pinMode(PIN_OUT, OUTPUT);} void loop() { digitalWrite(PIN_OUT, 1); digitalWrite(PIN_OUT, 0); delay(1);} 속도를 좀더 높이기 위해 ESP8266의 GPIO를 직접 제어 하는 방법을 써보자110ns 로 측정된다. (80Mhz로 구동시) void loop() { //digitalWrite(PIN_OUT, 1);// digitalWrite(PIN_OUT, 0..
STM32F0 성능 테스트 - STM32CubeMX HAL Code STM32F0 성능 테스트 - STM32CubeMX HAL Code STM32F0는 Cortex-M0코어 1$이하의 저렴한 MCU로 가격에 민감한 제품에 사용하기 좋은 제품이다.GPIO On/Off 주기를 측정해 MCU 성능 체크 해 보고 있는데 [STM32F0-SS EVM] 보드를 이용해서 테스트 해 보았다. [참고]STM32 MCU 성능 측정 테스트 우선 최대 클럭 48Mh로 설정하고 STM32CubeMX 기본 초기화 코드 생성하고 PB1 을 토글했다. static void MX_GPIO_Init(void){ GPIO_InitTypeDef GPIO_InitStruct; /* GPIO Ports Clock Enable */ __HAL_RCC_GPIOB_CLK_ENABLE(); __HAL_RCC_GPIO..