2020/02/14

STM32F439ZIT 기본 Firmware

Board Name : STM32-144-DUI
Board Version : 0.0.1
Code : Greig
MCU : STM32F439ZIT6

전원, MCU 및 주변회로, USB-to-Serial 만 수납하여 펌웨어 테스트 진행함.




































0. 준비사항
0.1 STM32CubeMX 설치 및 업데이트
0.2 STM32CubeProgrammer 설치 및 업데이트
0.3 STM32CubeIDE 설치 및 업데이트


1. STM32CubeMX
STM32CubeMX를 사용해서 프로젝트를 생성한다.

1.1 MCU Selector



















1.2 Project Settings
























1.3 Pinout & Configuration
1.3.1 RCC Configuration
























1.3.2 USART3 Configuration

























1.3.3 Clock Configuration
























1.3.4 Generate Code


2. STM32CubeIDE
2.1 Project Import




































2.2 Test Build













OK 문제없음.



3. Communication with Host PC
3.1 Protocol Format
- Host PC to MCU : "명령어" + i개의 "cmd_arg" + "\r"
    *. 명령어 : 대문자 알파벳
    *. i개의 cmd_arg : 숫자
    *. \r : Carriage Return
- MCU to Host PC : "명령어" + i개의 "cmd_arg" + "\r\n" + j개의 "rtn_arg" + "\r\n>"
    *. 명령어 : 대문자 알파벳
    *. i개의 cmd_arg : 숫자
    *. \r : Carriage Return
    *. \n : Line Feed
    *. j개의 rtn_arg : 숫자 또는 대소문자 알파벳
    *. > : 응답 문장의 종료

예를 들어 LED를 ON 하려면
Host to MCU로 "LED 0 1\r" 이렇게 명령을 보내고
MCU to Host로 "LED 0 1\r\nLED"LED Num-0 ON\r\n" 이렇게 응답을 받게 된다.

간단한 통신 테스트용 앱을 만들어보자.(Python + Kivy)






























COM 포트 연결되면 "VER\r"이란 명령어가 날아가고 보드의 버전 정보를 읽어오도록 해보자.
뿅뿅





























OK 굳.

댓글 없음:

댓글 쓰기