본문 바로가기

STM32H7

(30)
[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..
STM32H7 SPI - W5500 TCP/IP 전송속도 테스트 에러 문제 해결 STM32F7 evm 보드에서 테스트 했던 W5500 소스코드를 이용하여 STM32H7 보드에서 테스트 중인데 컴파일 에러가 발생한다. STM32F7 에서 W5500제어 테스트 에서 사용 했던 코드와 동일한데 왜 에러가 발생할까? #문제발생 에러코드 설명 자원 경로 위치 유형 expected identifier or '(' before numeric constant w5500.h /ex24_spi_w5500/Src 행 70 C/C++ Problem F7 코드에서는 문제가 없었는데... 에러를 찾아 가 보니 헤더파일의 선언 순서가 문제가 된다. 같은 컴파일러 인데 왜 문지가 되지? #문제해결 w5500.c #include "w5500.h" #include "config.h" #include "config...
STM32H7 EXTI 외부 인터럽트 테스트 STM32H7 EVM 보드에는 6개의 입력 스위치가 있고 5개의 외부 인터럽트를 테스트 할 수 있다. STM32CubeMx 를 이용하여 HAL 코드를 생성한다. 우선 핀맵에서 스위치가 연결되어 있는 포트 PC13을 GPIO_EXTI13 으로 설정한다. STM32CubeMx의 GPIO 탭에서 PC13을 풀업 설정을 해준다. 인터럽트를 설정하기 위해 EXTI line [15:10] interrupts 를 체크 한다. STM32CubeMx 에서 생성된 코드를 보면 GPIO초기화와, 인터럽트 초기화 코드가 생성된 것을 확인할 수 있다. static void MX_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct = {0}; /* GPIO Ports Clock Enable..
STMH7 EVM - USB Mass Storage Host Mode 테스트 STMH7 EVM - USB Mass Storage Host Mode 테스트 STM32H7 EVM 보드에는 USB Host 및 Device를 테스트 할 수 있는 커넥터가 있다. CubeMX로 USB HOST 모드 설정 USB_HOST 모드설정을 Mass Storage Host Class 로 설정한다.VBUS 파워 공급을 GPIO로 설정 할 수도 있지만 이번에는 그냥 하드웨어 적으로 Host Mode 고정으로 전원을 강제로 공급하도록 했다. CubeMX에서 FATFS 설정은 USB Disk로 설정한다. 이렇게 CubeMX 설정으로 마무리 하여 코드를 생성하면 대부분 자동으로 생성이 된다.생성된 코드에서 수정 할 부분을 usb_host.c 파일의 USBH_UserProcess() 함수에 추가하면 된다. ma..
STM32H7 CubeMx SD Card Test STM32H7 CubeMx SD Card Test [STM32H7 EVM] 보드에는 4bit SD 인터페이스가 있어 SD카드 FAT 연결 테스트를 Stm32CubeMx를 이용하여 해 보았다. 우선 SD카드는 하드웨어 적으로 STM32H7의 디폴트 SDMMC1에 연결되어 있다. STM32H7 EVM보드는에 아래면에 SD소켓이 장착되어 있다. STM32CubeMx 를 이용하여 SDMMC1을 SD 4bit 모드로 선택한다. Middleware 탭의 FATFS에서 Mode를 SD Card로 선택 한다. 이렇게 해서 기본으로 코드 생성하면 아래와 같은 코드가 생성 되는데... 주의 해야 할 사항은 bsp_driver_sd.c 파일에 있는 BSP_SD_Init() 함수를 호출 해 주어야 한다는 것이다. int ma..
STM32H7 EVM - 이더넷 테스트 (TCP/IP전송 속도 테스트) STM32H7 EVM - 이더넷 테스트 (TCP/IP전송 속도 테스트) STM32H743의 경우 100핀 페키지에 이더넷을 지원하고 480Mhz로 동작 하기 때문에 작은 사이즈에 고성능 이더넷이 필요한 어플리케이션에 사용하기에 좋을것 같다. STM32H7 EVM 보드에는 Ethernet PHY 모듈을 연결할 수 있어 STM32H7 의 Ethernet을 연결을 할 수 있다. Ethernet PHY 모듈 핀맵 먼저 STM32CubeMx 로 Connectivity -> ETH 탭에서 RMII 모드로 설정해 준다. Middleware -> LWIP 탭에서 TCP/IP stack 를 설정해야 하는데... 활성화가 안되어 있다. SYS탭에서 DCache를 Enable 해야 활성화가 된다. DCashe 도 설정 해 ..
STM32H7 Timer 테스트 - 1초 만들기 (내부 클럭 vs 외부클럭) STM32H7 Timer 테스트 - 1초 만들기 (내부 클럭 vs 외부클럭) 별다른 기능이 없는 TIMER6을 사용하여 테스트 해 보자 CubeMX 에서 세팅 인터럽트 체크하고... 생성된 코드에서 stm32h7xx_it.c파일을 보면 TIM6_DAC_IRQHandler()가 생성되어 있고 인터럽트 발생시 마다 HAL_TIM_IRQHandler() 함수를 호출한다. void TIM6_DAC_IRQHandler(void){ /* USER CODE BEGIN TIM6_DAC_IRQn 0 */ /* USER CODE END TIM6_DAC_IRQn 0 */ HAL_TIM_IRQHandler(&htim6); /* USER CODE BEGIN TIM6_DAC_IRQn 1 */ /* USER CODE END TIM..
[STM32H7 EVM] FPU test - Julia Set Fractal calculation STM32H7 에서 FPU 성능을 좀더 테스트하기 위해 Julia Set Fractal Calculation을 LCD에 출력하는 테스트를 해 보았다. STM32H7 EVM FPU성능FPU_SPEED 테스트 참고 STM32H7에서 구동시켜 보면... 그렇다면 하드웨어 핀맵이 동일한 STM32F7 EVFM 보드에서 돌려 보자 확실히 H7 보드가 쁘르군.. 참고로 예전에 테스트 했던 STM32F4 보드에서 테스트 STM32H7에서 Julia Set Fractal Calculation은 아래 코드로 수행 했다. void GenerateJulia_fpu(uint16_t size_x, uint16_t size_y, uint16_t offset_x, uint16_t offset_y, uint16_t zoom, uin..

반응형