Программирование ARM Ubuntu: как установить nRF Command Line Tools Thu, November 21 2024  

Поделиться

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

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


Ubuntu: как установить nRF Command Line Tools Печать
Добавил(а) microsin   

Набор утилит для прошивки чипов nRF через JTAG называется nRF Command Line Tools. В частности, утилита nrfjprog из этого набора используется инструментарием Zephyr west для прошивки и отладки.

Процесс установки nRF Command Line Tools под Ubuntu 20.04:

1. Скачайте с сайта Nordic пакет nrf-command-line-tools-10.19.0_linux-amd64.tar.gz [2].

2. Распакуйте архив в какую-нибудь временную папку.

3. Скопируйте директорию nrf-command-line-tools куда-нибудь, где вы держите установленные программы и утилиты, например в папку ~/install, или в папку /opt. Нам оттуда понадобятся утилиты nrfjprog и mergehex (они находятся в nrf-command-line-tools/bin).

4. Создайте в каталоге /usr/local/bin символические ссылки на утилиты nrfjprog и mergehex:

$ sudo ln -s ~/install/nrf-command-line-tools/bin/nrfjprog /usr/local/bin/nrfjprog
$ sudo ln -s ~/install/nrf-command-line-tools/bin/mergehex /usr/local/bin/mergehex

После этого шага утилита nrfjprog будет запускаться из любой текущей директории.

[Решение проблем]

Запуск west flash выдает ошибку:

$ west flash
-- west flash: rebuilding
ninja: no work to do.
-- west flash: using runner nrfjprog
FATAL ERROR: one or more Python dependencies were missing; see the getting
 started guide for details on how to fix

Запустите west flash в режиме подробного вывода (с опцией -v), что поможет разобраться в причине проблемы.

$ west -v flash
ZEPHYR_BASE=~/myproject/zephyr (origin: configfile)
-- west flash: rebuilding
cmake version 3.25.1 is OK; minimum version is 3.13.1
Running CMake: /usr/bin/cmake --build /home/myproject/build
ninja: no work to do.
-- west flash: using runner nrfjprog
FATAL ERROR: verbose mode enabled, dumping stack:
Traceback (most recent call last):
  File "~/.local/bin/west", line 8, in 
    sys.exit(main())
  File "~/.local/lib/python3.8/site-packages/west/app/main.py", line 793, in main
    app.run(argv or sys.argv[1:])
  File "~/.local/lib/python3.8/site-packages/west/app/main.py", line 109, in run
    self.run_command(argv)
  File "~/.local/lib/python3.8/site-packages/west/app/main.py", line 345, in run_command
    self.run_extension(args.command, argv)
  File "~/.local/lib/python3.8/site-packages/west/app/main.py", line 417, in run_extension
    command.run(args, unknown, self.topdir, manifest=self.manifest,
  File "~/.local/lib/python3.8/site-packages/west/commands.py", line 135, in run
    self.do_run(args, unknown)
  File "~/myproject/zephyr/scripts/west_commands/flash.py", line 32, in do_run
    do_run_common(self, my_args, runner_args, domains=domains)
  File "~/myproject/zephyr/scripts/west_commands/run_common.py", line 178, in do_run_common
    do_run_common_image(command, user_args, user_runner_args, d.build_dir)
  File "~/myproject/zephyr/scripts/west_commands/run_common.py", line 254, in do_run_common_image
    runner.run(command_name)
  File "~/myproject/zephyr/scripts/west_commands/runners/core.py", line 551, in run
    self.do_run(command, **kwargs)
  File "~/myproject/zephyr/scripts/west_commands/runners/nrfjprog.py", line 379, in do_run
    raise RuntimeError('one or more Python dependencies were missing; '
RuntimeError: one or more Python dependencies were missing; see the getting started guide
 for details on how to fix

Анализ кода nrfjprog.py показал, что не установлен Python-модуль intelhex. Как исправить:

$ pip install intelhex

$ west flash
-- west flash: rebuilding
ninja: no work to do.
-- west flash: using runner nrfjprog
[error] [SeggerBackend] - Error in dlopen: libjlinkarm.so: cannot open
 shared object file: No such file or directory
[error] [SeggerBackend] - Dll failed to open.
ERROR: JLinkARM DLL load failed. Try again. If it keeps failing, please
ERROR: reinstall latest JLinkARM from Segger webpage.
NOTE: For additional output, try running again with logging enabled (--log).
NOTE: Any generated log error messages will be displayed.
FATAL ERROR: command exited with status 32: nrfjprog --ids

Как исправить:

$ sudo dpkg -i --force-overwrite ~/tmp/JLink_Linux_V780c_x86_64.deb

Здесь JLink_Linux_V780c_x86_64.deb файл из архива nrf-command-line-tools-10.19.0_linux-amd64.tar.gz, скачанного по ссылке [1].

[Ссылки]

1. nRF Command Line Tools.
2. Installing the nRF Command Line Tools site:nordicsemi.com.
3. 230226nRF-Command-Line-Tools_10_19_0-Ubuntu.zip - nRF Command Line Tools v10.19.0.

 

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


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

Top of Page