MCUS

제목[DAPLink] WSL2 에서 DAPLink 컴파일 하기 #12026-01-11 15:25
작성자 Level 10

OS    : WSL2 - Ubuntu 18.04 LTS

MCU :  STM32F103CBT6

구매처 : Aliexpress (LINK)

DAPLink

 

Aliexpress 를 통해 구매한 DAPLink 를 사용해서 IAR 이나 KEIL 등의 컴파일러를 통해 펌웨어 개발 및 디버깅을 위해 구입 했지만, 컴파일러에서 디버거 검출이 되지 않아 메뉴얼을 확인 한 후 RSTn 핀과 GND 를 Short 시켜 부트로더 로 진입 시켜 보았지만, 아래 그림 처럼 메뉴얼에서 보이는 것과 같은 "DAPLINK" 란 디스크 드라이브가 나오지 않고 있음을 확인. (4개 구입 했는데, 4개다 동일 증상)

DAPLink 디스크 이미지

 

 DAPLink 의 경우 Open Source 라 회로는 비슷하기에 구입한 제품의 펌웨어 버전이 낮아 그런가 싶어 일단은 DAPLink 펌웨어를 최신으로 업데이트 하기로 결정.

 

1. 필요한 Package 설치 (WSL2 의 Ubunt 18.04 상에서 실행)

$ sudo apt update
$ sudo apt install -y git cmake ninja-build python3 python3-pip srecord

 

2. 크로스 컴파일러 Tool Chain 폴더 생성

$ sudo mkdir -p /opt/gcc-arm-none-eabi 
$ sudo chown -R $USER:$USER /opt/gcc-arm-none-eabi

 

3. 브라우저에서 "gcc-arm-none-eabi-10.3-2021.10" 검색해서 다운로드 받음

$ cd ~/Downloads 
$ tar -xf gcc-arm-none-eabi-*-x86_64-linux.tar.* 
$ mv gcc-arm-none-eabi-* /opt/gcc-arm-none-eabi/ 
$ export PATH=/opt/gcc-arm-none-eabi/gcc-arm-none-eabi-10.3-2021.10/bin:$PATH 
$ hash -r 
$ which arm-none-eabi-gcc 
$ arm-none-eabi-gcc --version

 

4. .bashrc 에 PATH 반영

$ echo 'export PATH=/opt/gcc-arm-none-eabi/gcc-arm-none-eabi-10.3-2021.10/bin:$PATH' >> ~/.bashrc
$ source ~/.bashrc 
$ hash -r 
$ which arm-none-eabi-gcc

 

5. source code 및 virtual environment 설정

$ git clone https://github.com/mbedmicro/DAPLink
$ cd DAPLink
$ pip install virtualenv
$ virtualenv venv

 

6. virtual environment 활성화

$ source venv/bin/activate
(venv) $ pip install -r requirements.txt

 

7. Build

(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

 

8. Writing

아.... 이거 참 난감하게 되었습니다. JFlash 로 다운로드 하려다 보니...DAPLink 에 있는 STM32f103CB  Clone 제품으로 보이는데... Erase All 을 하고서 Writing 하려고 하니 반복적으로 Error 가 발생합니다.

위의 첨부 Link 의 제품은 구매하지 마십시오. 추후 칩을 교체 후 다시 후기 작성 하겠습니다.

 

 
 
 
  • 짜가 STM32F103CBT6 사진 (칩을 갈아서 Remarking 한 것 같음 : 대단한 넘 들)
 
 
  • 보드 4개 중 2개 비교 사진 (MCU도 다르고 저항 값도 마구 다름, 더군 다나 4개 모두 MCU 가 다름)

 

 

  • MCU 제거 사진

 

 

  • 정품과 짜가 비교 사진 (우측의 제품이 정품입니다. 거금 6,500원 주고 구입.)

 

 
  • 부트로더 펌웨어 업데이트

 

 

  • 부트로더 다운로드 후 "MAINTENANCE" 디스크 드라이브 보이는 중

 

 

  • DAPLink  펌웨어를  "MAINTENANCE" 드라이브에 Drag & Drop 후 자동으로 리셋 후 나타나는 "DAPLINK" 드라이브 표시 화면

 

 

  • DAPLink  펌웨어 다운로드 후 장치 관리자 표시 내용

 

 

  • 남은 일은 구매한 보드에 맞도록  Target 용  RSTn 핀과 LED 및 기타 I/O 를 수정해서 컴파일 해야 함. (Pinmap 이 Original 과 달라서 계속 부트 로더로 진입함)

 

댓글
자동등록방지
(자동등록방지 숫자를 입력해 주세요)