Процесс по шагам:
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:
![nRF52840 FreeRTOS fig01](/images/stories/programming/nRFxx/nRF52840-FreeRTOS-fig01.png)
4. Откройте Toolchain Manager, выберите nRF Connect SDK v2.4.1 (или самую свежую версию) -> Install.
![nRF52840 FreeRTOS fig02](/images/stories/programming/nRFxx/nRF52840-FreeRTOS-fig02.png)
Предложат выбрать директорию для установки, оставьте выбор по умолчанию (это будет папка ncs в домашней директории). SDK загрузится и установится, установится и обновится репозиторий Zephyr и другие необходимые библиотеки. Процесс установки довольно длительный, можно успеть попить кофе. По завершению установки кнопка напротив nRF Connect SDK v2.4.1 поменяется на "Open VS Code".
![nRF52840 FreeRTOS fig03](/images/stories/programming/nRFxx/nRF52840-FreeRTOS-fig03.png)
5. Кликните на кнопку "Open VS Code", кликните на кнопку Install missing extensions. Загрузятся дополнительные расширения.
![nRF52840 FreeRTOS fig04](/images/stories/programming/nRFxx/nRF52840-FreeRTOS-fig04.png)
Если VS Code не была установлена, то предложат её загрузить и установить.
6. Запустите менеджер расширений Extensions (либо значком на левой панели, либо горячими клавишами Ctrl+Shift+X).
![nRF52840 FreeRTOS fig05](/images/stories/programming/nRFxx/nRF52840-FreeRTOS-fig05.png)
Установите nRF Connect for VS Code Extension Pack. Чтобы быстро найти этот пакет расширений, начинайте вводить в строке поиска "nRF Connect for VS Code Exte", и этот пакет появится в верхней части списка.
![nRF52840 FreeRTOS fig06](/images/stories/programming/nRFxx/nRF52840-FreeRTOS-fig06.png)
Для установки кликните на кнопку Install.
7. После установки на левой панели появится новый значок nRF Connect (Ctrl+Alt+N). Кликните на него, откроется меню nRF Connect WELCOME:
![nRF52840 FreeRTOS fig07](/images/stories/programming/nRFxx/nRF52840-FreeRTOS-fig07.png)
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).
![nRF52840 FreeRTOS fig08](/images/stories/programming/nRFxx/nRF52840-FreeRTOS-fig08.png)
3. В меню WELCOME выберите Create a new application.
![nRF52840 FreeRTOS fig09](/images/stories/programming/nRFxx/nRF52840-FreeRTOS-fig09.png)
Переключите радиокнопку на позицию Freestanding, выберите место расположения папки приложения (Application location, укажите произвольную папку на диске) и шаблон приложения (выберите zephyr/samples/hello_world):
![nRF52840 FreeRTOS fig10](/images/stories/programming/nRFxx/nRF52840-FreeRTOS-fig10.png)
После этого кликните на кнопку Create Application. За несколько секунд в указанной папке будет создана подпапка hello_world проекта приложения.
4. Настройте конфигурацию сборки приложения, для этого снова кликните nRF Connect (Ctrl+Alt+N). В разделе APPLICATIONS увидите ссылку на приложение hello_world и ниже него текст "No build configurations". Кликните на него, откроется меню конфигурирования проекта.
![nRF52840 FreeRTOS fig11](/images/stories/programming/nRFxx/nRF52840-FreeRTOS-fig11.png)
Выберите вашу плату (Nordic boards, nrf52840dk_nrf52840) и кликните на кнопку Build Configuration.
5. На левой панели появится еще одно меню NRF52840DK_NRF52840, где доступны действия (ACTIONS) с проектом. Самые главные из них это сборка (Build), пошаговая отладка по исходному коду (Debug), прошивка в память микроконтроллера (Flash).
![nRF52840 FreeRTOS fig12](/images/stories/programming/nRFxx/nRF52840-FreeRTOS-fig12.png)
Кликните на 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). |