본문 바로가기

MCU속도측정

(65)
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..
[nRF51822 xBee EVM] - Arduino 성능 측정 nRF51822는 16Mhz로 구동되는 Cortex-M0 코어로 Arduino에서 GPIO 제어 속도를 측정해 보았다. 우선 Arduino에서 제공되는 기본 GPIO 제어 함수로 테스트 해 보면.. #define LED_PIN1 13 void setup() { Serial.begin(115200); pinMode(LED_PIN1, OUTPUT); } void loop() { digitalWrite(LED_PIN1, 1); digitalWrite(LED_PIN1, 0); } 1.8us로 상당히 느리다. GPIO를 레지스터로 직접 제어 해보자 GPIO 직접 제어 함수가 어디에 정의 되어 있을까? digitalWrite() 함수를 보면 아래와 같이 제어 하고 있다. void digitalWrite( uint3..
[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..
MSP432 성능 테스트 - GPIO토글 MSP432 성능 테스트 - GPIO토글 MSP432는 Cortex-M4 코어의 최대 48Mhz로 동작하는 저전력 MCU이다. 단순 비교는 의미 없기는 하지만 간단히 GPIO토글 속도로 성능 테스트를 진행 해 보았다. MSP432의 CPU성능 테스트를 위해 TI에서 제공하는 기본 MSP432 GPIO 토글 예제를 구동해 보았다. MAP_GPIO_toggleOutputOnPin(GPIO_PORT_P7, GPIO_PIN6); GPIO토글 속도는 16khz로 측정 된다.너무 느리다.MSP432 클럭 설정을 좀 들여다 볼 필요가 있을것 같다. MSP432는 10kHz ~ 48Mhz로 구동 가능하고 2개의 외부 클럭과, 5개의 내부 클럭 소스로 구성된다. MSP432의 클럭 소스LFXTCLK외부 클럭 Low-fr..

반응형