Программирование ARM FreeRTOS: запуск примера Hello World на nRF52840 DK Sat, May 04 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

FreeRTOS: запуск примера Hello World на nRF52840 DK Печать
Добавил(а) microsin   

Процесс по шагам:

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

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

nRF52840 FreeRTOS fig02

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

nRF52840 FreeRTOS fig03

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

nRF52840 FreeRTOS fig04

Если VS Code не была установлена, то предложат её загрузить и установить.

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

nRF52840 FreeRTOS fig05

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

nRF52840 FreeRTOS fig06

Для установки кликните на кнопку Install.

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

nRF52840 FreeRTOS fig07

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.

$ code

2. Кликните на значок nRF Connect (Ctrl+Alt+N).

nRF52840 FreeRTOS fig08

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

nRF52840 FreeRTOS fig09

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

nRF52840 FreeRTOS fig10

После этого кликните на кнопку Create Application. За несколько секунд в указанной папке будет создана подпапка hello_world проекта приложения.

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

nRF52840 FreeRTOS fig11

Выберите вашу плату (Nordic boards, nrf52840dk_nrf52840) и кликните на кнопку Build Configuration.

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

nRF52840 FreeRTOS fig12

Кликните на 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.
6Zephyr: работа с платой nRF52840 DK.
7. Zephyr: сборка примера мигания светодиодом (Blinky Sample).

 

Добавить комментарий


Защитный код
Обновить

Top of Page