본문 바로가기

STM32H7

(13)
[STM32H7 EVM] STM32H7 Arduino 만들기 - Arduino 성능 측정 STM32 시리즈중 최고의 성능을 구현할 수 있는 STM32H7을 아두이노로 만들면 어떨까? 아두이노의 장점은 다양한 라리브러리를 쉽게 적용하여 사용 할수 있어서 성능과 편리함을 동시에 만족 할 수 있지 않을까... STM32H7 EVM 보드를 Arduino로 만들기 위해 Arduino 보드메이저에 "Gereic STM32H7 Series" 타입으로 등록 했다. board.txt 파일을 수정해서 보드 메니저에 등록 # ELAB_H7_EV board GenH7.menu.pnum.ELAB_H7_EV=ELAB_H7_EV GenH7.menu.pnum.ELAB_H7_EV.upload.maximum_size=2097152 GenH7.menu.pnum.ELAB_H7_EV.upload.maximum_data_size=..
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...
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..
STM32H7 FMC - TFT LCD 출력하기 (STM32F7 FMC와 다른점) STM32H7 FMC - TFT LCD 출력하기 (STM32F7 FMC와 다른점) STM32H7 EVM 보드에는 FMC를 이용하여 기존에 제작 해 두었던 TFT LCD 모듈을 연결할 수 있도록 구성하였다. STM32H7에서 FMC로 TFC LCD 테스트를 진행 해 볼 수 있다. STM32H7 의 FMC는 Data(16), WR, RD, CS, A16 핀을 할당 할 수 있다.메모리 맵핑은 기존 STM32 시리즈와 동일하게 0x6000 0000 에 가능하다. STM32CubeMX에서 FMC 설정을 LCD Interface 타입으로 설정하여 코드 생성 한다. STM32H7 FMC 기본 동작 테스트FMC 제어를 위해 STM32CubeMx의 HAL 라이브러리가 제공된다. uint8_t BSP_SRAM_WriteD..