Table of Contents | ||
---|---|---|
|
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:
Use the prebuilt images provided in Release Notes.
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/:
Code Block sudo dpkg -i JLink_Linux_V794e_x86_64.deb
Install the
libusb-1.0
package:Code Block sudo apt install libusb-1.0-0
Download and install the
nrf-udev
package from https://github.com/NordicSemiconductor/nrf-udev/releases:Code Block 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'sPATH
:Code Block chmod +x nrfutil sudo mv nrfutil /usr/local/bin
Install the
nrfutill device
command:Code Block nrfutil install device
...
3.2. Identifying Nordic Devices on the Linux Host
Use
nrfutil
to list all connected development kits, their serial numbers and associated serial ports:Code Block $ 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)
Use
nrfutil
to identify the specific devices:Code Block $ 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
In this example, the nRF9161 serial number is
1050931892
, and the nRF5340 serial number is1050021575
. They should be used to program the corresponding devices.
...
4.
...
Installing Zephyr Images
...
4.1. Programming Thingy-9151-Lite Application to nRF9161
If needed, disable access protection on nRF9161:
Code Block nrfutil device recover --serial-number <serial number>
Program the release image to nRF9161:
Code Block nrfutil device program --serial-number <serial number> --firmware thingy9151lite_nrf9151_app_on_nrf9161dk_***_release.hex
Alternatively, program the application image from the build tree:
Code Block nrfutil device program --serial-number <serial number> --firmware thingy9151lite_nrf9151_app/build/zephyr/merged.hex
Reset the board:
Code Block nrfutil device reset --serial-number <serial number>
...
4.2. Programming Thingy-9151-Lite Application to nRF5340 Application Core
If needed, disable access protection on the nRF5340 application core:
Code Block nrfutil device recover --serial-number <serial number>
Program the release image to the nRF5340 application core:
Code Block nrfutil device program --serial-number <serial number> --firmware thingy9151lite_nrf5340_cpuapp_app_on_nrf5340dk_***_release.hex
Alternatively, program the application image from the build tree:
Code Block nrfutil device program --serial-number <serial number> --firmware thingy9151lite_nrf5340_cpuapp_app/build/zephyr/merged.hex
Reset the application core:
Code Block nrfutil device reset --serial-number <serial number>
...
4.3. Programming Thingy-9151-Lite Application to nRF5340 Network Core
If needed, disable access protection on the nRF5340 network core:
Code Block nrfutil device recover --serial-number <serial number> --core Network
Program the release image to the nRF5340 network core:
Code Block nrfutil device program --serial-number <serial number> --core Network --firmware thingy9151lite_nrf5340_cpunet_app_on_nrf5340dk_***_release.hex
Alternatively, program the application image from the build tree:
Code Block nrfutil device program --serial-number <serial number> --core Network --firmware thingy9151lite_nrf5340_cpunet_app/build/zephyr/zephyr.hex
Reset the network core:
Code Block nrfutil device reset --serial-number <serial number> --core Network
...