본문 바로가기

[ST_MICRO]

(264)
STM32H MCU 성능 테스트 - Dhrystone and Whetstone Benchmark MCU 성능 측정을 할수 있는 벤치마크 방법은 여러가지가 있지만 Dhrystone, Whetstone 방식을 많이 사용한다. 각각의 특징은 아래와 같다. Dhrystone - 정수(ALU)연산성능 측정, MIPS 수치로 표기 Whetstone - 부동소수점(FPU)연산성능 측정, MFLOPS 수치로 표기 앞으로 MCU 성능 측증을 Dhrystone and Whetstone Benchmark 로 하면 좋을것 같다. 테스트한 소스코드는 하기 사이트를 참고 해서 한번에 Dhrystone, Whetstone, IIR 성능 지수를 출력하도록 했다. https://github.com/stm32duino/STM32Examples/tree/main/examples/Benchmarking 벤치마크 테스트 결과 mode ..
[STM32G0 SSM] Arduino - Serial1 추가 하기 STM32G031은 2개의 UART를 가지고 있다. UART를 하나 더 추가 해 보자 UART1, UART2 핀맵은 아래와 같이 할당 가능하다. Aruino 폴더에서 소스 파일을 열어 보면 시리얼 클레스를 확인 할 수 있다. \arduino\HardwareSerial.cpp HardwareSerial::HardwareSerial(uint32_t _rx, uint32_t _tx) { init(digitalPinToPinName(_rx), digitalPinToPinName(_tx)); } HardwareSerial::HardwareSerial(PinName _rx, PinName _tx) { init(_rx, _tx); } HardwareSerial::HardwareSerial(void *periphera..
STM32H7 EVM Arduino - TFT LCD ST7789모듈 테스트(TFT_eSPI) STM32H7 Arduino 로 TFTLCD ST7789 모듈을 제어 해 보자 TFT LCD 라이브러리는 FTF_eSPI 를 사용하여 테스트 했다. https://github.com/Bodmer/TFT_eSPI 셋업 방법 Arduino\libraries\TFT_eSPI 폴더에 User_Setup_Select.h 파일에 보드에 따른 설정파일을 지정해 주어야 한다. #ifndef USER_SETUP_LOADED // Lets PlatformIO users define settings in // platformio.ini, see notes in "Tools" folder. // Only ONE line below should be uncommented. Add extra lines and files as n..
[STM32H7 EVM] Arduino SPI 테스트 - MAX31865 PT100 RTD Sensor Test STM32H7 EVM 보드에서 SPI는 SSM-EVM 모듈 인터페이스 커넥터에서 테스트 할 수 있다. Arduino 에서 SPI핀맵은 아래와 같이 할당하였다. // SPI Definitions #define PIN_SPI_SS PE2 #define PIN_SPI_MOSI PB5 #define PIN_SPI_MISO PB4 #define PIN_SPI_SCK PB3 STM32H7의 SPI 클럭 최대 속도는 133Mhz 까지 가능하다고 한다. Arduino에서 STM32H7 SPI 클럭 속도 테스트를 해 보자 void setup() { Serial.begin(115200); Serial.println("STM32H7 SPI test.."); pinMode(PIN_OUT, OUTPUT); digitalWrit..
[STM32H7 EVM] Arduino DAC 출력 테스트 STM327H EVM 보드에는 D34 LED에 DAC1_OUT2(PA5) 가 연결되어 있어 DAC 출력 값을 LED 밝기로 확인 가능하다. Arduino에서 DAC2는 어떻게 출력하지? STM32H7에서 DAC 핀은 PA4, PA5에 할당되어 있다. Arduino 에서 DAC 핀맵 정의는 아래와 같다. //*** DAC *** #ifdef HAL_DAC_MODULE_ENABLED WEAK const PinMap PinMap_DAC[] = { {PA_4, DAC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // DAC1_OUT1 {PA_5, DAC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2,..
[STM32H7 EVM] Arduino I2C - PCF8574, 거리 측정 센서 VL53L01 테스트 [STM32H7 EVM] 보드에는 SSM 모듈 연결용 커넥터가 있고 다양한 형태의 SSM 모듈을 연결해서 인터페이스 테스트가 가능하다. Arduino 에서 I2C는 PB8(SCL), PB9(SDA)에 할당되어 있다. // I2C Definitions #define PIN_WIRE_SDA PB9 #define PIN_WIRE_SCL PB8 I2C 출력 테스트 I2C를 가장간단히 테스트 해볼수 있는 I2C 장치로 PCF8574 SSM 모듈을 사용해서 기본 출력 테스트를 해 보았다. #include #define PCF_8574_ADDR 0x20 void write8(uint8_t Address, uint8_t Value) { Wire.beginTransmission(Address); Wire.write(Va..
[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..
[STM32-64 Ardu] STM32F405 -STM32CubeIDE에서 SPI DMA 속도 테스트 STM32F405 보드의 SPI 전송 테스트를 SPI DMA 와 비교해서 테스트 해보자 먼저 STM32CubeIDE를 이용하여 새로운 프로젝트를 생성하고 SPI 세팅을 한다. SPI DMA를 사용하지 않고 일반 모드로 구동 해 보자 unsigned char buf[10] = {1,2}; /* USER CODE END 0 */ /** * @brief The application entry point. * @retval int */ int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of al..