Table of Contents | ||
---|---|---|
|
1. Overview
This application note explains how to install the Zephyr images to the Emcraft SOM-NRF9151 hardware platform (refer to https://voxelbotics.atlassian.net/wiki/spaces/SOMnRF9151/pages/709328900/Setting+Up+Emcraft+SOM-NRF9151+Hardware+Platform?atlOrigin=eyJpIjoiYTUyNTFhYTBlMjcwNGIwODlmMTkwZTI3YmE2NTI4YmQiLCJwIjoiYyJ9 for a description of the hardware platform).
2. Obtaining Firmware Images
2.1. Obtaining Zephyr Images
The Zephyr images to be installed onto the SOM-NRF9151 platform can be obtained using one of the two approaches, as follows:
Use latest release images provided in recent Release Notes.
Build the images from the sources, as documented in Building SOM-NRF9151 Software .
2.2. Obtaining Modem Firmware Images
The nRF91x1 Modem Firmware images to be installed onto the SOM-NRF9151 platform can be obtained from the https://www.nordicsemi.com/Products/nRF9151/Download?lang=en#infotabs page.
Info |
---|
nRF91x1 Modem Firmware update is required to make the modem compatible with the newer versions of nRF Connect SDK. Currently, there are two versions available for download:
|
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 SOM-NRF9151 boards, their serial numbers and associated serial ports:Code Block $ nrfutil device list 801057368 product J-Link traits jlink, seggerUsb, usb ...
Use
nrfutil
to identify the specific devices:Code Block $ nrfutil device device-info --serial-number 801057368 serial_number: 000801057368 boardVersion: null deviceFamily: NRF91_FAMILY deviceVersion: NRF9151_xxAA_REV3 jlinkObFirmwareVersion: J-Link EDU Mini V1 compiled Oct 9 2024 10:54:30 protectionStatus: NRFDL_PROTECTION_STATUS_NONE
In this example, the nRF9151 serial number is
000801057368
, which should be used to program the corresponding device.
4. Installing Zephyr Images
4.1. Updating Modem Firmware on nRF9151
If needed, disable access protection on nRF9151:
Code Block nrfutil device recover --serial-number <serial number>
Program the modem firmware image to nRF9151:
Code Block nrfutil device program --serial-number <serial number> --firmware mfw_nrf91x1_<fw version>.zip
Reset the board:
Code Block nrfutil device reset --serial-number <serial number>
4.2. Programming SOM-NRF9151 Application to nRF9151
If needed, disable access protection on nRF9151:
Code Block nrfutil device recover --serial-number <serial number>
Program the release image to nRF9151:
Code Block nrfutil device program --serial-number <serial number> --firmware asset_tracker_v2_on_nrf9151som_*_release.hex
Alternatively, program the application image from the build tree:
Code Block nrfutil device program --serial-number <serial number> --firmware som-nrf9151-app/asset_tracker_v2/build/zephyr/merged.hex
Reset the board:
Code Block nrfutil device reset --serial-number <serial number>