본문 바로가기

STM32F7

(8)
STM32F7 - Arduino 만들기 (STM32F732 Arduino 성능 테스트) STM32F7 Arduino 보드를 Arduino IDE에서 개발하기 위해 보드파일을 등록 해야 하는데... Arduino 보드메이저에 Gereic 타입이 없다. 그냥 Nucleo_64 에다 등록을 해야 겠다 board.txt 파일을 수정해서 보드 메니저에 등록 # ELAB_F7_ARDUINO board # Support: Serial1 (USART2 on PA2, PA3) Nucleo_64.menu.pnum.ELAB_F7_ARDUINO=ELAB_F7_ARDUINO Nucleo_64.menu.pnum.ELAB_F7_ARDUINO.node=ELAB_F7_ARDUINO Nucleo_64.menu.pnum.ELAB_F7_ARDUINO.upload.maximum_size=524288 Nucleo_64.menu...
STM32F7 Arduino - STM32CubeIDE 개발환경 설정 STM32F7 시리즈중 64핀 페키지의 저렴한 칩셋으로 STM32F732를 실장한 [STM32F7 Arduino Board]를 테스트 하기 위해 STM32CubeIDE를 사용하여 개발환경을 설정해 보았다. 우선 STM32CubeIDE 를 실행하고 새로운 프로젝트를 생성한다. 사용할 칩을 후 새로운 프로젝트 명을 기입하고 옵션을 선택 해 준다. 기본적으로 ioc 파일이 생성되며 STM32CubeMx 와 같이 핀맵이나 클럭 설정들을 할 수 있다. 클럭은 STM32F7의 최대 클럭인 216Mhz로 설정한다. 기본적인 GPIO나 UART를 설정하고 저장하면 코드가 생성된다.
#STM32F7 ARDUINO 보드 제작 STM32 64핀 패키지를 Arduino 로 사용할 수 있는 보드를 제작했다. 기존에 제작했던 STM32 Arduino 보드는 STM32F0, STM32F4 를 지원하지만 STM32F7은 핀맵이 바뀌어 새롭게 제작 했다. STM32 Nucleo Boards 보드와 핀맵을 동일하게 했고 Nucleo보드에 없는 USB, SD, I2C 같은 페리를 실장 하였으며 다양한 형태의 확장 보드(SSM- EVM), RF, BLE, WIFI 모듈을 연결 할수 있는 커넥터를 포함하였다. 또 하나의 장점으로 기존에 제작 해 둔 다양한 Arduino 확장 쉴드 보드로 연결 할 수 있다.
[STM32F7 EVM] STM32F767 Ethernet 테스트 - LWIP를 이용한 UDP전송속도 측정 STM32F7의 LWIP를 이용한 TCP전송 속도 테스트 코드를 이용하여 UDP loopback 테스트로 전송속도를 측정해 보았다. udp_echoserver_init(); while (1) { /* Read a received packet from the Ethernet buffers and send it to the lwIP for handling */ ethernetif_input(&gnetif); /* Handle timeouts */ sys_check_timeouts(); #ifdef USE_DHCP /* handle periodic timers for LwIP */ DHCP_Periodic_Handle(&gnetif); #endif } 테스트 결과 UDP도 TCP와 동일한 전송 속도가 측정된다.
[STM32F7 EVM] STM32F767 SPI 테스트 - W5500 TCP/IP 전송 속도 테스트 [NET_EV_SM EVM]보드와 W5500 EVM 보드를 이용하여 Ethernet (TCP/IP) 테스트를 진행 했다 [STM32F7 EVM]보드에는 SSM 모듈 표준 핀맵이 적용되어 있기 때문에 W5500 EVM과 같은 모듈을 연결하여 쉽게 테스트 가능하다. W5500은 SPI통신을 사용하므로 STM32CubeMx를 이용하여 SPI 항목을 설정해 준다. W5500 드라이버 API를 사용하기 위해 SPI Read/Write 함수를 포팅해 주면 기존 코드를 그대로 사용할 수 있다. #define SPIx_TIMEOUT_MAX((uint32_t)0x1000) unsigned char SPI1_WriteReadByte(unsigned char Data) { uint8_t receivedbyte = 0; /*..
STM32F7 EVM FMC 테스트 - TFT LCD 제어 (STM32F7 에서 FMC출력 문제발생) STM32F7 EVM FMC 테스트 - TFT LCD 제어 (STM32F7 에서 FMC출력 문제발생) STM32F7 EVM 보드는 100핀 페키지의 STM32F767이 실장되어 있다. 100핀 페키지에서는 FMC Data/Address 16, RD, WR, NE 을 사용할 수 있어 버스 방식의 LCD 제어에 적합하다.기존에 제작한 LCD 모듈중 버스제어 방식의 LCD모듈을 표준 핀맵으로 제작해 두었기 때문에 이 모듈로 STM32F7의 FMC를 이용한 TFT LCD를 테스트 해 보았다. STM32F7 EVM보드의 TFT LCD는 CS -> NE1, RS->A16에 연결에 되어 있다. STM32F7 FMC 테스트 코드 작성STM32CubeMX 에서 FMC를 아래와 같이 핀맵에 맞게 설정 하면 된다. STM3..
[STM32F7 EVM] STM32F767 Ethernet 테스트 - TCP 전송속도 측정 [STM32F7 EVM] STM32F767 Ethernet 테스트 - TCP 전송속도 측정 STM32F7 EVM 보드에는 Ehternet을 테스트 할수 있는 Ethernet Phy 모듈 연결 커넥터가 있어 Ethernet을 연결 할 수 있다. STM32F7의 경우 클럭속도가 216Mhz로 향상 되었기 때문에 좀더 빠른 이더넷 전송 속도가 나오지 않을까 기대 하면서 TCP 전송 속도 테스트를 해 보았다. STM32F4 Ethernet TCP 전송 속도 테스트 결과 참고 STM32F7 EVM Ethernet 하드웨어 연결 설정 STM32F7의 Ethernet 테스트는 기존에 제작 해 두었던 Ethernet Phy모듈을 이용하였다. CubeMX 환경설정 CubeMX 를 이용하여 STM32F7 프로젝트를 생성하..
[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..