DFU에는 2가지 방법이 있는데 가장 많이 쓰이는 BLE를 이용한 방법입니다.
먼저 폰이나 동글이 있어야 합니다.
폰을 이용하게되면 폰에 softdevice와 어플등을 미리 넣어야 합니다.
동글이나 다른 nrf보드를 이용하면, PC에서 간단히 할 수 있습니다.
저는 동글을 이용해 보겠습니다.
1. DFU controller 만들기
우선 PC용 MCP(Master Control Panel)을 다운받아야 합니다.
다운은 여기서~
자신의 OS에 맞게 다운받아 설치를 합니다.
프로그램을 실행하면 아래와 같습니다.
동그라미 표시한 Master emulator에서 자신의 dongle의 com port를 잡아주세요.
그리고 File 메뉴를 클릭해 Flash programming을 실행합니다.
최신버전을 Program해 줍니다.
2. nRFgo Studio 이용하여 SOFTDEVICE와 BOOTLOADER 넣어주기!!
nRFgo Studio를 실행하면 위와 같은 화면이 나옵니다.
왼쪽 Device Manager에서 해당 Device를 선택하시고, 보드안에 이미 프로그램이 되어있으면
Erase all로 모두 날려 주세요.
오른쪽 위쪽의 SoftDevice 탭을 선택 후 Browser를 눌러 softdevice를 찾아주신후 Program을
눌러주세요.(전 8.0.0을 넣었습니다.)
이제 부트로더를 넣을 차례입니다.
Program Bootloader 탭을 클릭 후 역시 Browser를 눌러 bootloader 파일을 선택해 주세요.
P.S keil에서 bootloader를 넣어주실 수도 있습니다.
SDK에서
\examples\dfu\bootloader\pca10028\dual_bank_ble_s110\arm4 로 가시면
keil용 프로젝트를 열어주세요.
Project 메뉴에서 Build를 하시면 bootloader용 HEX파일이 생성됩니다. 이걸 nRFgo Studio로 넣으셔도 되고요.
keil에서 넣으실 경우
Target Option을 실행합니다.
Target Option의 Utilities 탭의 Command 경로를 지정해 줍니다.
default로 위의 경로를 찾아가시면 nrfjprog.exe가 있습니다. 선택하시고 OK!!
Download를 하시면 됩니다.
3. BLE로 DFU하기!!
Master Contol Panel을 실행합니다.
부트로더까지 들어가면 DfuTest라는 이름으로 devices가 나타납니다.
나타나지 않을경우 Start discovery를 눌러주세요.
DfuTest를 선택후 Select device를 클릭해 주세요.
Discover services를 클릭하시면 사용가능한 서비스들이 나타납니다.
보드에서는 LED1과 LED3이 켜져있습니다.
LED1은 advertising, LED3은 Bootloader mode active입니다.
DFU 버튼을 클릭하세요.
Device Firmware Update가 뜨는데 Browse..를 눌러 파일을 선택하신 후 Program을 클릭
전 HRM application을 선택했습니다.(DFU package file은 zip파일입니다.)
dongle에서 device로 연결을 시도합니다.
보드의 LED가 바뀝니다.
LED2는 connected입니다.
연결이 되면 펌웨어를 전송하여 업데이트를 진행합니다.
MCP(Master Control Panel)를 재시작후 discovery를 해 보면 Dfu_test가 Dfu_HRM으로
바뀐걸 볼 수 있습니다.
진짜 Application이 들어간 걸 확인하기 위해, nrf의 Toolbox 어플을 받아 실행합니다.
메뉴에서 HRM을 선택합니다.
CONNECT를 눌러 이용가능한 DEVICES를 선택합니다.
방금 보드가 잡히는 군요.
안잡힌다면 보드의 Button1을 누르시면 나타납니다.
연결을 하시면 data를 보내고, 폰에서 그래프를 보실 수 있습니다.
'Study > nRF51xxx(BLE)' 카테고리의 다른 글
DFU용 ZIP(package) 파일 만들기 (0) | 2015.03.19 |
---|---|
BLE를 이용한 DFU - 안드로이드 어플편 (0) | 2015.03.19 |
DFU (Device Firmware Update) (0) | 2015.03.18 |
nRF51 DK 예제 20 -LPCOMP(Low Power Comparator) (0) | 2015.03.17 |
nRF51 DK 예제 19 -UART(Loop back test) (0) | 2015.03.16 |