본문 바로가기

[ST_MICRO]

(264)
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 확장 쉴드 보드로 연결 할 수 있다.
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] W5300 TCP Loopback 전송속도 테스트 STM32F405에서 W5300를 FSMC 방식으로 연결하여 테스트 하기 소스코드를 이용하여 W5300 TCP Loopback 전송속도 테스트 를 해보자 W5300을 이용하여 TCP loopback 테스트를 하기 위해 loopback.c 파일을 사용하면 된다. 먼저 네트워크 환경을 wiz_NetInfo 구조체에 할당하고 초기화 코드를 작성해 준다. wiz_NetInfo gWIZNETINFO = { .mac = {0x00, 0x08, 0xdc, 0, 0, 0}, .ip = {172, 30, 1, 104}, .sn = {255, 255, 0, 0}, .gw = {172, 30, 1, 254}, .dns = {0, 0, 0, 0}, .dhcp = NETINFO_STATIC }; void Reset_W5300(..