본문 바로가기

[ST_MICRO]/STM32F4

(25)
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 함수를 ..
[STM32F4-RP] OV2640 카메라 테스트2 - RAW 이미지 데이터 전송 테스트 W5300을 웹서버를 이용한 영상 전송 테스트 W5300을 웹서버를 이용한 영상 전송 테스트에서 JPEG 모드에서 스트리밍 영상 전송이 힘들다는 것을 확인 했다OV2640 을 RAW모드로 설정해서 UDP로 실시간 영상 전송하는 것을 확인 해 보자 카메라 제어 관련 코드는 STMicro에서 제공하는 ov2640.c 파일(https://github.com/STMicroelectronics/stm32-ov2640) 을 이용하였다. 카메라 관련 함수는 _user_code_cam.h 에 작성되어 있다. 카메라에서 라인데이터가 들어올 때 HAL_DCMI_LineEventCallback() 함수와 한프레임이 완료 되었을때 HAL_DCMI_VsyncEventCallback() 함수를 재 정의 해서 main 함수에 알려..
[STM32F4-RP] OV2640 카메라 테스트1 - W5300을 웹서버를 이용한 영상 전송 [STM32F4-RP] OV2640 카메라를 테스트 해보자. W5300에서 웹서버 테스트코드를 활용해서 웹에서 영상을 볼 수 있도록 해볼 예정이다. STM32 DCMI 회로도 [STM32F4-RP] 보드의 카메라 인터페이스(DCMI) 핀맵은 아래 그림과 같다. STM32CubeIDE 설정 STM32에서 카메라는 DCMI 장치에서 설정 할 수 있다. STM32CubeIDE 를 이용하여 DCMI설정을 해 준다. 인터럽트를 사용할 수 있도록 설정하고 DMA 설정도 해 준다. 카메라 모듈에는 Master 클럭을 입력해 주어야 하는데 STM32의 PA8을 MCO로 설정하여 16Mhz의 시스템 클럭이 출력 되도록 해 주었다. 카메라관련 설정은 I2C 인터페이스로 가능하고 I2C2를 활성화 하도록 했다. 설정을 완료..
[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 확장 쉴드 보드로 연결 할 수 있다.
[STM32F4_ZE_NET] FSMC 테스트 - TFT LCD 출력 테스트 [STM32F4_ZE_NET] FSMC 테스트 - TFT LCD 출력 테스트 STM32F4의 FSMC를 이용하면 TFT-LCD를 버스 방식으로 제어 가능하다. STM32F4의 FSMC는 4개의 64MB로 할당 가능하다. STM32F405 FSMC 블록도 STM32F405 FSMC 테스트 초기화 코드 초기화 코드 #define LCD_BANK_ADDR ((uint32_t)0x6C000000)#define _LCD_CMD_OUT(Data) (*(uint16_t *) (LCD_BANK_ADDR) = Data)#define _LCD_DAT_OUT(Data) (*(uint16_t *) (LCD_BANK_ADDR) = Data)#define _LCD_DATA(p) (*(volatile uint16_t*) (LCD_..