본문 바로가기

STM32F4

(26)
STM32F4 Arduino 만들기 - STM32F4 Arduino 성능 테스트 STM32F4 Arduino Board 를 이용하여 ARDUINO IDE 개발 환경에서 테스트를 진행 해 보았다. 우선 Arduino IDE환경에서 STM32 환경 설정이 되어 있지 않다면 보드 링크를 추가 하고 http://dan.drown.org/stm32duino/package_STM32duino_index.json STM32 개발환경을 설치 해 준다. Arduino IDE의 보드 메니저에서 "Generic STM32F4 series" 를 선택하고 새로 만든보드에 맞는 환경설정을 해 주고 새로 생성한 보드파일인 ELAB STM32F405로 선택 한다. 기본 동작은 확인 되었으니 Arduin IDE 개발 환경에서 STM32F4의 성능 테스트를 진행 해 보자. Arduino에서 제공한 GPIO 함수를 ..
W5300 을 이용한 네트워크 카메라 구현 1/3 - 기본 개발환경 구성하기 W5300 테스트를 위한 테스트 보드 제작 및 기본 개발환경 설정 개요 Hardwired TCP/IP가 내장된 이더넷 컨트롤러 칩 W5300(https://www.wiznet.io/ko/product-item/w5300/)은 최대 80Mbps의 네트워크 성능이 있다고 한다. 고속의 네트워크 통신을 적용할 수 있는 분야로 카메라를 제작 해 보면 좋을것 같다. W5300을 이용한 네트워크 카메라를 제작 해 보려고 한다. 첫번째 단계로 W5300을 제어하기 위해 Wiznet ioLibrary Driver (https://github.com/Wiznet/ioLibrary_Driver)를 STM32에 포팅하고 TCP Loopback 테스트로 네트워크 성능을 측정해 볼것이다. 그다음 단계로 STM32 카메라 인터페..
[STM32F4-RP] W5300을 이용한 웹서버 테스트 STM32F4-RP 보드를 이용한 W5300 개발환경 구성하기에서 포팅한 ioLibrary 의 장점은 표준화된 코드로 다양한 네트워크 응용 프로그램을 쉽게 작성할 수 있다는 것이다. Wiz550web 예제( https://github.com/Wiznet/WIZ550web) 를 참고 하여 간단히 W5300 Web Server 로 보드를 제어 할 수 있다. 표시할 웹페이지에 들어갈 코드를 메모리에 할당한다. const unsigned char index_page[] = { "\ \ \ Embedded Webserver Test\ \ \ %s\r\n", uri_name); } else if(strstr(p_http_request->URI, "led_on.html")) { Led1On(); printf("LED..
[STM32F4-RP Board] 보드 제작 STM32를 테스트 할 수 있는 MCU Board로 표준화 된 핀맵의 테스트 보드를 제작 했다. 여러가지 확장성을 고려 하여 실험하기 편한 형태로 제작 해 공통의 표준화된 핀맵을 사용하고 추후 확장성도 고려해서 Raspberry Pi 형태로 제작 했다. 이보드를 이용하여 다양한 네트워크 관련 응용 예제를 작성해 볼 예정이다. 기존에 제작된 다양한 확장 테스트 보드를 활용하면 쉽게 여러 응용분야게 적용 할 수 있다. 보드에는 표준화된 SSM 타입의 확장 보드를 연결 할 수 있고 Ethernet PHY 보드를 연결하여 STM32의 내장 Ehternet 기능도 사용 할 수 있다. 라즈베리 파이 핀맵(https://pinout.xyz/) 형태로 핀맵을 통일화 해서 라즈베리 파이에 연결 하거나 기존에 제작된 다양..
#STM32F4 ARDUINO - STM32CubeIDE 개발환경 설정 STM32F4 ARDUINO 보드를 STM32CubeIDE 에서 테스트 해 보았다. STM32CubeIDE 를 실행하고 새로운 프로젝트를 생성한다. 사용한 칩셋은 64핀의 STM32F405RG 이므로 선택 해 준다. 프로젝트 명을 작성하고 완료 하면 기본 설정화면이 나온다. 필요한 기능 및 핀맵 설정하고 클럭을 설정 해 주면 완성 코드 작성해서 테스트 해보면 문제 없이 구동되는것을 확인 할 수 있다. 간단히 STM32CubeIDE에서 개발환경 설정이 되는것을 확인 했다.
#STM32F4 ARDUINO 보드 제작 STM32 64핀 패키지를 Arduino 로 사용할 수 있는 보드를 제작했다. Arduino 핀맵을 유지 하면서 가능한 최대로 작게 제작해 다양한 형태의 응용 보드 시리즈를 제작 할 예정이다. STM32 Nucleo Boards 보드와 핀맵을 동일하게 했고 Nucleo보드에 없는 USB, SD, I2C 같은 페리를 실장 하였으며 다양한 형태의 확장 보드(SSM- EVM), RF, BLE, WIFI 모듈을 연결 할수 있는 커넥터를 포함하였다. 또 하나의 장점으로 기존에 제작 해 둔 다양한 Arduino 확장 쉴드 보드로 연결 할 수 있다.
STM32F439 이더넷 TCP/IP 전송 속도 테스트 - STM32CubeMx Hal코드 이용 STM32F439에 내장된 이더넷을 연결할 수 있는 MAC가 포함되어 있고 Ethernet Phy 칩만 연결하면 쉽게 이더넷을 연결 할수 있다. 이번에는 STM32CubeMx를 이용하여 아주 간단하게 LwIP TCP / IP 스택을 올려서 테스트 해보았다. STM32F439 EVM 보드는 이더넷 Phy 칩을 연결하면 STM32F4의 이더넷을 테스트 할 수 있다. 이더넷 Phy는 칩을 직접 납땜하거나 Ethernet Phy 모듈을 연결 할 수 있다. Ethernet Phy 모듈은 핀맵을 표준화 해서 다양한 종류의 Ehternet Phy 칩을 테스트 할 수 있다. STM32CubeMx 를 이용하여 이더넷 인터페이스를 설정한다. Ethernet PHY는 RMII 모드로 연결되어 있기 때문에 모드를 RMII로 ..
STM32F4 타이머 인터럽트 테스트 - 1초 만들기 STM32F4 타이머 인터럽트 테스트 STM32F4에서 TIM2, TIM5는 32bit 타이머 모드를 지원한다. 이를 이용하여 1초 만들기 테스트를 해 보았다. STM32F4 타이머 인터럽트 초기화 함수void TimerInit2(void){ TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; uint16_t PrescalerValue = 0; NVIC_InitTypeDef NVIC_InitStructure; /* TIM2 clock enable */ RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); /* TIM2 gloabal Interrupt 초기화 */ ..