- nRST Pin 의 변경을 위해 PCB 포트를 테스트한 결과 "PA6" 에 연결 된 것 확인
- "./source/hic_hal/stm32/stm32f103xb/IO_Config.h" 을 수정해야 함
// nRESET OUT Pin
#define nRESET_PIN_PORT GPIOB --> GPIO A
#define nRESET_PIN GPIO_PIN_0 --> GPIO_PIN_6
#define nRESET_PIN_Bit 0 --> 6
-
- Connect LED Pin 의 변경을 위해 PCB 포트를 테스트한 결과 "PB2" 에 연결 된 것 확인
//Connected LED
#define CONNECTED_LED_PORT GPIOB
#define CONNECTED_LED_PIN GPIO_PIN_6 --> GPIO_PIN_2
#define CONNECTED_LED_PIN_Bit 6 --> 2
-
- USB Status LED Pin 의 변경을 위해 PCB 포트를 테스트한 결과 "PB8" 에 연결 된 것 확인
//LEDs
//USB status LED
#define RUNNING_LED_PORT GPIOA --> GPIOB
#define RUNNING_LED_PIN GPIO_PIN_9 --> GPIO_PIN_8
#define RUNNING_LED_Bit 9 --> 8
#define PIN_HID_LED_PORT GPIOA --> GPIOB
#define PIN_HID_LED GPIO_PIN_9 --> GPIO_PIN_8
#define PIN_HID_LED_Bit 9 --> 8
#define PIN_CDC_LED_PORT GPIOA --> GPIOB
#define PIN_CDC_LED GPIO_PIN_9 --> GPIO_PIN_8
#define PIN_CDC_LED_Bit 9 --> 8
#define PIN_MSC_LED_PORT GPIOA --> GPIOB
#define PIN_MSC_LED GPIO_PIN_9 --> GPIO_PIN_8
#define PIN_MSC_LED_Bit 9 --> 8
-
- Target SWCLK Pin 의 변경을 위해 PCB 포트를 테스트한 결과 "PA4" 에 연결 된 것 확인
//SWD
#define SWCLK_TCK_PIN_PORT GPIOB --> GPIOA
#define SWCLK_TCK_PIN GPIO_PIN_13 --> GPIO_PIN4
#define SWCLK_TCK_PIN_Bit 13 --> 4
-
- Target SWDIO_OUT Pin 의 변경을 위해 PCB 포트를 테스트한 결과 "PA2" 에 연결 된 것 확인 (SWDIO_IN 은 원본과 달리 공통으로 사용하는 것 같음, 추후 디버깅 시 문제 발생하면 수정 예정 )
#define SWDIO_OUT_PIN_PORT GPIOB --> GPIOA
#define SWDIO_OUT_PIN GPIO_PIN_14 --> GPIO_PIN_2
#define SWDIO_OUT_PIN_Bit 14 --> 2
#define SWDIO_IN_PIN_PORT GPIOB --> GPIOA
#define SWDIO_IN_PIN GPIO_PIN_12 --> GPIO_PIN_2
#define SWDIO_IN_PIN_Bit 12 --> 2
- WSL2 에서 bootloader 와 interface 컴파일
$ cd ./DAPLink
$ source ./venv/bin/activate
(venv) $ make -C projectfiles/make_gcc_arm/stm32f103xb_bl clean
(venv) $ make -C projectfiles/make_gcc_arm/stm32f103xb_bl all
(venv) $ make -C projectfiles/make_gcc_arm/stm32f103xb_if clean
(venv) $ make -C projectfiles/make_gcc_arm/stm32f103xb_if all
- 컴파일된 이미지 중 *_bl.bin 파일을 MCU에 Writing 한다.

- 원본에는 nRST Pin 에 10K 저항이 Pullup 되어 있으나 구매한 보드에는 없어서 10K 저항 Pullup 시킴 ( 이 저항이 없을 경우 Bootloader 로 진입이 안됨, 물론 소스코드에서 내부 풀업 사용으로 수정할 수 있으나 여기서는 안함) :: 리셋핀 왼쪽에 3.3V 전원 VIA 가 있어 솔더 마스크 벗겨냄


- nRST 핀과 GND 핀을 쇼트 시킨 후 USB 케이블을 연결한 후 나타나는 MAINTENANCE 드라이브 및 장치 관리자 화면

- Drag & Drop 으로 "*_if.bin " 파일을 집어 넣은 후 자동 리셋 후 APPLICATION 펌웨어가 가동 되면서 나타나는 장치 관리자와 그리고 사라진 MAINTENANCE 드라이브 화면

|