+ All Categories
Home > Documents > 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드...

블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드...

Date post: 05-Aug-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
41
- 1 - 블루투스5 개발 보드 BT5-52810NON-DK / BT5-52832NON-DK Datasheet & User Manual REV 1.0
Transcript
Page 1: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 1 -

블루투스5 개발 보드BT5-52810NON-DK / BT5-52832NON-DK

Datasheet & User Manual

REV 1.0

Page 2: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

목 차

1. 개요

1. 1. 특징 및 활용 ······························································································ 1

1. 2. 제품 성능 ···································································································· 2

1. 3. 레이아웃 및 핀맵 ······················································································ 3

2. 개발환경 구축하기

2. 1. Eclipse CDT 및 플러그인 설치 ······························································ 7

2. 2. OpenOCD 디버깅 환경 구성하기 ························································· 13

2. 3. J-Link 디버깅 환경 구성하기 ································································· 15

2. 4. Softdevice 다운로드 하기 ······································································· 21

2. 5. 프로젝트 생성 및 예제코드 ···································································· 24

3. 활용하기

3. 1. Roverdyn Library ······················································································ 34

3. 2. UART Library ··························································································· 35

3. 3. I2C/TWI Library ························································································· 36

3. 4. Bluetooth LE Library ················································································ 37

3. 5. SAADC Library ·························································································· 37

3. 6. SPI Library ·································································································· 37

3. 7. PWM Library ······························································································ 37

4. 지원

4. 1. 고객센터 및 기술지원 ·············································································· 38

4. 2. 수정 이력 ···································································································· 39

Page 3: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 1 -

1. 개요

1. 1. 특징 및 활용

본 제품은 블루투스5 모뎀과 단정밀도 부동소수점 연산기(FPU)를 포함하는 Cortex-M4F 프로세서를 내장

한 SoC(System on Chip)가 포함되어 있습니다. 전용 SDK와 무료 통합개발환경(IDE)를 제공하여 쉽고 빠르

게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

칩셋이 내장되어 있어 별도의 디버거 없이 UART to USB 통신을 사용하여 빠르고 쉽게 디버깅 할 수 있씁

니다. 또한 범용성이 뛰어난 2.54핀 규격의 커넥터를 사용한 GPIO핀이 내장되어 있어 nRF52810/nRF52832

칩셋의 모든 핀을 자유로이 사용할 수 있습니다.

Ÿ 블루투스 저에너지(Bluetooth LE) 디바이스

Ÿ 블루투스5 기반의 응용 시스템

Ÿ 스마트 디바이스

Ÿ 무선 통신이 필요한 임베디드 어플리케이션

J-Link 디비거 혹은 오픈 소스인 OpenOCD를 지원하는 프로그래머/디버거를 1.27mm(2열 10핀) 규격의

SWD 포트에 연결하여 소프트웨어를 디버깅하거나 프로그래밍 할 수 있으며 이를 지원하고 코드 길이 제

한이 없는 오픈소스 IDE인 Eclipse CDT와 유료 IDE인 IAR Embedded, Segger Embedded Studio(SES) 등의

다양한 통합개발환경(IDE)를 지원합니다. 따라서 사용자는 빠르고 저렴하게 원하는 시스템이나 제품을 손

쉽게 만들어 볼 수 있습니다. 또한 로버다인에서 제공하는 다양한 라이브러리를 로버다인 홈페이지에서 다

운로드하여 빠르게 기능을 활용할 수 있습니다.

사용자의 편리한 개발 지원을 위하여 개발환경 구축 및 기타 기술지원을 제공하고 있습니다. 보다많은 정

보는 로버다인 홈페이지(www.roverdyn.com)을 참조 해 주시기 바랍니다.

Page 4: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 2 -

1. 2. 제품 스펙

■ Mainboard

Dimension 60mm(L) × 32mm(W) × 9mm(H)

Weight About 7.5g

SoC Nordic nRF52832/52810-QFAA 64MHz

CPU Core ARM Holding Cortex-M4F(52810은 FPU 없음)

RAM Internal 64KBytes

Storage Internal 512KBytes Flash Storage

Debug Interface 4-pin Serial Wire Debug(SWD) Interface

Connectivity ADC(12-bit)×2, PWM×1, SWD×1, UART×1

Wireless Type Bluetooth 5.0 Low Energy(BLE, 3dBi Antenna)

Wireless Range Over 20m

Operating Voltage 2.8V – 3.6V

Input Voltage 5.0V – 5.5V (Max 6.0V)

Working Temperature -20℃ - 60℃

Power Consumption About 0.165Wh

■ Bluetooth Specification

Bluetooth Version

Bluetooth 5.0(SDK 6.1.1 이하)

Bluetooth 5.1(SDK 7.0.0 이상)

Freqeuncy 2,400MHz ~ 2,483MHz

Bluetooth Type Bluetooth LE Only

UART Service UUID 6e400001-b5a3-f393-e0a9-e50e24dcca9e

Notify Descriptor 000002902-0000-1000-8000-00805f9b34fb

Characteristic UUID(Read) 6e400003-b5a3-f393-e0a9-e50e24dcca9e

Characteristic UUID(Write) 6e400002-b5a3-f393-e0a9-e50e24dcca9e

Power Consumption TX : 17.5mW

RX : 12.2mW

Page 5: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 3 -

1. 3. 레이아웃 및 핀 맵

■ Mainboard Layout

■ Drawing

Page 6: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 4 -

■ Pinout

■ Pin connection of main SoC

Pin No. Description

P0.06 UART TX

P0.08 UART RX

P0.21 Reset Button (Active Low)

■ Supported SoC

- nRF52832-QFAA

- nRF52810-QFAA

Page 7: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 5 -

2. 개발환경 구축하기

2. 1. Eclipse CDT 및 플러그인 설치

■ 필요 소프트웨어 목록

- Eclipse CDT : www.eclipse.org

- JDK : https://www.oracle.com/technetwork/java/javase/downloads/index.html

- nRF5-SDK : 버전 16.0.0

- openOCD / J-link 소프트웨어

- ARM Windows Build Tool

- ARM GNU MCU for Eclipse

- 이클립스,JDK, J-Link 소프트웨어 이외의 소프트웨어는 로버다인 홈페이지에서도 다운로드

하실 수 있습니다.

■ JDK 설치하기

1. 오라클 홈페이지에서 JDK 최신 버전을 다운로드 하여 설치합니다. 이 때, 설치할 PC의 윈도우 버전

(32비트/64비트)에 따라 설치파일이 달라집니다.

2. 설치파일을 다운로드 후 마우스 오른쪽 클릭하여 관리자 권한으로 실행, 설치합니다. 기본 설정으로

설치 한 후 Close 버튼을 눌러 설치를 완료합니다.(환경변수 설정은 자동으로 잡히기 때문에 별도로

할 필요는 없습니다)

Page 8: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 6 -

■ Eclipse CDT 설치하기

1. 이클립스 최신 버전을 홈페이지에서 다운로드 후 관리자 권한으로 설치를 실행합니다. 실행 후 다음

과 같은 창이 뜨면 C/C++ IDE를 설치합니다.

2. 기본 설정으로 설치를 진행합니다. 설치 시 나타나는 드라이버는 모두 예/설치 버튼을 눌러 설치를

진행합니다.

※ 만약 위의 창이 나타나지 않는다면 JAVA 설치 및 환경설정이 정상적으로 되어있지 않은 상태입

니다. 다시 JDK부터 설치를 해 주세요.(환경 및 설치버전 JAVA Standard Edition DK 확인)

Page 9: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 7 -

3. 설치 후 Eclipse를 실행시켜줍니다. 상단 메뉴 중 Help를 선택한 후 [Eclipse Marketpalce...]을 선택

하여 패키지 설치 관리자 창을 열어줍니다.

4. 패키지 설치창이 나타나면 검색창에 ARM GCC MCU를 입력하여 검색한 후 설치버튼을 눌러 설치해

줍니다.

5. 패키지가 설치 된 후 재시작을 해 줍니다. 설치 완료 후 재시작 유무를 물어보는 팝업창이 나타난다

면 재시작(Restart) 버튼을 눌러 자동으로 프로그램을 재시작합니다.

Page 10: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 8 -

■ 필수 패키지 설치하기

1. Roverdyn 홈페이지에서 필수 소프트웨어를 다운로드 받은 후 압축을 해제합니다. Eclipse 폴더를 C

드라이브 최상단(C:\)에 이동 혹은 복사합니다.

2. Eclipse 폴더 내부의 파일과 경로를 확인합니다. 이때, 압축을 정상적으로 해제하지 않거나 임의의

폴더를 만들어서 해당 파일을 복사할 경우 오류가 발생할 수 있습니다. 하기 파일들이 위치한 폴더

와 상위 폴더의 파일명은 영어로 작성이 되어있어야 합니다.

Page 11: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 9 -

■ 환경변수 경로 설정하기

1. 필수 패키지를 사용하기 위해서는 환경변수의 경로를 설정하여야 합니다. 시스템에 환경변수 경로를

추가하기 위하여 시스템 속성 창을 열어줍니다. 시스템 속성 창은 [시작] - [실행] 혹은 [윈도우 키

+ R]을 눌러 실행 창을 열어준 다음 “sysdm.cpl” 명령어를 적은 후 확인 버튼을 누르면 나타납니다.

2. 시스템 속성 창이 실행되면 상단 탭 메뉴 중 [고급] - [환경변수] 메뉴를 선택합니다.

Page 12: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 10 -

3. 환경변수 창에서 시스템 변수 항목 중 “Path”를 찾은 후 더블클릭 하거나 아래쪽의 [편집] 버튼을 클

릭하여 변수 입력창을 열어줍니다.

4. 이제 새로 만들기 버튼을 눌러 아래의 세 항목을 추가하겠습니다. 첫 번째 항목은 Windows Built

Tool이며 두 번째는 ARM Embedded GCC 컴파일러, 세 번째는 OpenOCD의 bin 폴더를 추가합니다.

Page 13: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 11 -

5. 제일 먼저 Windows Build Tool의 bin 폴더를 추가합니다. 오른쪽의 [새로 만들기] 버튼을 클릭한 후

바로 [찾아보기] 버튼을 순서대로 클릭하면 경로를 지정할 수 있는 창이 나타납니다.

5. 필수 패키지 파일이 위치한 C:/Eclipse 폴더 내부의 Bulid Tools/2.12-20190422-1053/bin 폴더를 클

릭한 후 확인 버튼을 눌러 추가해줍니다.

Page 14: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 12 -

6. 같은 방법으로 GNU MCU GCC 컴파일러의 bin 폴더와 OpenOCD의 bin 폴더를 추가해줍니다.

6. 환경변수 설정이 완료되면 Eclipse CDT를 다시 실행시켜줍니다.

Page 15: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 13 -

2. 2. OpenOCD 디버깅 환경 구축하기

OpenOCD는 J-link와 같은 상용 디버거를 사용하지 않고 JTAG와 SWD를 지원하는 오픈소스 하드웨어와

소프트웨어를 바탕으로 만들어진 디버거를 이용하여 컴파일 및 디버깅 할 때 주로 사용됩니다.

1. 이클립스 IDE를 실행시킨 후 상단의 [RUN] - [DEBUG CONFIGURATION] 메뉴를 클릭합니다.

2. 설정창이 나타나면 왼쪽의 GDB OpenOCD Debugging 메뉴를 더블클릭하여 임의의 디버깅 환경설

정을 생성한 후 오른쪽 Browse 버튼을 클릭하여 .out 확장자로 되어있는 바이너리 파일을 불러옵니

다. 그리고 오른쪽 아래의 Apply 버튼을 눌러 적용합니다.

※ 기본 명칭은 New configuration으로 나타납니다.

Page 16: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 14 -

3. Executable path를 설정하기 위해서 상단의 Debug 탭을 선택하고 Browse 버튼을 클릭한 후 openo

cd.exe 파일을 찾아서 입력합니다. openocd.exe 파일은 c:/Eclipse/OpenOCD-20190715-0.10.0/bin/op

enocd.exe에 위치합니다. 브라우즈 버튼을 클릭하여 입력하는 것이 빠르고 간편합니다.

4. Config Options에 다음과 같이 명령어를 작성한 후 하단의 Apply 버튼을 누릅니다.

-f interface/cmsis-dap.cfg

-f target/nrf52.cfg

-c init

-c halt

-c "nrf51 mass_erase"

-c "flash write_image erase c:/Eclipse/nRF5_SDK_15.3.0/components/softdevice/s132/hex/s132_nrf52_6.1.1_s

oftdevice.hex"

-c reset

5. 하드웨어를 연결한 상태에서(전원인가 해야함) Debug 버튼을 눌러서 프로그램을 전송합니다.

Page 17: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 15 -

2. 4. J-Link 디버깅 환경 구축하기

μAHRS를 디버깅 하는 또 다른 하드웨어 및 시스템으로는 J-link를 사용하는 방법이 있습니다. J-link는 독

일의 SEGGER Microcontroller GmBH사가 만든 시스템으로서 Cortex-M 기반의 다양한 SoC와 MCU를 디버

깅할 수 있는 툴입니다. J-link는 사용자와 목적에 따라서 다양한 버전이 있으며 교육용 모델의 경우 J-link

EDU mini와 J-link EDU 버전이 있고 상용 버전의 경우에는 BASE, PLUS, ULTRA+, PRO 등등의 버전이 있

습니다. 세부 항목은 SEGGER 홈페이지를 참조 해 주시기 바랍니다.

1. 먼저 J-link 소프트웨어를 다운로드합니다. 홈페이지에 접속 후 상단 메뉴의 [Downloads] - [J-link /

J-trace] 메뉴를 클릭한 후 [J-Link Software and Documentation Pack] 항목을 찾아서 [Click for

downloads] 링크를 클릭합니다.

2. 다운로드 항목이 열리면 [J-Link Software and Documentation pack for Windows] 항목을 찾아 다운

로드합니다.

Page 18: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 16 -

3. 라이선스 동의를 한 후 소프트웨어를 다운로드합니다.

4. 설치파일을 실행시킨 후 기본 설정대로 프로그램을 설치합니다.

4-1. 아래와 같은 창이 나타나면 Ok 버튼을 눌러 업데이트를 합니다.

Page 19: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 17 -

5. 이클립스를 실행시킨 후 상단 메뉴 중 [Run] - [Debug Configurations]를 클릭합니다.

6. 디버깅 환경창이 나타나면 왼쪽 메뉴 중 [GDB SEGGER J-Link Debugging] 항목을 더블클릭하여 디버

깅 환경 설정창을 생성합니다. 만일 프로젝트가 생성되어 있는 상태라면 자동으로 프로젝트에 관한

내용이 작성되어 있습니다.

Page 20: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 18 -

7. 위쪽 상단의 [Debugger] 탭을 눌러준 후 [Executable Path] 항목의 오른쪽에 있는 [Browse] 버튼을 클

릭합니다. 이 작업은 앞서 설치한 J-Link 소프트웨어의 JLinkGDBServerCL.exe 파일의 위치를 지정하기

위함입니다.

8. J-Link 소프트웨어가 설치되어 있는 폴더를 찾아들어가 JLinkGDBServerCL.exe 파일을 선택한 후 확인

버튼을 눌러 반영합니다. 기본 설정으로 설치하였다면 주소는 다음과 같습니다.

C 드라이브 -> Program Files(x86) -> SEGGER -> JLink

반드시 JLinkGDBServerCL.exe를 선택하여야 합니다. JLinkGDBServer.exe는 동작하지 않습니다.

Page 21: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 19 -

9. [Device name:] 항목을 작성합니다. 만약 nRF52810 버전의 경우 nrf52810_xxaa로 작성하고 nRF52832

모델일 경우 nrf52832_xxaa로 작성합니다.

10. Connection 항목을 USB로 선택한 후 오른쪽 빈칸에는 JLink의 시리얼 번호를 적어넣습니다. 시리얼

번호는 JLink 본체의 뒷면에 위치합니다.

시리얼 번호는 보유한 J-Link 버전에 따라 다릅니다.

Page 22: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 20 -

11. [Other Options]을 다음과 같이 작성합니다.

-singlerun -strict -timeout 0

12. 상단의 [Startup] 탭을 누른 후 [Enable flash braekpoints], [Enable semihosting], [Enable SWO] 항목

을 모두 체크해제합니다.

13. 모든 설정이 끝났습니다. 하단의 Debug 탭을 눌러 디버깅을 할 수 있으며 모든 설정은 저장이 되어

다른 프로젝트를 만들어도 위의 설정이 유지됩니다.

Page 23: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 21 -

2. 4. Softdevice 다운로드 하기

nRF52810, nRF52832의 기능을 사용하려면 Softdevice라고 불리는 스택 소프트웨어를 칩셋에 다운로드

하여 사용할 수 있습니다. Bluetooth LE, Random Number 등과 같은 기능은 Softdevice에 내장되어 있

으므로 반드시 업로드하여 사용할 것을 권고합니다. Softdevice는 SDK 폴더에 포함되어 있으며 nRF52

칩셋의 버전에 따라(예를들어 nRF52832, nRF52810 등) 적용되는 버전이 다릅니다. nRF52832 시리즈의

경우 S132 스택을 다운로드 하여 사용하며 nRF52810의 경우 S113 스택을 다운로드한 후 사용할 수 있

습니다.

위의 스크린샷은 nRF52832 SoC 내부의 플래시 메모리의 사용 내역입니다. 주황색 영역은 Master Boot

Record(MBR)이며 파란색 영역은 Softdevice의 영역입니다. 상단의 초록색 영역은 Application, 즉 사용자

가 작성한 소스가 돌아가는 영역입니다.

Softdevice는 버전, 종류에 따라서 메모리의 크기가 다릅니다. 예를들어 S132 버전은 6.6.0 버전과 7.0.1

버전의 크기가 다릅니다. 따라서 메모리 크기에 유의해서 링커파일(LD)를 수정해주어야 합니다.

예를 들어 위의 사진에서 메모리는 0x00001000부터 0x000258C0까지 차지하는 것을 알 수 있습니다.

Page 24: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 22 -

■ nRF Connect 설치하기(J-Link only)

Softdevice를 다운로드하기 위해서는 우선 J-Link와 같은 디버거가 필요합니다. OpenOCD를 사용하는

경우에는 별도로 업로드 절차가 필요하지 않으며 2.2절의 명령어 상에서 Softdevice의 hex 파일의 주소

를 지정해주면 디버깅 시 자동으로 업로드가 됩니다.

J-Link를 사용하는 경우 nRF Connect를 사용하면 손쉽게 Softdevice를 업로드 할 수 있습니다. nRF

Connect는 노르딕사 홈페이지에서 다운로드 할 수 있습니다.

설치는 기본 설정 그대로 진행하면 됩니다.

■ Softdevice 다운로드 하기

1. nRF Connect를 실행시킨 후 목록 중 Programmer를 설치합니다.

Page 25: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 23 -

2. 프로그래머를 실행시킨 후 디버거와 BT5-9DOF-DK 보드를 연결한 다음 컴퓨터와 디버거를 USB 케이

블로 연결합니다. 그 후 왼쪽 상단의 [Select device] 메뉴를 눌러 디버거를 선택한 다음 오른쪽의

[Add HEX file] 버튼을 눌러 Softdevice의 hex파일을 찾습니다.

nRF52832에 사용되는 Softdevice S132 Hex 파일의 위치는 아래와 같습니다.

C 드라이브 -> Eclipse -> nRF5_SDK_16(버전에 따라 다름) -> components -> softdevice -> S132 -> hex

nRF52810의 Softdevice 버전은 S113이며 위치는 다음과 같습니다.

C 드라이브 -> Eclipse -> nRF5_SDK_16(버전에 따라 다름) -> components -> softdevice -> S113 -> hex

3. Hex 파일을 로드한 다음 오른쪽 아래의 Erase & write 버튼을 누르면 잠시 뒤 Softdevice가 업로드

됩니다. 이 때 기존에 업로드했던 모든 내용은 삭제가 되므로 Application을 다시 업로드 해주어야 합

니다.

Page 26: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 24 -

2. 5. 프로젝트 생성 및 예제 코드

μAHRS의 메인 프로세서인 nRF52832는 Eclipse를 비롯한 다양한 환경에서 컴파일하여 디버깅할 수 있

습니다. 본 제품의 통합개발환경(IDE)는 Eclipse CDT를 권장하며 Eclipse를 이용하여 컴파일 및 디버깅

하는 경우에는 Makefile과 링커파일을 이용하여 크로스컴파일 할 수 있습니다. 따라서 일반적인 이클립

스 프로젝트와 달리 Makefile 프로젝트를 생성하여야 하며 ARM Cross GCC 컴파일러를 이용하여 바이

너리 파일을 생성합니다.

본 매뉴얼은 [2. 1. Eclipse CDT 및 플러그인 설치]와 [2. 2. OpenOCD 디버깅 환경 구축하기] 혹은 [2.

3. J-link 디버깅 환경 구축하기] 항목을 모두 적용한 후에 사용이 가능합니다.

■ 프로젝트 생성하기

1. Eclipse CDT를 실행시킨 후 상단 메뉴 중 [New] - [C/C++ Project]를 선택합니다.

Page 27: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 25 -

2. 프로젝트 템플릿을 선택하는 창이 나타나면 C/C++ Managed Build를 선택합니다. 그리고

Next 버튼을 눌러 다음으로 넘어갑니다.

3. 먼저 프로젝트 명을 작성합니다.(1번) 그리고 [Project Type] 항목 중 [Makefile Project] 메뉴

를 펼쳐 [Empty Project]를 선택하고(2번) 오른쪽 [Toolchains] 항목 중 ARM Cross GCC 메뉴

를 클릭(3번)한 후 [Next >] 버튼을 눌러줍니다,

Page 28: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 26 -

4. [Select Configuration] 항목이 나타나면 Default를 선택하고 [Next >] 버튼을 누릅니다.

5. [GNU ARM Cross Toolchain] 항목이 나타나면 아래와 같이 설정한 후 [Finish] 버튼을 누릅니다.

Page 29: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 27 -

6. 프로젝트 생성창이 닫힌 후 왼쪽상단의 [Project Explorer] 창을 열어줍니다. 창 두 개가 겹쳐

있는 모양입니다.

6-1. Project Explorer 아이콘이 나타나지 않는다면 아래와 같이 [Window] - [Show View] -

[Project Explorer] 항목을 선택하여 활성화 할 수 있습니다.

Page 30: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 28 -

7. 프로젝트 익스플로러 창을 열면 아래와 같이 나타납니다. Includes 항목에는 헤더파일을 추가

할 수 있으나 Makefile을 이용하므로 헤더파일이 있는 폴더를 굳이 추가하지 않아도 됩니다.

8. 생성한 프로젝트를 컴파일 하기 위해서는 몇 개의 필수 파일을 복사해야 합니다. 컴파일하기

위해서는 Makefile, sdk_config.h, 링커파일이 필요합니다. 해당 파일은 모두 nRF52 SDK에 포

함되어 있습니다. 이 파일을 복사하기 위하여 먼저 생성한 프로젝트 폴더를 찾아서 들어갑니

다. 프로젝트 폴더는 사용자가 설정한 값에 따라 다릅니다.

9. 다음은 필수 파일을 복사하기 위해 다음 폴더를 찾습니다. 위의 예제를 따라했다면 주소는

다음과 같습니다.

C 드라이브 -> Eclipse -> nRF5_SDK_15.3.0(버전에 따라 다름) -> config -> nrf52810/52832

Page 31: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 29 -

10. 제일 먼저 링커파일을 복사합니다. 링커파일은 9번에서 찾은 폴더의 armgcc 폴더 내부에

있습니다. generic_gcc_nrf52.ld 파일을 8번에서 찾은 프로젝트 폴더로 복사합니다.

11. 다음은 sdk_config.h 파일을 복사합니다. 9번에서 찾은 폴더의 config 폴더 내부에 있습니다.

sdk_config.h 파일을 8번에서 찾은 프로젝트 폴더로 복사합니다.

12. 마지막으로 Makefile 폴더를 복사합니다. Makefile 폴더는 9번에서 찾은 주소와 달리 예제

폴더 내부에 있습니다. 아래의 주소로 찾아가서 Makefile을 프로젝트 폴더로 복사합니다.

C 드라이브 -> Eclipse -> nRF5_SDK_15.3.0(버전에 따라 다름) -> examples -> peripheral -> blinky

-> pca10040 -> s132 -> armgcc

13. 모든 파일의 복사가 끝나면 프로젝트 폴더는 아래와 같이 파일이 있습니다.

Page 32: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 30 -

14. 다시 Eclipse로 돌아와서 프로젝트 탐색기를 열어줍니다. 프로젝트 탐색기 중에서 생성한 프

로젝트 폴더를 선택한 후 F5키를 눌러주거나 마우스 오른쪽 버튼 클릭 후 Update 버튼을

클릭하여 새로 추가된 파일을 반영합니다.

15. 컴파일 하기 위해서는 Makefile을 수정해야합니다. 프로젝트 탐색기에서 Makefile 파일을 더

블클릭하여 열어준 후 SDK_ROOT := 항목을 C:/Eclipse/nRF5_SDK_15.3.0 으로 바꾸어줍니

다.(1번) 그리고 LINKER_SCRIPT 항목을 generic_gcc_nrf52.ld로 바꾸어줍니다.(2번) 다음은 컴

파일 할 소스 파일을 지정하는 항목입니다. 새로 추가할 소스는 main.cpp이므로 SRC_FILES

항목에 한 칸을 만든 후 $(PROJ_DIR)/main.cpp \를 추가합니다.(3번) \(역슬래쉬)는 ‘\’ 키

와 같습니다. 마지막으로 복사한 sdk_config.h 파일의 위치를 지정합니다. INC_FOLDERS 항

목에 $(PROJ_DIR) \을 추가해줍니다.(4번)

Page 33: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 31 -

16. INC_FOLDERS 항목중 ../config\ 줄을 지워줍니다.

17. 다음은 프로그램을 작성할 소스파일을 만듭니다. 왼쪽의 프로젝트 탐색기에서 프로젝트 폴

더를 선택한 후 [마우스 오른쪽 클릭] - [New] - [Source File]을 선택합니다.

18. [Source file:] 항목에 main.cpp를 적습니다. 그리고 [Finish] 버튼을 눌러줍니다.

Page 34: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 32 -

19. 소스파일을 작성하면 아래와 같이 기본 코드를 작성해줍니다. 아래 코드는 예제로서 마음대

로 바꿀 수 있으며 int main() 함수는 반드시 있어야 합니다.

20. 디버깅 하기 위해서는 상단의 [Run] - [Debug Configurations] 메뉴를 선택합니다.

Page 35: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 33 -

21. 디버깅 설정창에서 OpenOCD 혹은 GDB SEGGER J-Link Debugging 항목을 선택합니다. 해

당 항목은 가지고 있는 디버거에 따라 달라집니다. 2.2 항목과 2.3 항목을 따라하셨다면 기

본 설정이 되어 있습니다. 따라서 바로 [Debug] 버튼을 누르면 디버깅을 시작합니다.

22. 한번 디버깅 환경을 설정해두면 메인 화면에서 손쉽게 디버깅을 할 수 있습니다. 왼쪽 상단

의 벌레모양 아이콘을 누르면 컴파일과 디버깅이 동시에 진행됩니다.

Page 36: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 34 -

3. 활용하기

3. 1. Roverdyn Library 개요

이 개발보드는 사용자가 C/C++ 프로그래밍 언어를 이용하여 자유로이 기능을 추가하거나 변경할 수 있

습니다. 사용하는 MCU를 활용하기 위해서는 SDK를 사용하여 소스를 작성하여 컴파일 후 디버깅하여야

하며 사용자의 사전 지식을 필요로 합니다. 따라서 로버다인에서는 손쉽고 빠르게 기능을 활용할 수 있도

록 라이브러리를 제작하여 제공하고 있습니다. 해당 라이브러리는 GPL 라이선스를 따릅니다. 소스코드는

공개되어 있으며 수정 및 배포를 할 수 있으나 원저작자의 출처를 밝혀야 합니다.

■ Library List

지원되는 라이브러리의 개수와 이름은 변경될 수 있습니다.

No. Library Use

1 UART 컴퓨터와� UART� 통신을�하기�위한� 라이브러리입니다.

2 TWI I2C� 통신�라이브러리입니다.

3 BluetoothLE Bluetooth� LE를�사용하기�위한� 라이브러리입니다.

4 MPU9250 MPU9250� 센서� 라이브러리

■ Download Library

라이브러리는 로버다인 홈페이지에서 다운로드 할 수 있습니다. 홈페이지의 레이아웃과 디자인은 변경될

수 있습니다.

Page 37: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 35 -

3. 2. UART Library

nRF52810/52832와 CP2104 USB to UART Bridge 칩셋은 컴퓨터의 VCP 포트와 UART 통신을 할 수 있도

록 구성되어 있습니다. 이 기능을 사용하여 puTTY 등과 같은 터미널 프로그램을 사용하거나 다른 MCU와

손쉽게 통신 할 수 있습니다.

■ Initialize

1. 사용하고자 하는 소스코드 상단에 라이브러리 헤더파일은 인클루드 합니다.

#include� “UART.h”

2. 클래스를 선언합니다. 클래스 명은 _Serial입니다.

_Serial� Serial;

3. main 함수 안에 초기화 함수를 호출합니다. BAUDRATE는 4800부터 2의 배수입니다.(최대 460800)

...

int� main(void){

� � � Serial.begin(BAUDRATE);

� � � ...

}

4. 전체 코드는 다음과 같습니다.

#include� “UART.h”

_Serial� Serial;

...

int� main(void){

� � � Serial.begin(BAUDRATE);

� � � ...

}

■ Function, Macro, Variables

1 void� begin(uint32_t� baudrate) Return Null

§ 매개변수� :� BAUDRATE(4800� ~� 460800)

§ UART� 통신�기능을�활성화�합니다.� UART는� RX핀� 8번,� TX핀� 6번으로�서비스�됩니다.

2 void� end() Return Null

§ 매개변수� :� 없음

§ UART� 통신을�비활성화�합니다.

3 uint16_t� print(const� char� *message) Return 보낸�데이터�길이

§ 매개변수� :� 보낼� 데이터

§ 줄�바꿈이�없는� 데이터를�보냅니다.

Page 38: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 36 -

4 uint16_t� println(const� char� *message) Return 보낸�데이터�길이

§ 매개변수� :� 보낼� 데이터

§ 줄바꿈(CRLF)가�있는�데이터를�보냅니다.

5 uint16_t� available() Return 수신한�데이터�길이

§ 매개변수� :� 없음

§ 수신된�데이터의�길이를�리턴합니다.

6 uint8_t� read() Return 읽은�데이터

§ 매개변수� :� 없음

§ 수신된�데이터를�리턴합니다.

3. 3. I2C/TWI Library

- 추후 작성

3. 4. Bluetooth LE Library

nRF52832의 블루투스 기능을 사용하기 위해서는 Softdevice를 사용하여야 합니다. 블루투스 저에너지

(Bluetooth LE)는 다양한 서비스를 제공할 수 있지만 그 중에서도 Bluetooth UART 서비스는 단순히 데이

터를 주고받을 수 있기 때문에 널리 사용됩니다. Roverdyn에서는 블루투스 UART(Nordic UART Service,

NUS)를 손쉽게 사용할 수 있도록 라이브러리 형태로 소스코드와 함수를 제공하고 있습니다.

■ Initialize

1. 사용하고자 하는 소스코드 상단에 라이브러리 헤더파일은 인클루드 합니다.

#include� “Bluetooth.h”

2. 클래스를 선언합니다. 클래스 명은 _BLE입니다.

_BLE� BLE;

3. main 함수 안에 초기화 함수를 호출합니다.

...

int� main(void){

� � � BLE.Init();

� � � ...

}

4. 전체 코드는 다음과 같습니다.

Page 39: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 37 -

#include� “Bluetooth.h”

_BLE� BLE;

...

int� main(void){

� � � BLE.Init();

� � � ...

}

■ Function, Macro, Variables

1 void� Init() Return Null

§ 매개변수� :� 없음

§ 블루투스�스택을�활성화�하고� UART� 관련�서비스를�초기화합니다.

2 void� send(const� char� *message) Return Null

§ 매개변수� :� 보내고자�하는� 데이터

§ 연결된�장치로�데이터를�보내는�함수입니다.

3. 5. SAADC Library

- 추후작성

3. 6. SPI Library

- 추후작성

3. 7. PWM Library

- 추후작성

Page 40: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 38 -

4. 지원

4. 1. 고객센터 및 기술지원

회사명 로버다인(Roverdyn)

연락처 070-7808-9803

홈페이지 http://www.roverdyn.co.kr

기술지원 [email protected]

주소 (14348)경기도�광명시�일직로� 72� 광명무역센터� A동� 605호

※ 방문 시 사전 연락을 부탁드립니다.

Page 41: 블루투스5 개발 보드 5 Dev Board... · 2020-02-11 · 게 원하는 임베디드 시스템을 개발 할 수 있습니다. USB Micro 5핀 인터페이스와 USB to UART Bridge

- 39 -

4. 2. 수정 이력

수정일 수정내용

1 Feb.� 2,� 2020 최초�작성


Recommended