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 시리즈 소개

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 설치하기

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 설치

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 등의 파일이 생성됩니다. 해당 파일의 역할은 다음 예제 프로젝트에서 확인할 수 있습니다. 이제 펌웨어를 개발하기 위한 모든 준비가 완료되었습니다.

Shopping cart close