본문 바로가기

[ST_MICRO]

(264)
[STM32-48 SSM EVM] STM32F103 보드 제작 STM32 시리즈중 가장 많이 쓰고 저렴한 48핀 페키지 칩을 테스트 할 수 있는 SSM Type EVM 형태 보드를 최신 형태로 제작해 보았다. 기존에 제작 했던 STM32F071 SSM EVM 보드를 조금 수정해서 새로운 형태로 제작 했다. 간단한 테스트 용으로 가장 많이 사용 할것 같다.
[STM32G0 SSM EVM] Dhrystone, Whetstone, IIR Filter 벤치마크 테스트 MCU 성능 측정을 할수 있는 벤치마크 방법은 여러가지가 있지만 Dhrystone, Whetstone 방식을 많이 사용한다. 각각의 특징은 아래와 같다. Dhrystone - 정수(ALU)연산성능 측정, MIPS 수치로 표기 Whetstone - 부동소수점(FPU)연산성능 측정, MFLOPS 수치로 표기 테스트 코드는 STM32H MCU Dhrystone, Whetstone, IIR Benchmark 성능 테스트 를 이용하였다. STM32G030 의 Dhrystone, Whetstone, IIR Filter 벤치마크 테스트 결과 플래시 메모리 용량 관계로 컴파일 에러가 발생한다. 정수 연산은 나쁘지 않은데 부동소수점 연산은 좋지 않다. STM32의 Cortex-M4코어와 비교하면 상당한 성능 차이가 있는..
[STM32-64 Ardu] STM32F405 - Arduino에서 W5500 iperf 네트웍 전송율 테스트 [STM32-64 Ardu] STM32F405에서 W5500 DHCP 테스트 예제를 이용하여 iperf로 W5500의 네트웍 전송율 테스트를 해 보자 우선 W5500 Arduino 라이브러리 파일에서 클럭 속도를 최대치로 설정 한다. \Arduino\libraries\Ethernet2\src\utility\w5500.cpp SPISettings wiznet_SPI_settings(42000000, MSBFIRST, SPI_MODE0); Arduino 에서 iperf 를 이용한 네트웍 전송율 테스트를 하기 위해 TCP Server를 구현 하면 된다. #include #include #define USE_THIS_SS_PIN PB0 byte mac[] = {0x00, 0x08, 0xDC, 0x00, 0x00..
[STM32-64 Ardu] STM32F405에서 W5500 DHCP 테스트 [STM32-64 Ardu] 보드에서 W5500 EVM 모듈을 연결 할 수 있는 SSM 커넥터의 CS 핀는 PB0에 할당되어 있다. W5500을 제어 하기 위해 Ethernet2 라이브러리를 이용하고 아래 코드로 간단히 DHCP 동작 테스트를 해 볼 수 있다. #include #include #define USE_THIS_SS_PIN PB0 // gateway and subnet are optional: byte mac[] = { 0x00, 0x08, 0xDC, 0x00, 0x00, 0x00 }; void setup() { Serial.begin(115200); Serial.print("Iperf server address : "); Ethernet.w5500_cspin = USE_THIS_SS_PIN;..
[STM32-64 Ardu] STM32F405 Arduino SPI 속도 테스트 [STM32-64 Ardu] 보드에서 STM32F405의 SPI 클럭 속도를 측정해 보자. Arduino 호환 핀맵의 SPI핀은 SPI1에 할당되어 있다. STM32F7의 클럭최대 속도는 168Mhz이고 SPI로 입력되는 APB2클럭은 84Mhz 이다. SPI 최대 클럭는 APB/2 이므로 42Mhz가 최대 설정값이 된다. #define PIN_OUT PB2 #include void setup() { Serial.begin(115200); Serial.println("SPI spee test.."); pinMode(PIN_OUT, OUTPUT); digitalWrite(PIN_OUT, HIGH); SPI.begin(); //SPI.beginTransaction(SPISettings(42000000, MS..
[STM32-64 Ardu] STM32F405 Arduino - GPIO LED, SWITCH 테스트 [STM32-64 Ardu] 보드의 내부 LED 및 스위치로 GPIO를 테스트 할 수 있다. LED는 PB2, PB6에 할당 되어 있다. 스위치는 PA15, PB7에 할당되어 있다. [STM32-64 Ardu] 보드의 GPIO 테스트 Arduino 코드 #define LED_PIN1 PB2 #define LED_PIN2 PB6 #define PIN_SW1 PA15 void setup() { pinMode(LED_PIN1, OUTPUT); pinMode(LED_PIN2, OUTPUT); pinMode(PIN_SW1, INPUT_PULLUP); digitalWrite(LED_PIN1, 1); Serial.begin(115200); } void loop() { if(!digitalRead(PIN_SW1)) {..
[STM32-64 Ardu] STM32F405 Dhrystone, Whetstone 벤치마크 테스트 STM32F405 는 저렴하면서 성능 좋은 MCU로 많이 사용하고 있는데 성능 테스트를 위해 MCU 벤치 마크 테스트를 해 보자. MCU 성능 측정을 할수 있는 벤치마크 방법은 여러가지가 있지만 Dhrystone, Whetstone 방식을 많이 사용한다. 각각의 특징은 아래와 같다. Dhrystone - 정수(ALU)연산성능 측정, MIPS 수치로 표기 Whetstone - 부동소수점(FPU)연산성능 측정, MFLOPS 수치로 표기 테스트 코드는 STM32H MCU Dhrystone, Whetstone, IIR Benchmark 성능 테스트 를 이용하였다. STM32F405 Dhrystone, Whetstone 벤치마크 테스트 결과 특히 FPU성능이 좋아 보인다. mode = Arduino Dhrysto..
[STM32F103-48 SSM EVM] STM32CubeIDE I2C 테스트 - PCF8574 Read/Write [STM32F103-48 SSM EVM] 보드에서 STM32CubeIDE 환경으로 I2C 테스트를 진행 해 보았다. 우선 STM32CubeIDE로 새로운 프로젝트를 생성 한다. 프로젝트 생성은 C++로 했다. C로 해도 되지만 추후 C++ 호환 라이브러리(Arduino용) 를 사용하기 위해서 C++로 하면 좋다. 기본적인 핀 할당 및 I2C 핀을 보드에 맞게 설정 하자 I2C 설정을 위해 파라미터를 수정 한다. 여기서는 I2C Speed 만 400Khz로 수정 해 주었다. 클럭 설정은 외부 8Mhz로 설정 했다. 이렇게 설정이 완료하고 저장 하면 기본 I2C 코드가 생성된다. I2C Write 테스트를 위한 I2C 모듈은 I2C 8bit GPIO 확장 모듈 PFC8574 보드를 사용 할 예정이다. PCF..