nRF52832 개발일지 (0)

치삼이·2021년 6월 22일
2

nRF52832 개발일지

목록 보기
1/8
post-thumbnail

👨‍💻 개발일지 (0) : SoC 소개 및 개발환경 구축

1. nRF52832 Specification

nRF52832는 노르웨이에있는 Nordic Semiconductor의 SoC입니다. 기본적으로 Bluetooth 5.2를 지원 및 NFC, Zigbee 등 PAN 프로토콜을 지원합니다. SoC의 간단한 스펙을 알아봅시다.

  • 64 MHz Arm Cortex-M4 with FPU
  • 512 KB Flash, 128 KB RAM
  • UART, SPI, TWI, PDM, HS-SPI, I2S, PWM
  • 12-bit ADC
  • USB 2.0
    ...

SoC의 코어 CPU가 ARM Cortex-M4입니다. Real Time OS에 적합한 CPU를 이용하며 기본적인 하드웨어 프로토콜(UART, SPI, Etc) 및 12-bit ADC를 지원합니다.

2. SDK Download 및 살펴보기

2.1 SDK Download

nRF52832에서 사용할 Library 및 Driver는 Nordic Semiconductor의 홈페이지에서 다운로드 합니다.

🔗 Nordic SDK Download

위 링크에 접속하시면 SDK 및 SoftDevice를 다운받을 수 있습니다. 현재 최신 버전은 17.0.2 입니다. 기본적으로 모든 SoftDevice역시 같이 다운받게 되어 있습니다. 다운을 원하시지 않으면 ✔ 표시를 클릭해 해제하면 됩니다.

맨 아래로 Downloads file을 클릭합니다.

2.2 SDK 내부 살펴보기

SDK를 다운받고 압축을 해제하면 아래와 같은 디렉토리들을 보실 수 있습니다. (굵은 글자는 자주 방문할 디렉토리 입니다.) 각 디렉토리의 간단한 설명은 아래와 같습니다.

📁components: nRF보드를 구성하는 요소 및 라이브러리정의
📁 config: nRF보드의 flash적재를 위한 flash_placement.xml 및 링커스크립트
📁 documentation: nRF보드 문서
📁 examples: 각종 예제
📁 external: FreeRTOS, lwip 같은 써드파티 및 외부 모듈
📁 external_tools: CMSIS config 프로그램 (JAVA)
📁 integration: 구버전 모듈 통합을 위한 헤더파일
📁 modules: 드라이버 및 모듈 파일
📃 license.txt: 라이센스 텍스트

Nordic SDK에서 'nrf_drv'로 시작하는 가진 모듈은 구버전이며 'nrfx'로 시작하는 모듈이 신버전 입니다. 이 구버전 프로젝트와 신버전 프로젝트의 통합을 위해 integration 디렉토리가 필요합니다. 또한 Nordic에서는 'nrfx' 모듈만 github에서 다운 받을 수 있습니다.

🔗 Nordic nrfx github repository

레파지토리의 구조와 modules 디렉토리 구조가 같네요.

3. Segger Embedded Studio

3.1 Embedded Studio 설치

Segger Embedded Studio는 독일 Segger에서 만든 IDE(Integrated Development Environment)입니다. 기본적으로 상업용을 제외하면 무료로 사용가능 합니다만... 개인적인 취향은 Jetbrain의 CLion을 더 이쁘지만 CLion은 유료 라이센스를 구매해야 합니다.

Embedded Studio는 Segger사의 홈페이지에서 다운로드가 가능합니다. 또한 다운받은 이후 Nordic 패키지를 설치하겠습니다.

🔗 Embedded Studio Download

Embedded Studio는 ARM 과 RISC-V 있습니다. nRF52832의 CPU는 ARM 아키텍쳐이므로 ARM 버전 EmStudio를 사용하며, 자신의 운영체제 맞는 버전을 다운 받습니다.

3.2 Nordic Package 설치

EmStudio의 Tools > Package Manager... 를 클릭합니다.

Package Manager에서 nRF CPU Support Package 를 찾고 클릭한뒤 설치를 시작합니다.

3.3 EmStudio SDK Macro 설정

IDE에서 SDK를 편리하게 사용하기위해 Macro를 설정 하겠습니다. 우선 Tools > ⚙️ options... 를 클릭합니다.

아래와 같이 Building > Global Macros 탭을 열어 아래와 같이 설정합니다.

매크로는 위에 보이는것 다음과 같이 설정합니다.

MACROS_KEY = MACROS_VALUE

저는 D 드라이브에 SDK라는 디렉토리를 생성한뒤 SDK를 저장했습니다.

nRF5_SDK_17 = D:/SDK/nRF5_SDK_17.0.2_d67dde

매크로를 이용하려면 아래와 같은 규칙으로 사용합니다.

$(MACROS_KEY)

위와 같이 작성한뒤 OK 를 클릭하고 저장합니다. 방금 저장한 Macro는 EmStudio 전반에 걸쳐 사용할 수 있습니다. 방금 설정한 Macro는 아래와 같이 사용할 수 있습니다.

SDK의 경로를 Macro를이용해 include 할 디렉토리등을 깔끔하게 선언 했습니다.

Project Explorer 탭 에서 Project 'PROJECT_NAMAE' 을 우클릭 혹은 Alt + Enter를 이용해 프로젝트 고유 설정에서 Macro 변수를 사용할 수 있습니다.

0개의 댓글