Skip to content

Commit

Permalink
getting started: NCS: update install guide
Browse files Browse the repository at this point in the history
* Update to install the Golioth Firmware SDK instead of the Golioth Zephyr SDK
* Rename partial files to better reflect the content they contain
* Generalize the install where possible

Signed-off-by: Mike Szczys <mike@golioth.io>
  • Loading branch information
szczys committed Jan 4, 2024
1 parent 05b382a commit a2b5cbe
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 23 deletions.
Original file line number Diff line number Diff line change
@@ -1,39 +1,35 @@
---
title: Nordic nRF Connect SDK (NCS)
hide_title: true
title: Set up Nordic nRF Connect SDK (NCS)
---

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

## NCS Setup Overview

Nordic Semiconductor devices require the [nRF Connect SDK
(NCS)](https://www.nordicsemi.com/Products/Development-software/nRF-Connect-SDK).
This is a fork of the Zephyr project that Nordic Semiconductor maintains and
includes some distinct features and IP. For instance, NCS includes the firmware
for the cellular modem on the nRF9160, which is unavailable in the upstream
Zephyr project.

We will install the nRF Connect SDK in a directory in your home location
separate from other Zephyr projects shown for Golioth (in a directory called
`golioth-ncs-workspace`).
This section will guide you through installing NCS and the Zephyr tree
(including the Golioth SDK) in a directory called `golioth-ncs-workspace`.

### Install West

import SetupWestNRF91 from '/docs/partials-common/setup-west-nrf91.md'

<SetupWestNRF91/>

### Installing the Golioth Zephyr SDK for NCS
### Installing the Golioth Firmware SDK for NCS

import InstallNRFSDK from '/docs/partials-common/install-nrf-connect-sdk.md'
import InstallNRFSDK from '/docs/partials-common/ncs-install-golioth-firmware-sdk.md'

<InstallNRFSDK/>

### Installing the Zephyr SDK Toolchain

Nordic chips are ARM-based device, so we will use the ARM toolchains (gcc, gdb, etc) included in the Zephyr SDK
Nordic chips are ARM-based device, so we will use the ARM toolchains (gcc, gdb, etc) included in the Zephyr SDK.

import InstallZephyrSDKtoolchain from '/docs/partials-common/install-zephyr-sdk-toolchain.md'

Expand Down Expand Up @@ -61,20 +57,18 @@ Zephyr uses `nrfjprog` to flash Nordic targets using a hardware programmer like

## Build Sample Firmware

### Build firmware for the nRF9160
### Build firmware

Your system is all set up and ready to start building & flashing with Zephyr. Verify by building a minimal sample for the nRF9160 DK:
Your system is all set up and ready to start building & flashing with Zephyr. Verify by building a minimal sample from the Zephyr tree. Here we are using the nRF9160 DK as an example:

import BuildFirmwareFor9160 from '/docs/partials-common/build-fw-nrf91.md'

<BuildFirmwareFor9160/>

### Flash firmware to the device

If you are using a J-Link hardware programmer and already have the software for that tool set up on your system, flashing firmware is as simple as running:
Most boards supported by Zephyr can by flashed using a simple command:

```bash
west flash
```

The nRF9160 DK acts as a J-Link hardware programmer. `west` will automatically work with J-Link as long as the supporting software is installed on your system. The next section will walk through installing that software.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import TabItem from '@theme/TabItem';

```
cd ~
west init -m https://github.com/golioth/golioth-zephyr-sdk.git --mf west-ncs.yml ~/golioth-ncs-workspace
west init -m https://github.com/golioth/golioth-zephyr-sdk.git --mr v0.9.0 --mf west-ncs.yml ~/golioth-ncs-workspace
cd golioth-ncs-workspace
west update
```
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import TabItem from '@theme/TabItem';

```
cd %HOMEPATH%
west init -m https://github.com/golioth/golioth-zephyr-sdk.git --mf west-ncs.yml %HOMEPATH%/golioth-ncs-workspace
west init -m https://github.com/golioth/golioth-zephyr-sdk.git --mr v0.9.0 --mf west-ncs.yml %HOMEPATH%/golioth-ncs-workspace
cd golioth-ncs-workspace
west update
```
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

:::note
These directions are mirroring [the Zephyr and Python dependency install instructions](https://docs.zephyrproject.org/latest/getting_started/index.html#get-zephyr-and-install-python-dependencies). Some directions may be slightly modified to fit your nRF91 / Golioth install.
:::

With `west` installed, grab the Golioth NCS SDK:

<Tabs
Expand All @@ -16,8 +12,8 @@ values={[
{label: 'Windows', value: 'windows'},
]}>

import InstallNRFSDKUnix from '/docs/partials-common/install-nrf-connect-sdk-unix.md'
import InstallNRFSDKWindows from '/docs/partials-common/install-nrf-connect-sdk-windows.md'
import InstallNRFSDKUnix from '/docs/partials-common/ncs-install-golioth-firmware-sdk-for-unix.md'
import InstallNRFSDKWindows from '/docs/partials-common/ncs-install-golioth-firmware-sdk-for-windows.md'

<TabItem value="linux">
<InstallNRFSDKUnix/>
Expand Down

0 comments on commit a2b5cbe

Please sign in to comment.