안녕하세요? 착한이입니다.
Nordic 사의 nRF52840을 이용한 BLE 5.0 강좌를 시작합니다.
본 강좌에서는 nRF52840을 장착한 nRF52840 Dongle(USB 방식)과
nRF52840 DK(Development Kit) 보드를 이용하여 BLE 5.0 펌웨어 개발에 대해 알아 보고자 합니다.
nRF52840 관련 자세한 사항은 다음 사이트에서 확인하실 수 있습니다.
https://www.nordicsemi.com/Products/Low-power-short-range-wireless/nRF52840
nRF52840 Dongle 제품에 대한 자세한 사항은 다음 사이트에서 확인하실 수 있습니다.
https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52840-Dongle
nRF52840 DK 보드에 대한 자세한 사항은 다음 사이트에서 확인하실 수 있습니다.
https://www.nordicsemi.com/Software-and-Tools/Development-Kits/nRF52840-DK
[BLE 5.0 강좌 01] nRF52840 BLE 5.0 개발 준비 과정 1 - nRF Connect와 nRF5 SDK 설치
http://www.wearedev.net/?m=bbs&bid=lecture&cat=Hardware&uid=187
지난 강좌에 이어서 BLE 5.0 펌웨어 개발 환경 설정에 대해 알아 보겠습니다.
nRF52840용 BLE 5.0 펌웨어를 개발하려면 다음 툴이 필요합니다.
- nRF Connect for Desktop
- nRF5 SDK
- SEGGER Embedded Studio(SES) : Keil 또는 IAR 사용 가능
- nrfutil : 옵션 사항
- nRF Connect App : Android, iphone
본 강좌에서는 SEGGER Embedded Studio 설치와 예제 빌드 방법에 대해 살펴 보겠습니다.
1. SEGGER Embedded Studio 설치
SEGGER Embedded Studio는(이하 SES)는 BLE 5.0 펌웨어 개발을 위한 통합 개발 환경을 제공합니다.
프로젝트 관리, 소스 코드 에디팅, 디버깅 등의 기능을 지원합니다.
IAR, Keil와 같은 프로그램으로도 개발이 가능하지만 본 강좌에서는 SES를 이용하도록 하겠습니다.
최근에는 Visual Studio Code를 이용해서도 펌웨어 개발이 가능합니다.
이 부분은 차후에 살펴 보겠습니다.
SES는 Windows, Linux, macOS 운영체제를 지원하며, 다음 사이트에서 다운로드 받을 수 있습니다.
https://www.segger.com/downloads/embedded-studio/
PC의 운영체제에 맞는 버전을 선택해서 설치 파일을 다운로드 합니다.
본 강좌에서는 Embedded Studio for ARM, Windows, 64-bit 버전을 기준으로 설명합니다.
현재 버전은 4.12 이며, Setup_EmbeddedStudio_ARM_v412_win_x64.exe 파일이 다운로드 됩니다.
설치 파일을 더블 클릭하면 설치가 진행 됩니다.
다음 화면에서 "Next" 버튼을 클릭합니다.
라이센스에 동의한 후, "Next" 버튼을 클릭합니다.
SES 설치 경로를 선택합니다. "Next" 버튼을 클릭합니다.
Program Folder를 지정합니다. "Next" 버튼을 클릭합니다.
파일 확장자 연결을 선택한 후, "Next" 버튼을 클릭합니다.
추가 설치될 기능을 선택합니다. "Next" 버튼을 클릭합니다.
"Install" 버튼을 클릭합니다.
다음 화면과 같이 설치가 진행됩니다.
설치가 성공적으로 완료되면 다음 화면이 나타납니다.
"Finish" 버튼을 클릭해서 창을 닫습니다.
SES 프로그램이 다음 화면과 같이 실행됩니다.
이제 BLE 5.0 펌웨어를 개발할 수 있습니다.
nRF5 SDK에 포함된 예제를 수정할 수 있으며, 빌드 및 디버깅도 가능합니다.
여기까지 SES 프로그램 설치에 대해 알아 보았습니다.
만약 기본 예제가 빌드가 되지 않는다면 프로그램을 제거 후, 재설치하면 됩니다.
개발 PC의 운영체제에 맞는 버전이 설치 되었는지도 꼭 확인하시길 바랍니다.
2. SEGGER Embedded Studio로 예제 빌드하기
설치가 완료 되었으니 SES를 이용해서 BLE 5.0 예제를 빌드 해 보겠습니다.
지난 강좌에서 설치한 nRF5 SDK에는 예제가 포함되어 있습니다.
본 강좌에서는 다음 경로의 ble_app_blinky 예제를 빌드해 보겠습니다.
SDK_ROOT\example\ble_peripheral\ble_app_blinky
nRF5 SDK에는 SES 프로젝트 파일이 포함되어 있습니다.
nRF52840 Dongle용으로 빌드하기 위해서는 다음 경로로 이동하여
ble_app_blinky_pca10059_s140.emProject 파일을 클릭하면
SES로 프로젝트가 로딩됩니다.
SDK_ROOT\example\ble_peripheral\ble_app_blinky\pca10059\s140\ses
또는 다음 그림과 같이 "File-Open Solution..." 메뉴를 클릭합니다.
예제 경로 이동해서 emProject 파일을 선택해도 프로젝트를 로딩할 수 있습니다.
프로젝트가 로딩이 되면 main.c 파일을 비롯한 소스 코드와 라이브러리가 다음 화면과 같이
표시 됩니다.
소스 코드를 빌드하기 위해서 "Build-Build and Debug" 메뉴를 클릭합니다.
빌드가 진행되고 오류 없이 성공했다면 다음 화면과 같이 Output 창에 결과가 표시됩니다.
빌드가 성공했다면 다음의 경로에 hex 파일이 생성됩니다.
SDK_ROOT\example\ble_peripheral\ble_app_blinky\pca10059\s140\ses\
Output\Release\Exe\ble_app_blinky_pca10059_s140.hex
hex 파일이 생성되지 않았다면 빌드 오류가 발생한 것이니 오류 부분을 수정해야 합니다.
생성된 hex 파일과 nRF5 SDK에 포함된 softdevice hex 파일을
Progammer App으로 nRF52840 Dongle에 Write 할 수 있습니다.
이 부분은 차후 강좌에서 알아 보겠습니다.
지금까지 SES 설치와 SES를 이용한 BLE 5.0 예제 빌드하는 방법에 대해 알아 보았습니다.
다음 강좌에서 뵙겠습니다.
즐거운 개발하시길 바랍니다.
본 강좌는 다음 유튜브 채널에 동영상으로 제공됩니다.
https://www.youtube.com/c/WeAreDev
구독 부탁 드립니다.