- 필요한 재료
- 회로도
- STM32 개발 보드에 Maple 부트 로더 업로드
- Arduino IDE 준비 및 드라이버 설치
- USB 포트를 통해 직접 STM32 (Blue Pill) 프로그래밍
STM32 개발 보드의 주택 STM32F103C8 마이크로 컨트롤러 는 ARM 코어 텍스 M3 아키텍처에 점점 인기 덕분에지고, 그것은 높은 작동 속도보다 주변 옵션이 있습니다. 또한이 보드는 Arduino IDE를 사용하여 쉽게 프로그래밍 할 수 있기 때문에 빠른 프로토 타이핑을 위해 많은 애호가와 엔지니어에게 선호되는 선택이되었습니다.
이전 튜토리얼에서 STM32 개발 보드의 기본 사항을 배웠고 LED를 깜박이도록 프로그래밍했습니다. 하지만 한 가지 큰 단점이있었습니다. 보드를 프로그래밍하기 위해 우리는 FTDI 프로그래머 모듈을 사용했으며 코드를 업로드하고 테스트하는 동안 부트 0 점퍼를 1 위치로 전환해야했는데 이는 확실히 어려운 작업이었습니다. 또한 개발 보드의 미니 USB 포트는 완전히 사용되지 않았습니다. 그 이유는 STM32 개발 보드를 구입할 때 Arduino 지원 부트 로더가 함께 제공되지 않으므로 USB를 통해 연결될 때 컴퓨터에서 보드를 검색하지 못하기 때문입니다.
하지만 LeafLabs 에서 Maple 미니 보드 용으로 개발 한 실험적인 부트 로더가 있기를 바랍니다. 이 부트 로더는 STM32에 한 번 플래시 할 수 있으며 그 후 STM32 보드의 USB 포트를 직접 사용하여 다른 Arduino 보드와 마찬가지로 프로그램을 업로드 할 수 있습니다. 그러나이 부트 로더는이 튜토리얼을 문서화하는 시점에서 아직 개발 단계에 있으며 중요한 응용 프로그램에는 권장되지 않습니다. 이 자습서를 진행하기 전에 사양 및 핀 배치에 대한 세부 정보를 포함하여이 보드의 기본 사항을 이해하기 위해 이전 자습서를 읽었는지 확인하십시오.
필요한 재료
- STM32 – (BluePill) 개발 보드 (STM32F103C8)
- FTDI 프로그래머
- 브레드 보드
- 전선 연결
- 인터넷이 연결된 노트북
회로도
USB 포트를 통해 직접 STM32 Blue Pill 보드를 프로그래밍하려면 먼저 Maple 부트 로더를 MCU에 플래시해야합니다. 이렇게하려면 직렬 FTDI 보드를 사용해야합니다. 이 보드는 아래와 같이 STM32의 Rx 및 Tx 핀에 연결됩니다.
FTDI 보드의 Vcc 핀은 보드 전원의 STM32 5V 핀에 연결됩니다. 접지는 STM32의 접지에 연결됩니다. FTDI 보드의 Rx 및 Tx 핀은 STM32의 A9 및 A10 핀에 각각 연결됩니다. A9는 STM32 MCU의 Tx 핀이고 A10은 Rx 핀입니다.
부트 로더를 업로드하는 동안 보드의 부트 0 점퍼 핀이 1 (프로그래밍 모드)로 설정되어 있는지 확인하십시오. 부트 로더가 플래시되면이 핀을 초기 위치 (작동 모드)로 다시 변경할 수 있습니다.
STM32 개발 보드에 Maple 부트 로더 업로드
위의 연결이 완료되면 FTDI 보드를 컴퓨터에 연결하고 단계에 따라 부트 로더를 STM32로 플래시합니다.
1 단계: github 페이지에서 부트 로더 프로그램 파일 바이너리 (bin 파일)를 다운로드해야합니다. 많은 버전의 bin 파일이 있습니다. Blue Pill 보드의 경우이 github 링크를 사용하고 다운로드 버튼을 클릭하여 bin 파일을 다운로드합니다.
2 단계: 다음으로 STM 플래시 로더 소프트웨어를 다운로드하고 설치하여 다운로드 한 bin 파일을 STM32로 플래시해야합니다. 이 링크를 클릭하여 ST 웹 사이트로 이동하고 하단으로 스크롤하여 소프트웨어 다운로드를 클릭하십시오.
3 단계: 소프트웨어를 다운로드하려면 이메일 주소를 입력해야하며 다운로드 링크가 이메일로 전송됩니다. 그런 다음 웹 사이트로 돌아가는 링크를 따라 소프트웨어 다운로드를 다시 클릭하면 다운로드가 시작됩니다. 예, 약간 실망 스럽지만 이것이 수행되어야하는 방법입니다. 스팸 폴더에서 전자 메일을 확인하는 것을 잊지 마십시오. 때때로 전자 메일이 도착하는 데 몇 분이 걸립니다.
4 단계: 소프트웨어를 다운로드 한 후 STM32 보드가 FTDI 보드를 통해 컴퓨터에 연결되어 있는지 확인한 다음 소프트웨어를 실행합니다. 장치 관리자를 사용하지 않는 경우 소프트웨어는 자동으로 COM 포트를 감지하고 올바른 COM 포트 번호를 선택했는지 확인합니다. 제 경우에는 COM4입니다. 나머지 설정은 아래와 같이 그대로 둡니다.
5 단계: 다음 버튼을 두 번 클릭하면 소프트웨어가 다시 자동으로 보드 세부 정보를 감지하고 아래와 같이 표시합니다. 우리가 사용하는 보드는 128K 플래시 메모리가있는 STM32F1입니다.
6 단계: 다음 단계에서 장치에 다운로드를 선택하고 1 단계에서 bin 파일을 다운로드 한 위치를 찾아 선택합니다. 다음을 클릭하십시오.
7 단계: 소프트웨어는 아래와 같이 필요한 파일을 다운로드 한 다음 플래시 프로세스를 시작합니다.
8 단계: 깜박임이 성공적으로 완료되면 아래 화면이 표시됩니다. 닫기를 클릭하고 응용 프로그램을 종료하십시오. Arduino 부트 로더로 STM32 보드를 성공적으로 플래시했습니다. 이제 우리는 STM32 보드를 프로그래밍하기 전에 Arduino IDE를 준비하고 드라이버를 설치해야합니다.
Arduino IDE 준비 및 드라이버 설치
아래 단계에 따라 STM 32 개발 보드와 함께 사용할 Arduino IDE를 다운로드하고 준비하십시오.
1 단계: -아직 Arduino IDE를 설치하지 않은 경우이 링크에서 다운로드하여 설치하십시오. 올바른 운영 체제를 선택했는지 확인하십시오.
2 단계: -Arduino IDE를 설치 한 후 STM32 보드에 필요한 패키지를 열고 다운로드합니다. 파일-> 환경 설정 을 선택하면됩니다.
3 단계: -기본 설정을 클릭하면 아래에 표시된 대화 상자가 열립니다. 추가 Boards Manager URL 텍스트 상자에 아래 링크를 붙여 넣으십시오.
dan.drown.org/stm32duino/package_STM32duino_index.json
확인을 누릅니다.
4 단계: -이제 도구-> 보드-> 보드 관리자로 이동 합니다. 그러면 Boards manager 대화 상자가 열리고“STM32F1”을 검색하여 나타나는 패키지를 설치합니다.
5 단계: 패키지가 설치된 후 C: \ Program Files (x86) Arduino \ hardware \ Arduino_STM32-master \ drivers \ win으로 이동하여 install_drivers.bat 및 install_STM_COM_drivers.bat를 찾을 수 있습니다.
6 단계: 두 개의 bat 파일을 클릭하고 드라이버를 설치합니다. 아래와 같이 DOS 화면이 나타납니다.
이제 Arduino IDE는 STM32 (Blue Pill) 개발 보드 프로그래밍을 위해 준비되었으며 드라이버도 설치되었습니다.
USB 포트를 통해 직접 STM32 (Blue Pill) 프로그래밍
STM32에서 FTDI 보드와 모든 기존 연결을 제거합니다. 아래 그림과 같이 STM32 보드의 마이크로 USB 포트를 사용하여 컴퓨터에 연결하면됩니다. 점퍼 0 핀이 다시 0 (작동 모드)에 있는지 확인합니다. 이제부터는 프로그램을 업로드하고 실행하기 위해 더 이상 점퍼를 전환 할 필요가 없습니다.
이제 컴퓨터에서 보드를 찾을 수 있습니다. 추가 드라이버가 설치되는 것이 보이면 잠시 기다리십시오. 그런 다음 장치 관리자 로 이동 하여 아래와 같이 COM 및 포트 섹션에서 STM32 보드가 발견되었는지 확인하십시오. 광산은 Maple Mini라는 이름으로 COM8에 연결되어 있습니다.
도구로 이동하여 아래로 스크롤하여 아래와 같이 Generic STM32F103C 시리즈를 찾으십시오. 그런 다음 변형이 64k 플래시 유형 이고 CPU 속도가 72MHz 인지 확인하고 업로드 방법을 STM32duino Bootloader로 변경합니다. 또한 장치 관리자의 포트에 따라 올바른 COM 포트를 선택하십시오.
모든 변경이 완료된 후 Arduino IDE의 오른쪽 하단 모서리를 확인하면 다음 설정이 설정되어 있음을 알 수 있습니다. 내 STM32 보드가 COM8에 연결되어 있지만 귀하의 보드는 다를 수 있습니다.
이제 Arduino IDE는 STM 32 Blue Pill 개발 보드를 프로그래밍 할 준비가되었습니다. Arduino IDE에서 STM32 Blue Pill 보드로 샘플 Blink 프로그램을 업로드하여 모든 것이 제대로 작동하는지 확인하겠습니다. 예제 프로그램은
열리는 예제 프로그램 에서 약간의 변경을해야 합니다. 기본적으로 프로그램은 PB1 용으로 작성되지만 보드에는 온보드 LED가 PC13에 연결되어 있으므로 모든 PB1을 PC13으로 교체 하면 계속 진행할 수 있습니다. 완전한 예제 프로그램 수정이 페이지의 맨 아래에서 찾을 수있다.
루프 함수 내부의 코드 만 아래에 나와 있습니다. 여기서 PC13 핀이 1000 밀리 초 동안 HIGH (켜짐)로 유지 된 다음 1000 밀리 초 동안 LOW (꺼짐)로 설정되어 있음을 알 수 있습니다. 루프 기능. 따라서 LED는 1000 밀리 초 간격으로 깜박이는 것처럼 보입니다.
digitalWrite (PC13, HIGH); // LED를 켭니다 (HIGH는 전압 레벨). delay (1000); // 두 번째를 기다립니다. digitalWrite (PC13, LOW); // 전압을 낮게 만들어 LED를 끕니다 . delay (1000); // 잠시 기다립니다
Arduino IDE에서 업로드 버튼을 누르면 프로그램이 컴파일되고 업로드됩니다. 모든 것이 예상대로 작동하면 Arduino IDE 콘솔에 다음이 표시됩니다.
프로그램이 성공적으로 업로드되면 아래 비디오 와 같이 녹색 LED가 1 초 간격으로 깜박이는 것을 볼 수 있습니다. 프로그램을 조작하여 지연을 늘리거나 줄일 수도 있습니다. 이제 다른 Arduino 보드와 마찬가지로 STM32 (Blue Pill) 개발 보드를 사용할 수 있습니다. 즉, 더 이상 프로그램을 업로드 및 테스트하기 위해 점퍼의 위치를 변경하거나 외부 하드웨어를 사용할 필요가 없습니다.
튜토리얼을 이해하고 STM32 Board를 시작하는 것이 유용하다는 것을 알기 를 바랍니다. 문제가 있으면 의견란에 남겨 주시면 앞으로이 STM32 보드로 어떤 프로젝트를 시도해야하는지 알려주세요.