아두이노 IDE를 사용해 프로그램이 가능하지만 어떤 이유로 다른 종류의 부트로더를 넣었다가 다시 교체해야 하는 경우는 USB 케이블만으로는 할 수가 없다.
그래서 ST-Link V2를 사용하면 되는데 이 역시 aliexpress 에서 매우 저렴하게 구입이 가능하다.
알리에서 구입하면 저렴한 건 좋은데 문서나 지원이 충분하지 않기 때문에 사용하기 위해 구글신의 도움을 받아야 하는 경우가 많다.
특히 이번에 구입한 ST-Link V2의 커넥터 pin out의 정보가 없어 역시 구글신의 도움을 받았다.
Vcc(+3.3V), GND, SWCLK, SWDIO 를 각각 연결해 주고 stlink-utility 프로그램을 이용하면 부트로더 교체가 가능하다.
stlink-utility $ ./st-flash write ~/Desktop/maple_mini_boot20.bin 0x8000000
2016-03-30T12:17:23 INFO src/stlink-usb.c: -- exit_dfu_mode
2016-03-30T12:17:23 INFO src/stlink-common.c: Loading device parameters....
2016-03-30T12:17:23 INFO src/stlink-common.c: Device connected is: F1 Medium-density device, id 0x20036410
2016-03-30T12:17:23 INFO src/stlink-common.c: SRAM size: 0x5000 bytes (20 KiB), Flash: 0x20000 bytes (128 KiB) in pages of 1024 bytes
2016-03-30T12:17:23 INFO src/stlink-common.c: Attempting to write 7036 (0x1b7c) bytes to stm32 address: 134217728 (0x8000000)
Flash page at addr: 0x08001800 erased
2016-03-30T12:17:23 INFO src/stlink-common.c: Finished erasing 7 pages of 1024 (0x400) bytes
2016-03-30T12:17:23 INFO src/stlink-common.c: Starting Flash write for VL/F0/F3 core id
2016-03-30T12:17:23 INFO src/stlink-common.c: Successfully loaded flash loader in sram
6/6 pages written
2016-03-30T12:17:23 INFO src/stlink-common.c: Starting verification of write complete
2016-03-30T12:17:23 INFO src/stlink-common.c: Flash written and verified! jolly good!
stlink-utility $
위의 화면은 Mac에서 stlink-utility를 사용해 부트로더를 교체한 예이다.