Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 19 Next »

1. Overview

This application note explains how to install the Zephyr images to the Emcraft Thingy-9151-Lite hardware platform (refer to Setting Up Thingy-9151-Lite Hardware Platform for a description of the hardware platform).

2. Obtaining Zephyr Images

The Zephyr images to be installed onto the Thingy-9151-Lite platform can be obtained using one of the two approaches, as follows:

  1. Use the prebuilt images provided in Release Notes.

  2. Build the images from the sources, as documented in Building Thingy-9151-Lite Software.

3. Preparing Host

3.1. Installing nRF Util

Download and install the SEGGER J-Link Software from https://www.segger.com/downloads/jlink/:

sudo dpkg -i JLink_Linux_V794e_x86_64.deb
  1. Install the libusb-1.0 package:

sudo apt install libusb-1.0-0

Download and install the nrf-udev package from https://github.com/NordicSemiconductor/nrf-udev/releases:

sudo dpkg -i nrf-udev_1.0.1-all.deb

Download the latest nrfutil executable from https://www.nordicsemi.com/Products/Development-tools/nRF-Util, give it the execute permission, and move it to a folder that is in the system's PATH:

chmod +x nrfutil
sudo mv nrfutil /usr/local/bin

Install the nrfutill device command:

nrfutil install device

3.2. Identifying Nordic Devices on the Linux Host

  1. Usenrfutil to list all connected development kits, their serial numbers and associated serial ports:

    $ nrfutil device list
    1050021575
    product         J-Link
    board version   PCA10095
    ports           /dev/ttyACM2, vcom: 0
                    /dev/ttyACM3, vcom: 1
    traits          devkit, jlink, seggerUsb, serialPorts, usb
    
    1050931892
    product         J-Link
    board version   PCA10153
    ports           /dev/ttyACM0, vcom: 0
                    /dev/ttyACM1, vcom: 1
    traits          boardController, devkit, jlink, modem, seggerUsb, serialPorts, usb
    
    Found 2 supported device(s)
    
  2. Use nrfutil to identify the specific devices:

    $ nrfutil device device-info --serial-number 1050931892
    serial_number: 001050931892
    	boardVersion: PCA10153
    	deviceFamily: NRF91_FAMILY
    	deviceVersion: NRF9161_xxAA_REV3
    	jlinkObFirmwareVersion: J-Link OB-nRF5340-NordicSemi compiled Apr 11 2024 17:44:26
    	protectionStatus: NRFDL_PROTECTION_STATUS_NONE
    $ nrfutil device device-info --serial-number 1050021575
    serial_number: 001050021575
    	boardVersion: PCA10095
    	deviceFamily: NRF53_FAMILY
    	deviceVersion: NRF5340_xxAA_ENGD
    	jlinkObFirmwareVersion: J-Link OB-nRF5340-NordicSemi compiled Apr 11 2024 17:44:26
    	protectionStatus: NRFDL_PROTECTION_STATUS_NONE
  3. In this example, the nRF9161 serial number is 1050931892, and the nRF5340 serial number is 1050021575. They should be used to program the corresponding devices.

4. Installing Zephyr Images

4.1. Programming Thingy-9151-Lite Application to nRF9161

  1. If needed, disable access protection on nRF9161:

    nrfutil device recover --serial-number <serial number>
  2. Program the release image to nRF9161:

    nrfutil device program --serial-number <serial number> --firmware thingy9151lite_nrf9151_app_on_nrf9161dk_***_release.hex
  3. Alternatively, program the application image from the build tree:

    nrfutil device program --serial-number <serial number> --firmware thingy9151lite_nrf9151_app/build/zephyr/merged.hex
  4. Reset the board:

    nrfutil device reset --serial-number <serial number>

4.2. Programming Thingy-9151-Lite Application to nRF5340 Application Core

  1. If needed, disable access protection on the nRF5340 application core:

    nrfutil device recover --serial-number <serial number>
  2. Program the release image to the nRF5340 application core:

    nrfutil device program --serial-number <serial number> --firmware thingy9151lite_nrf5340_cpuapp_app_on_nrf5340dk_***_release.hex
  3. Alternatively, program the application image from the build tree:

    nrfutil device program --serial-number <serial number> --firmware thingy9151lite_nrf5340_cpuapp_app/build/zephyr/merged.hex
  4. Reset the application core:

    nrfutil device reset --serial-number <serial number>

4.3. Programming Thingy-9151-Lite Application to nRF5340 Network Core

  1. If needed, disable access protection on the nRF5340 network core:

    nrfutil device recover --serial-number <serial number> --core Network
  2. Program the release image to the nRF5340 network core:

    nrfutil device program --serial-number <serial number> --firmware thingy9151lite_nrf5340_cpunet_app_on_nrf5340dk_***_release.hex
  3. Alternatively, program the application image from the build tree:

    nrfutil device program --serial-number <serial number> --firmware thingy9151lite_nrf5340_cpunet_app/build/zephyr/zephyr.hex
  4. Reset the network core:

    nrfutil device reset --serial-number <serial number> --core Network

  • No labels