이 보드는 공식 Arduino 보드에 비해 저렴하며 하드웨어 역시 오픈 소스이다. 보드는 RTC(실시간 클록)를 구동하는 데 사용할 수 있는 2개의 수정 발진기(8MHz 수정 1개와 32KHz 수정 1개)를 가지고 있다. MCU는 딥 슬립 모드에서 작동할 수 있어 배터리 구동 애플리케이션에 적합하다.
이 보드를 프로그래밍하려면 간단한 USB-UART 변환기를 사용하면 되고, PC에서 USB를 이용하여 프로그래밍할 수 있다.
아래쪽 4개의 핀이 각각 3.3V, SWDIO, SWCLK, GND 이다. 일반적으로 이 4개의 핀을 이용하여 ST-LINK 에 연결한다. 사용한 ST-LINK 의 버전은 v2 이며 현재 v3가 판매중이다.
처음으로 할 일은 아두이노 IDE 에 연결한 보드에 부트로더를 업로드하는 것이다. 이때 ST-LINK v2 를 사용한다. ST-LINK v2 는 알리등에서 저렴하게 판매되고 있는 것을 사용하였다.
https://www.st.com/en/development-tools/stsw-link009.html
ST-LINK v2 드라이버를 다운받아 설치한다. 다운받을 때 이메일로 링크가 온다. 압축파일을 풀면 배치파일로 설치가 진행된다. 배치파일로 된 것을 관리자권한으로 실행시킨다.
https://www.st.com/en/development-tools/stsw-link004.html
다운받은 후 압축을 풀고 setup.exe 파일을 "관리자 권한으로 실행"을 눌러 설치한다.
4개의 핀을 다음과 같이 연결한다.
3.3V, GND, SWDIO, SWCLK 를 4개의 핀에 연결한다.
보트로더를 다음 링크에서 다운받아서 ST-LINK 를 이용해 STM32 에 업로드한다.
다운받은 파일을 STM32 ST-LINK Utility 를 이용해 STM32 보드에 업로드한다.
이때 BOOT0 의 점퍼핀을 0 에서 1 쪽으로 옮긴다.
부트로더를 다 쓰고나면 다시 BOOT0 의 점퍼핀을 1 에서 0 으로 옮긴다. 0 은 실행, 1은 프로그램 업로드를 의미한다.
단, 실제 실행시 (2022.04.24) BOOT0 점퍼핀을 1에 그냥 둔 상태에서 업로드 후 실행이 되는 것을 확인했다.
아두이노 IDE 실행 후 [파일] >> [환경설정] 에서 "추가적인 보드 매니저 URLs" 부분에 다음 링크를 넣는다. http://dan.drown.org/stm32duino/package_STM32duino_index.json
이후 [툴]-[보드]-[보드 매니저] 에서 "STM32" 를 입력한다.
사용하려는 보드는 STM32F103C8T6 이므로 STM32F1xx 로 시작되는 보드들을 사용할 수 있도록 설치한다.
보드를 선택한다. STM32F103C 시리즈를 선택한다.
업로드 방식으로 STLink 를 선택한다.
기본 blink 소스에서 PC13 으로 LED 출력핀을 설정하며 LED 를 점멸하는 것을 확인할 수 있다.
void setup()
{
pinMode(PC13, OUTPUT);
}
void loop()
{
digitalWrite(PC13, HIGH); // turn the LED on (HIGH is the voltage level)
delay(100); // wait for a second
digitalWrite(PC13, LOW); // turn the LED off by making the voltage LOW
delay(100); // wait for a second
}
>git clone https://github.com/rogerclarkmelbourne/Arduino_STM32.git 으로 드라이버 다운받은 후
drivers/win/install_drivers.bat 을 Admin 계정으로 실행, 드라이버를 설치한다.
BOOT01 점퍼핀을 다시 0으로 옮긴 후 ST-LINK 를 분리하고 USB micro 5 pin 케이블을 연결한다.
Upload method 를 STM32duino bootloader 로 설정한다.
관련링크
How to Program the STM32 "Blue Pill" with Arduino IDE
https://velog.io/@jngeun/stm32-drone-%EC%95%84%EB%91%90%EC%9D%B4%EB%85%B8-IDE-%EC%85%8B%ED%8C%85
STM32 "Blue Pill" Progmaming Via Arduino IDE & USB PDF
Cirkit Designer (0) | 2024.08.13 |
---|---|
MultiFunctionShield 다기능실드 라이브러리 (0) | 2022.08.08 |
로직 아날라이저 사용방법 (0) | 2022.05.26 |
STM32F103C6 기본 입출력 속도 (0) | 2022.05.05 |
STM32F103C6 사용법 (0) | 2022.05.05 |