Skip to content

Commit 07574e2

Browse files
divipillainordicjm
authored andcommitted
doc: Add Memfault user guide
Create Memfault user guide. Removed duplicate content from other documentation. Provided references to the user guide from other documentation. Signed-off-by: divya pillai <[email protected]>
1 parent 5745d02 commit 07574e2

File tree

11 files changed

+373
-47
lines changed

11 files changed

+373
-47
lines changed

applications/asset_tracker_v2/doc/debug_module.rst

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,6 @@ This section documents the various features implemented by the module.
2222
Memfault
2323
========
2424

25-
Memfault SDK provides the functionality to collect information from devices in the form of coredumps, error traces, metrics, logs and more.
26-
Information that is collected from the device can be sent to Memfault's cloud solution for further analysis.
27-
2825
The debug module uses `Memfault SDK`_ to track |NCS| specific metrics such as LTE and stack metrics.
2926
In addition, the following types of custom Memfault metrics are defined and tracked when compiling in the debug module:
3027

@@ -36,7 +33,7 @@ The debug module also implements `Memfault SDK`_ software watchdog, which is des
3633
This enables the application to be able to collect coredump data before a reboot occurs.
3734

3835
To enable Memfault, you must include the :file:`../overlay-memfault.conf` when building the application.
39-
To get started with Memfault, see :ref:`using_memfault`.
36+
To get started with Memfault integration in |NCS|, see :ref:`ug_memfault`.
4037

4138
.. _asset_tracker_v2_ext_transport:
4239

@@ -87,7 +84,7 @@ To enable storing to flash, configure the following options:
8784
* :kconfig:option:`CONFIG_MEMFAULT_NCS_INTERNAL_FLASH_BACKED_COREDUMP` - To enable storing to flash.
8885
* :kconfig:option:`CONFIG_PM_PARTITION_SIZE_MEMFAULT_STORAGE` - To set the size of the coredumps storage flash partition.
8986

90-
For extended documentation regarding |NCS| Memfault integration, see :ref:`mod_memfault` module.
87+
For extended documentation regarding |NCS| Memfault integration, see :ref:`ug_memfault` documentation.
9188

9289
Module states
9390
*************

doc/nrf/ext_comps.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@ Using external components
66
The following user guides show how you can use external components in your application.
77

88
.. toctree::
9-
:maxdepth: 2
9+
:maxdepth: 1
1010
:caption: Subpages:
1111

1212
ug_bt_coex
1313
ug_bt_fast_pair
1414
ug_edge_impulse
15+
ug_memfault
Lines changed: 130 additions & 0 deletions
Loading
130 KB
Binary file not shown.

doc/nrf/libraries/bluetooth_services/services/mds.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ Memfault Diagnostic Service (MDS)
99

1010
The Bluetooth® LE GATT Memfault Diagnostic Service is a custom service that forwards diagnostic data collected by firmware through a Bluetooth gateway.
1111
The diagnostic data is collected by the `Memfault SDK`_ integrated with the |NCS|.
12-
For more details, see :ref:`mod_memfault`.
12+
13+
To get started with Memfault integration in |NCS|, see :ref:`ug_memfault`.
1314

1415
The MDS is used in the :ref:`peripheral_mds` sample.
1516

doc/nrf/libraries/others/memfault_ncs.rst

Lines changed: 1 addition & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -8,41 +8,11 @@ Memfault
88
:depth: 2
99

1010
The Memfault module provides an integration of `Memfault SDK`_ into |NCS| and expands the functionality of the SDK with some options that are specific to |NCS|.
11-
12-
Overview
13-
********
11+
To get started with Memfault integration in |NCS|, see :ref:`ug_memfault`.
1412

1513
`Memfault SDK`_ is an SDK for embedded devices to make use of services that `Memfault`_ offers on their platform.
16-
17-
The SDK provides a functionality to collect debug information from devices in the form of coredumps, error traces, metrics, logs and more.
18-
Information that is collected from the device can be sent to Memfault's cloud solution for further analysis.
19-
Communication with the Memfault Cloud is handled by APIs available in Memfault SDK, while the integration code of the SDK in |NCS| provides some additional functionality.
20-
2114
For official documentation for Memfault SDK and the Memfault platform in general, see `Memfault Docs`_.
2215

23-
See the following examples of Memfault implementation in |NCS|:
24-
25-
* :ref:`memfault_sample` - This sample connects to the LTE network and sends data using HTTPS.
26-
It supports nRF9160-based build targets
27-
* :ref:`peripheral_mds` - This sample has an implementation of the MDS.
28-
It sends data to the Memfault cloud through a Bluetooth gateway.
29-
30-
.. _using_memfault:
31-
32-
Using Memfault SDK
33-
******************
34-
35-
The SDK is part of the West manifest in |NCS| and is automatically downloaded when running ``west update``.
36-
By default, it is downloaded to ``<nRF Connect SDK path>/modules/lib/memfault-firmware-sdk/``.
37-
38-
To include Memfault in your build, enable the Kconfig option :kconfig:option:`CONFIG_MEMFAULT`.
39-
The APIs in Memfault SDK can then be linked into your application.
40-
41-
In addition, you must configure a Memfault project key using :kconfig:option:`CONFIG_MEMFAULT_NCS_PROJECT_KEY`.
42-
:kconfig:option:`CONFIG_MEMFAULT_NCS_PROJECT_KEY` is located in :file:`../overlay-memfault.conf`.
43-
44-
To get access to all the benefits, like up to 100 free devices connected, register at the `Memfault registration page`_.
45-
4616
.. note::
4717
When building applications with :ref:`Trusted Firmware-M <ug_tfm>` (TF-M), the faults resulting from memory access in secure regions are not caught by Memfault's fault handler.
4818
Instead, they are handled by TF-M.

doc/nrf/links.txt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,10 @@
158158
.. _`nRF Asset Tracker project`: https://nordicsemiconductor.github.io/asset-tracker-cloud-docs/v2.1.x/docs/project/Index.html
159159
.. _`Getting started guide for nRF Asset Tracker for AWS`: https://nordicsemiconductor.github.io/asset-tracker-cloud-docs/v2.1.x/docs/aws/GettingStarted/Index.html
160160
.. _`Getting started guide for nRF Asset Tracker for Azure`: https://nordicsemiconductor.github.io/asset-tracker-cloud-docs/v2.1.x/docs/azure/GettingStarted/Index.html
161+
.. _`nRF Asset Tracker Memfault integration for AWS IoT`: https://github.com/NordicSemiconductor/asset-tracker-cloud-memfault-aws-js
162+
.. _`nRF Asset Tracker Memfault integration for Azure IoT Hub`: https://github.com/NordicSemiconductor/asset-tracker-cloud-memfault-azure-js
163+
.. _`nRF Asset Tracker Memfault integration`: https://nordicsemiconductor.github.io/asset-tracker-cloud-docs/v2.2.x/docs/memfault/Index.html
164+
161165

162166
.. _`latest release notes for nRF Connect for Visual Studio Code`: https://nrfconnect.github.io/vscode-nrf-connect/release_notes/connect/2022.11.140.html
163167
.. _`nRF Connect for Visual Studio Code`: https://nrfconnect.github.io/vscode-nrf-connect
@@ -804,6 +808,19 @@
804808
.. _`Memfault: Collecting Device Metrics`: https://docs.memfault.com/docs/embedded/metrics-api
805809
.. _`Memfault: Error Tracking with Trace Events`: https://docs.memfault.com/docs/embedded/trace-events/
806810
.. _`Memfault Demo CLI`: https://docs.memfault.com/docs/mcu/demo-cli/
811+
.. _`Memfault Diagnostic GATT Service`: https://memfault.notion.site/Memfault-Diagnostic-GATT-Service-MDS-ffd5a430062649cd9bf6edbf64e2563b
812+
.. _`Memfault WebBluetooth Client`: https://memfault.github.io/web-ble-example/
813+
.. _`Memfault WebBluetooth Client source code`: https://github.com/memfault/web-ble-example/blob/main/mds.js
814+
.. _`Memfault Dashboards`: https://app.memfault.com
815+
.. _`Memfault debugging`: https://docs.memfault.com/docs/platform/introduction#debugging
816+
.. _`Memfault OTA`: https://docs.memfault.com/docs/platform/introduction#ota
817+
.. _`Memfault monitoring`: https://docs.memfault.com/docs/platform/introduction#metrics
818+
.. _`Memfault introduction`: https://docs.memfault.com/docs/platform/introduction
819+
.. _`Memfault-SDK`: https://github.com/memfault/memfault-firmware-sdk
820+
.. _`Memfault MCU Guide`: https://docs.memfault.com/docs/mcu/introduction
821+
.. _`Memfault: Reboot tracking`: https://docs.memfault.com/docs/mcu/reboot-reason-tracking
822+
.. _`Memfault: Coredumps`: https://docs.memfault.com/docs/mcu/coredumps
823+
807824

808825
.. ### Source: *.nrfcloud.com
809826

0 commit comments

Comments
 (0)