Процесс по шагам:
1. Установка nRF Command Line Tools. На страничке [1] выберите операционную систему, загрузите, установите.
Для Ubuntu загрузите nrf-command-line-tools_10.23.0_amd64.deb -> правой кнопкой на файле выберите "Открыть с помощью -> Установка приложений" -> nrf-command-line-tools -> Установить.
2. Установка nRF Connect for Desktop. На страничке [2] выберите операционную систему, загрузите, установите.
Для Ubuntu загрузите nrfconnect-4.1.2-x86_64.appimage, сделайте его исполняемым, затем откройте двойным кликом.
3. В окне nRF Connect for Desktop выберите установку Toolchain Manager:

4. Откройте Toolchain Manager, выберите nRF Connect SDK v2.4.1 (или самую свежую версию) -> Install.

Предложат выбрать директорию для установки, оставьте выбор по умолчанию (это будет папка ncs в домашней директории). SDK загрузится и установится, установится и обновится репозиторий Zephyr и другие необходимые библиотеки. Процесс установки довольно длительный, можно успеть попить кофе. По завершению установки кнопка напротив nRF Connect SDK v2.4.1 поменяется на "Open VS Code".

5. Кликните на кнопку "Open VS Code", кликните на кнопку Install missing extensions. Загрузятся дополнительные расширения.

Если VS Code не была установлена, то предложат её загрузить и установить.
6. Запустите менеджер расширений Extensions (либо значком на левой панели, либо горячими клавишами Ctrl+Shift+X).

Установите nRF Connect for VS Code Extension Pack. Чтобы быстро найти этот пакет расширений, начинайте вводить в строке поиска "nRF Connect for VS Code Exte", и этот пакет появится в верхней части списка.

Для установки кликните на кнопку Install.
7. После установки на левой панели появится новый значок nRF Connect (Ctrl+Alt+N). Кликните на него, откроется меню nRF Connect WELCOME:

8. Выберите пункт меню "Create a new application", создайте новое приложение из шаблона zephyr/samples/hello_world (из выпадающего списка Application template). Выберите место на диске, где будет сгенерирована папка проекта (Application location), и выберите имя проекта hello_world.
9. Ctrl+Alt+N -> APPLICATIONS -> hello_world -> Add Build Configuration. Выберите плату в выпадающем списке Board (nrf52840dk_nrf52840), Configuration -> prj.conf, Build directory name -> build. Кликните на кнопку Build Configuration.
10. Меню сборки, отладки, прошивки, конфигурирования доступно после клика на значок nRF Connect (Ctrl+Alt+N).
[Запуск примера hello_world]
В среде Ubuntu 20.04, процесс по шагам:
1. Запустите терминал (Ctrl+Alt+T), запустите VS Code.
2. Кликните на значок nRF Connect (Ctrl+Alt+N).

3. В меню WELCOME выберите Create a new application.

Переключите радиокнопку на позицию Freestanding, выберите место расположения папки приложения (Application location, укажите произвольную папку на диске) и шаблон приложения (выберите zephyr/samples/hello_world):

После этого кликните на кнопку Create Application. За несколько секунд в указанной папке будет создана подпапка hello_world проекта приложения.
4. Настройте конфигурацию сборки приложения, для этого снова кликните nRF Connect (Ctrl+Alt+N). В разделе APPLICATIONS увидите ссылку на приложение hello_world и ниже него текст "No build configurations". Кликните на него, откроется меню конфигурирования проекта.

Выберите вашу плату (Nordic boards, nrf52840dk_nrf52840) и кликните на кнопку Build Configuration.
5. На левой панели появится еще одно меню NRF52840DK_NRF52840, где доступны действия (ACTIONS) с проектом. Самые главные из них это сборка (Build), пошаговая отладка по исходному коду (Debug), прошивка в память микроконтроллера (Flash).

Кликните на Build, и после завершения сборки кликните на Flash.
6. Запустите терминал, подключитесь к порту /dev/ttyACM0 на скорости 115200 бод. Например, с помощью minicom:
$ minicom -D tty_device -b 115200
Добро пожаловать в minicom 2.7.1
ПАРАМЕТРЫ: I18n
Дата компиляции Dec 23 2019, 02:06:26.
Port /dev/ttyACM0, 09:04:35
Нажмите CTRL-A Z для получения подсказки по клавишам
Кнопкой BOOT/RESET сбросьте микроконтроллер nRF5240, и в терминале увидите сообщение:
*** Booting Zephyr OS build v3.3.99-ncs1-1 ***
Hello World! nrf52840dk_nrf52840
[Запуск примера blinky_freertos из nRF5 SDK v17.1.0]
1. Загрузите nRF5_SDK_17.1.0_ddde560.zip [3]. Распакуйте папку nRF5_SDK_17.1.0_ddde560 из этого архива в ~/ncs.
2. Папку nRF5_SDK_17.1.0_ddde560/examples/peripheral/blinky_freertos/ скопируйте в любой отдельный каталог, где находятся рабочие проекты (например ~/myprojects).
3. Для платы nrf52840 DK откройте каталог blinky_freertos/pca10056/blank/armgcc/, отредактируйте файл Makefile:
#SDK_ROOT := ..
SDK_ROOT := $(abspath $(HOME))/ncs/nRF5_SDK_17.1.0_ddde560
PROJ_DIR := ..
4. Установите правильный путь до компилятора в файле ~/ncs/nRF5_SDK_17.1.0_ddde560/components/toolchain/gcc/Makefile.posix:
#GNU_INSTALL_ROOT ?= /usr/local/gcc-arm-none-eabi-9-2020-q2-update/bin/
GNU_INSTALL_ROOT ?= $(abspath $(HOME))/install/gcc-arm-none-eabi-5_4-2016q3/bin/
5. Как компилировать:
$ cd pca10056/blank/armgcc
$ make clean
$ make
$ make flash
[Ссылки]
1. nRF Command Line Tools site:nordicsemi.com. 2. nRF Connect for Desktop site:nordicsemi.com. 3. nRF5 SDK Downloads site:nordicsemi.com. 4. How to use RTT Viewer (or similar) on GNU/Linux? site:devzone.nordicsemi.com. 5. Introduction to the Zephyr RTOS site:youtube.com. 6. Zephyr: работа с платой nRF52840 DK. 7. Zephyr: сборка примера мигания светодиодом (Blinky Sample). |