Lecture 1. 개발 환경 구축하기
강의목표
- Microsoft Visual Studio Code 기반의 nRF52 시리즈의 개발환경 구축
- SEGGER J-Link 기반의 디버깅/프로그래밍 환경 구축
- nRF Conenct SDK 설치 및 환경 설정
- VS Code의 기본 환경 설정
준비물
- Roverdyn nRF52 개발 보드 × 1 (구매하기)
- 전원 공급용 Type-C USB 케이블 × 1
- Windows 데스크톱 혹은 랩톱 × 1
nRF52 시리즈 소개
![](https://roverdyn.com/wp-content/uploads/2024/05/cutoff2-300x300.png)
![](https://roverdyn.com/wp-content/uploads/2024/03/cutoff1-300x300.png)
nRF52 시리즈는 Cortex-M4 혹은 Cortex-M4F CPU 코어를 탑재하고 BluetoothLE 5.2를 제공하는 Nordic Semiconductor 사의 시스템 온 칩(SoC) 제품입니다. 하나의 단일 CPU로 블루투스 저에너지(BLE), I2C, SPI, UART 등의 대부분의 임베디드 환경에서 필요한 기능을 제공하고 있습니다. nRF52 시리즈는 64MHz의 클럭을 가지는CPU를 내장하고 있어 다양한 수학적 연산을 수행할 수 있으며 nRF52832 이상 시리즈는 단 정밀도 부동 소수점 연산기(Single precision FPU)를 내장하고 있어 수학 연산 등을 더욱 빠르게 수행할 수 있습니다.
nRF Command Line Tools 설치
nRF52 개발 환경을 구축하기 위해서는 먼저 Nordic Semiconductor 사에서 제공하는 몇 가지의 툴을 설치하여야 합니다. 이 중 nRF Line Command Tools는 다양한 작업을 하기 위한 기본이 되는 툴로서 반드시 설치하여야 합니다. 또한 nRF Connect for Desktop 등의 소프트웨어를 설치하면 좀 더 편한 개발 환경을 구축할 수 있습니다. 권장하는 설치 프로그램은 다음과 같습니다.
- nRF Command Line Tools(필수)
- nRF Connect for Desktop(선택)
nRF Command Line Tools는 다음 링크에서 다운로드 할 수 있습니다.
위 링크에 접속한 후 아래로 스크롤하여 설치 파일을 다운로드 할 수 있습니다. 다운로드 페이지의 좌측에서 사용하고 있는 OS에 맞는 설치 파일을 선택할 수 있습니다. 다운로드 한 설치 파일은 [마우스 좌측 클릭] – [관리자 권한으로 실행] 하여 관리자 권한으로 설치를 진행합니다. 설치 시 별도의 설정 변경 없이 설치를 진행하는 것이 좋습니다.
Microsoft Visual Studio Code 설치하기
![](https://roverdyn.com/wp-content/uploads/2024/05/png-clipart-visual-studio-code-full-logo-tech-companies.png)
Microsoft Visual Studio Code(이하 VS Code)는 Microsoft 사에서 제작한 텍스트 에디터로, OpenJS 재단에서 개발한 Electron 프레임 워크를 기반으로 합니다. 텍스트 에디터인 만큼 VSCode 자체적으로 컴파일이나 다운로드할 수 없지만, 다양한 애드온(Add-on)을 활용하여 통합 개발 환경(IDE)처럼 사용할 수 있습니다. 또한 다양한 운영체제에서 사용할 수 있어 유연한 개발 환경을 구축할 수 있습니다. VS Code는 다음과 같은 플랫폼에서 동작합니다.
- Windows 10(64비트) 이상
- Linux Ubuntu 20.04 이상
- Linux Debian 10 이상
- Red Hat Linux Pedora 36 이상
- MacOS 10.13 High Sierra 이상
본 강의에서는 Windows 11 기반의 운영체제에서 개발 환경을 구축하였습니다.
먼저 VSCode를 다운로드 합니다. VSCode는 Microsoft사의 홈페이지나 아래 링크를 통하여 다운로드 할 수 있습니다.
링크에 접속하여 위 이미지와 같은 화면이 나타나면 VS Code 설치 파일을 다운로드 할 수 있습니다. 위 화면에서 붉은색 사각형 원 내부에 있는 다운로드 버튼을 눌러서 다운로드할 수 있으며 만약 다른 운영체제를 사용중이라면 버튼 우측의 아래쪽 방향 화살 모양 아이콘을 눌러 사용하는 운영체제에 맞는 설치 파일을 내려받을 수 있습니다.
설치 파일이 다운로드 완료된 후 설치 파일을 [마우스 오른쪽 버튼] – [펼침 메뉴에서 관리자 권한으로 실행]을 눌러 관리자 권한으로 설치를 진행합니다. 설치 시 설정을 별도로 바꾸지 않고 기본 설정대로 설치를 진행합니다. 만약 필요한 경우 설치 경로 등을 별도로 설정할 수 있습니다.
VS Code의 설치가 완료되었다면 플러그인 설치 및 개발 환경 설정을 위해 프로그램을 실행합니다. 먼저 좌측 메뉴 중 [Extensions] 메뉴를 클릭합니다.
위 이미지에서 다음 확장 기능을 검색하여 설치합니다.
- C/C++
- C/C++ Extension Pack
- CMake Tools
- nRF Connect for VS Code Extension
모든 프로그램을 설치한 후 VSCode를 재실행합니다.
SEGGER J-Link 설치
![](https://roverdyn.com/wp-content/uploads/2024/05/20240506_201226.jpg)
![](https://roverdyn.com/wp-content/uploads/2024/05/20240219_145128-1024x768.jpg)
SEGGER J-Link 독일의 SEGGER Microcontroller GmBH사에서 만든 디버깅 및 프로그래밍 하드웨어 및 소프트웨어 툴입니다. J-Link는 Cortex-M 시리즈 외에도 Cortex-A 시리즈, Cortex-R 시리즈 CPU 코어를 지원합니다. J-Link는 nRF 시리즈의 SWD 핀과 연결하여 사용하며, 컴파일된 바이너리 파일을 MCU로 다운로드하여 프로그래밍 하거나 동작을 모니터링하는 디버깅 기능 등을 제공합니다. J-Link 장비는 별도로 구매하여서 사용하여야 하며 만약 J-Link의 가격이 부담될 경우 OpenOCD를 활용하여 가격이 보다 저렴한 ST-Link V2 등과 같은 다양한 Debugger/Programmer를 사용할 수 있습니다. J-Link를 사용하기 위해서는 드라이버 및 소프트웨어 패키지를 설치하여야 합니다. 아래 링크를 클릭하여 다운로드 할 수 있습니다.
다운로드 링크를 클릭하여 접속하면 다운로드 페이지가 나타나며 ” J-Link Software and Documentation Pack” 항목에서 설치파일을 다운로드 할 수 있습니다. 위 이미지를 참조하여 사용하는 OS에 맞는 설치 파일을 다운로드합니다. 다운로드 한 소프트웨어는 [관리자 권한으로 실행] 하여 설치를 진행 하는 것을 권장합니다. 설치 시 별도의 설정 변경 없이 설치를 진행 하는 것을 권장합니다.
Toolchain 및 SDK 설치
이제 개발을 위한 마지막 단계입니다. VS Code의 Extension에서 nRF Connect for VS Code Extension 을 설치하였다면 좌측 메뉴에서 “nRF Connect” 아이콘을 확인할 수 있습니다. 해당 아이콘을 클릭하여 Toolchain 및 nRF SDK를 설치할 수 있습니다.
먼저 Toolchain을 설치하도록 하겠습니다. 위 이미지를 참조하여 툴 체인 설치 버튼을 찾을 수 있습니다. [Install Toolchain] 버튼을 눌러 툴 체인 설치를 시작합니다.
툴 체인 버전을 선택합니다. beta 버전을 제외한 최신 버전을 설치하는 것을 권장합니다.
툴 체인을 선택하면 자동으로 다운로드 및 설치를 진행합니다. 설치가 완료되면 좌측 메뉴가 변경되며 이제 SDK를 설치할 수 있게 됩니다.
SDK를 설치하기 위해서 좌측 “NRF CONNECT” 패널에서 [Manage SDKs]를 클릭하여 설치 창을 열어주세요. 설치 창이 열리면 [Install SDK]를 눌러 SDK 설치를 진행합니다.
SDK 버전을 선택합니다. SDK 버전은 Toolchain 버전에 맞추어 설치 하는 것을 권장합니다. beta 혹은 dev 버전을 제외하고 선택합니다. 최신 버전에 따라 설치 방법이 다소 달라질 수 있습니다.
SDK 버전을 선택하고 나면 SDK가 설치 될 폴더의 경로를 설정합니다. 직접 경로를 입력 할 수 있고 또한 우측 상단의 폴더 모양 아이콘을 클릭하면 폴더를 대화상자로 선택할 수 있습니다.
다운로드 및 설치는 자동으로 진행됩니다. 설치가 완료되면 우측 하단에 설치가 완료되었음을 알리는 알림창이 나타나며 여기서 [Use this SDK] 버튼을 클릭하여 SDK를 활성화 합니다. SDK 설치가 완료되면 좌측의 “NRF CONNECT” 패널에 설치한 SDK의 버전이 나타납니다. 모든 SDK가 설치 완료되면 VS Code를 재부팅합니다.
첫 프로젝트 생성 및 컴파일
위 세 가지 소프트웨어와 Toolchain 및 SDK를 모두 설치하였다면 nRF52 시리즈 개발을 위한 기본 환경이 구축되었다고 할 수 있습니다. 이제 VS Code와 J-Link를 활용하여 나만의 펌웨어를 개발 할 수 있습니다. nRF52 시리즈는 C/C++ 언어를 사용하여 펌웨어를 개발할 수 있습니다. 이제 새로운 개발 프로젝트를 만들어 보겠습니다. 모든 개발의 시작은 프로젝트를 새로이 만드는 것부터 시작됩니다.
VS Code에서 새 개발 프로젝트를 만들기 위해서 먼저 좌측의 메뉴 아이콘 중 [Run and Debug] 메뉴를 클릭한 후 [NRF CONNECT: WELCOM] 패널 – [Create a new application] 메뉴를 눌러줍니다. 만약 [Run and Debug] 메뉴가 없다면 [nRF CONNECT] 아이콘을 클릭하면 새 프로젝트를 생성할 수 있는 패널이 나타납니다.
[Create a blank application] 메뉴가 나타납니다. 해당 메뉴에서 “Create a blank application”을 선택합니다. 만약 샘플 코드를 로드하려면 “Copy a sample” 메뉴를 선택합니다.
새 프로젝트를 저장할 폴더의 위치를 선택할 수 있습니다. 경로를 직접 작성하여 선택할 수 있으며 또한 우측 상단의 폴더 모양 아이콘을 클릭하면 대화 상자를 이용하여 저장할 경로를 설정할 수 있습니다. 이 때 선택 되는 폴더는 프로젝트 폴더가 선택되는 위치입니다.(선택한 폴더 밑에 프로젝트 폴더가 새로이 생성됩니다)
새로운 프로젝트가 생성 완료되면 위와 같이 새 프로젝트가 생성되었음을 알리는 창이 나타납니다. 이 때 [Open] 버튼을 누르면 열린 VS Code 창에서 새 프로젝트가 실행되며 [Open in New Window] 버튼을 누르면 새로운 VS Code가 실행되며 프로젝트가 로드 됩니다.
프로젝트가 성공적으로 생성되면 왼쪽의 [Explorer] 패널에 프로젝트 파일이 자동으로 생성됨을 확인할 수 있습니다. 기본적으로 src 폴더 내부에 main.c 파일이 생성되며, CmakeList, prj.conf 등의 파일이 생성됩니다. 해당 파일의 역할은 다음 예제 프로젝트에서 확인할 수 있습니다. 이제 펌웨어를 개발하기 위한 모든 준비가 완료되었습니다.