Devzone posts
Keywords: Nordic Segger python script :: create_nordic_project.py :: create Nordic project dot py
This page a starting point for references (links) to Nordic Devzone posts and additional notes on their respective issues. This page also contains posts from Jared Wolff Community forum, an excellent technical resource for design matters IoT related, and also Zephyr RTOS related.
On this page indentation of URLs highlights when one post refers or links to another.
Worth noting, Nordic Semi web site is organized into three domains:
primary Nordic Semi website :: Nordic Devzone :: Nordic Semi Documentation
Searching for articles, tutorials and other materials in one domain does not in general appear to find or capture search results in the other two Nordic Semi site domains. An on-line power profiling tool can be found indirectly at Nordic Devzone by entering search pattern "online power profiler". The link to the profiler for nRF91xx family parts is:
- https://devzone.nordicsemi.com/power/w/opp/3/online-power-profiler-for-lte Nordic Semi Online Power Profiler for nRF9160
Some related links to Nordic on-line power profiler:
- https://devzone.nordicsemi.com/power/w/opp Nordic power profilers for nRF91xx and nRF52 and 53 family SoCs and SiPs
- https://devzone.nordicsemi.com/power/w/opp/4/user-guide-lte Online power profiler user guide
A local wiki page is in progress as well relating to LTE modem commands, both universal ones and some of Nordic Semi's custom AT commands:
Contents
- 1 ^ Nordic Semi Guides
- 2 ^ ncs Changes in Newer than 1.6.1 Release
- 3 ^ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- 4 ^ Low Current Related
- 5 ^ DTS
- 6 ^ To Configure Pins
- 7 ^ To Configure Pins as Analog Inputs
- 8 ^ RTT Real Time Terminal Related
- 9 ^ nRF LTE Modem and PSM Modes
- 10 ^ AT commands
- 11 ^ MQTT Related
- 12 ^ Zephyr and External Flash
- 13 ^ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- 14 ^ Toolchain Related
- 15 ^ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- 16 ^ Posts To Follow - not yet sorted
- 17 ^ Posts to Follow - Offered help
- 18 ^ Posts Underway
- 19 ^ Posts To Close
^ Nordic Semi Guides
^ ncs Changes in Newer than 1.6.1 Release
^ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
^ Low Current Related
2022
-
0415
-
Edge triggered interrupts require GPIO IN feature enabled, draws ~30uA:
Developer request for hex file which puts nRF9160 "module" into ~7uA current use:
-
Original linked low power guide:
Newer guide:
Developer working to achieve microamp current draw on custom nRF9160 based board:
Developer Parveen Palaparthi and Cortex-M33 task registers, TASKS_CONSTLAT and TASKS_LOWPWR registers. Also Devzone engineer mentions to use 3v3 rail for VDD_GPIO over 1v8 to avoid unintended current leak in nRF9160:
Post made prior to Devzone engineers recommending to create `[project_dir]/child_image/spm.conf` containing CONFIG_SERIAL=n to disable UARTs in Secure Partition Manager binary element of given Zephyr app:
0414 Thursday . . .
1011 # https://infocenter.nordicsemi.com/topic/ug_ppk2/UG/ppk/measure_current_source_meter.html 1012 # https://devzone.nordicsemi.com/power/w/opp/3/online-power-profiler-for-lte 1013 # 1015 # https://devzone.nordicsemi.com/guides/cellular-iot-guides/b/hardware-design/posts/measuring-psm-idle-current-on-the-nrf91-dk
0408
-
At Nordic Devzone issuing search string "nRF9160 configure PSM and eDRX" . . .
Developers Shital, Hoang, Erik posting about modem PSM and eDRX modes, mention of asset_tracker nRF9160 sample app:
Need to asure Secure Partition Manager not using UART for any logging or other purpose:
AT modem commands to set power saving mode parameters and eDRX params:
Cerca 2019 Q2, as of ncs v1.3.1 the enabling of PSM and eDRX does not leave a way for application firmware to be notified when modem wakes from power savings mode:
Cerca 2021 Q2, GPS use where PSM and eDRX are not available. Plus AT commands to return whether eDRX can be used, whether PSM can be used:
Mention in third or fourth reply about SIM card minimum interval needed to deactivate, with respect to eDRX setting:
To set the CONFIG_MQTT_KEEPALIVE equal to your polling interval . . .
nRF9160 maximum device sleep period and maximum device reachable period:
Only necessary to set PSM and eDRX values once, LTE modem retains them, honors what values it can given mobile network provider:
0407
0405
-
An interesting code excerpt stumbled upon during exam of Jared Wolff's nfed v1.7.1 `active_sleep` sample app:
770 int lte_lc_normal(void) 771 { 772 return lte_lc_func_mode_set(LTE_LC_FUNC_MODE_NORMAL); 773 } 774 775 int lte_lc_offline(void) 776 { 777 return lte_lc_func_mode_set(LTE_LC_FUNC_MODE_OFFLINE); 778 } 779 780 int lte_lc_power_off(void) 781 { 782 return lte_lc_func_mode_set(LTE_LC_FUNC_MODE_POWER_OFF); 783 } 784 785 int lte_lc_psm_param_set(const char *rptau, const char *rat) 786 { 787 if ((rptau != NULL && strlen(rptau) != 8) || 788 (rat != NULL && strlen(rat) != 8)) { 789 return -EINVAL; 790 } 791 792 if (rptau != NULL) { 793 strcpy(psm_param_rptau, rptau); 794 LOG_DBG("RPTAU set to %s", log_strdup(psm_param_rptau)); 795 } else { 796 *psm_param_rptau = '\0'; 797 LOG_DBG("RPTAU use default"); 798 } 799 800 if (rat != NULL) {
0404 - To reduce GPIO current draw (~270uA) on nRF5340:
0315
^ DTS
2022
^ To Configure Pins
2022
-
0503 ( <- note these dates reflect time of finding here at nn, not original post date of Devzone ticket )
- https://devzone.nordicsemi.com/f/nordic-q-a/80988/thingy-91-agps-sample-tracks-satellites-but-does-not-get-fix Thingy91 sample tracks but does not fix on satellites
- https://devzone.nordicsemi.com/f/nordic-q-a/86787/nrf9160-slm-documentation-seems-to-be-inconsistent
-
Does nRF9160 have internal pull up resistors for i2c twim?
Post greater than four years old, discusses internal clocking diffs between nRF51 and nRF52 family parts:
xx-xx
^ To Configure Pins as Analog Inputs
0331
^ RTT Real Time Terminal Related
0322
^ nRF LTE Modem and PSM Modes
2022
-
0426
0418
0412 TUE
2021
-
1217 FRI
2021-12-05 SUN
2021-11-09 TUE
Jared Wolff Community post:
MQTT, MVNOs and minimal data use strategies and options for edge devices:
2021-10-23 SAT (SOLVED)
^ AT commands
0408
^ MQTT Related
2022
0509
2021-12-31 FRI
2021-12-22 WED
2021-12-17 FRI
zephyr-based/nrf$ grep -nr CONFIG_MQTT_CLEAN_SESSION ./* ./applications/asset_tracker_v2/prj.conf:106:CONFIG_MQTT_CLEAN_SESSION=y ./applications/asset_tracker/prj.conf:54:CONFIG_MQTT_CLEAN_SESSION=n ./applications/asset_tracker/src/main.c:1638:#if !IS_ENABLED(CONFIG_MQTT_CLEAN_SESSION) ./applications/asset_tracker/prj_qemu_x86.conf:28:CONFIG_MQTT_CLEAN_SESSION=n ./applications/asset_tracker/prj_thingy91_nrf9160ns.conf:58:CONFIG_MQTT_CLEAN_SESSION=n ./doc/nrf/releases/release-notes-1.4.0.rst:181: * Replaced ``CONFIG_CLOUD_PERSISTENT_SESSIONS`` usage with Zephyr's :option:`CONFIG_MQTT_CLEAN_SESSION`. ./samples/nrf9160/mqtt_simple/prj.conf:28:CONFIG_MQTT_CLEAN_SESSION=y ./subsys/net/lib/nrf_cloud/src/nrf_cloud_transport.c:577:#if !defined(CONFIG_MQTT_CLEAN_SESSION) ./subsys/net/lib/nrf_cloud/src/nrf_cloud_transport.c:591:#if !defined(CONFIG_MQTT_CLEAN_SESSION) ./subsys/net/lib/nrf_cloud/src/nrf_cloud_transport.c:604:#if !defined(CONFIG_MQTT_CLEAN_SESSION) || defined(CONFIG_NRF_CLOUD_FOTA) ./subsys/net/lib/nrf_cloud/src/nrf_cloud_transport.c:610:#if !defined(CONFIG_MQTT_CLEAN_SESSION) ./subsys/net/lib/aws_iot/src/aws_iot.c:684: !IS_ENABLED(CONFIG_MQTT_CLEAN_SESSION) && ./subsys/net/lib/aws_iot/src/aws_iot.c:690: IS_ENABLED(CONFIG_MQTT_CLEAN_SESSION)) {
^ Zephyr and External Flash
^ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
^ Toolchain Related
^ To Set cmake Options In SES
As of 2021-09-24, using Segger version xxx Nordic's version, this Segger IDE offers an extra menu item to open, build, flash and debug nRF SDK sample apps. The initial dialog box which appears for this option is titled "nRF Connect Options". Just left of the title there is a Nordic colored icon showing two links of chain, white on blue.
There are five input boxes, a mix of text inputs and drop down menus, and two sets of radio buttons. The free form text input box titled "Extra CMake Build Options" is a key place to express custom configuration settings to `cmake`. To use, for example, Zephyr's latest stable arm cross compiling toolchain in place of Nordic's close but not quite as recent chosen release of GNU ARM cross compiler toolchain, the following `cmake` option needs be entered here:
-DZEPHYR_TOOLCHAIN_VARIANT=zephyr
The default value for 'ZEPHYR_TOOLCHAIN_VARIANT' with Nordic's SDK v1.6.1 is 'gnuarmemb'. It is not sufficient to set a variable by this name in the shell environment of Linux systems, nor is it sufficient to set a Segger global or project macro by this name equal to the string "zephyr". This change in toolchain name or branding must be passed to `cmake` on its command line. In Segger, we build with a button press, so the command line option is only accessible to us from certain limited place or places. This text input box is our place to express needed custom command line options to `cmake` when working within SES.
^ create_nordic_project.py
ted@localhost:~/projects/zephyr-based/z4-sandbox-kionix-work/nrf/samples/nrf9160/at_client$ python3 /opt/ses-nordic/arm_segger_embedded_studio_v560_linux_x64_nordic/html/create_nordic_project.py Usage: create_nordic_project.py [-h] [--cmake-executable cmakeExecutable] [--cmake-option cmakeOption] [--python-executable pythonExecutable] [--ninja-executable ninjaExecutable] [--dtc-executable dtcExecutable] zephyrBaseDir toolchainDir studioDir buildDir boardDir boardName sourceDir Arguments: zephyrBaseDir Zephyr base directory toolchainDir GCC toolchain directory studioDir Embedded Studio directory buildDir Build directory boardDir Board directory boardName Board name sourceDir Source directory Optional arguments: --help Show this help message and exit --ncs-toolchain-version versionNCS Toolchain version to use --cmake-executable cmakeExecutable CMake executable to use --cmake-option cmakeOption Add additional CMake option --python-executable pythonExecutable Python executable to use --ninja-executable ninjaExecutable Ninja executable to use --dtc-executable dtcExecutable DTC executable to use --cmake-rerunRerun CMake in build folder ted@localhost:~/projects/zephyr-based/z4-sandbox-kionix-work/nrf/samples/nrf9160/at_client$
^ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
^ Posts To Follow - not yet sorted
0509
- https://devzone.nordicsemi.com/f/nordic-q-a/20181/nrf52-throughput-demo-blog-post nRF52xx data throughput
0329
0315
2021-12-13 Monday
( OPEN )
2021-11-30
( OPEN )
2021-11-22
- https://devzone.nordicsemi.com/f/nordic-q-a/81986/littlefs-on-large-qspi-nor
- https://github.com/zephyrproject-rtos/zephyr/issues/40453
2021-11-19
2021-11-18
2021-11-11
Something of an answer to the first and newer post, explanation of nRF ring buffer and queue libraries:
2021-11-09
2021-11-04
Excerpt `./modules/hal/cmsis/CMSIS/DSP/Include/arm_math.h:3330:arm_status arm_rfft_fast_init_f32 (`
2021-11-03
- https://devzone.nordicsemi.com/f/nordic-q-a/81349/fota-issue-when-moving-from-different-ncs-versions
How to import non-Segger projects into Segger:
TO DO : follow steps outlined in this post:
Post by Erez, bringing in existing nRF SDK project to Segger:
Two I2C, SPI and ADC APIs available in nRF9160 based projects:
Recent post regarding how to add driver to a minimal Zephyr project (not yet answered as of 2021-09-26):
Posts which mentions 'offsets.c.obj does not exist' error:
Board overlay file base names must match board called out in `west build ...` invocation:
Electrical and hardware related:
Sprintf C formatting:
How to integrate Zephyr drivers into custom Zephyr app:
^ Posts to Follow - Offered help
2022 . . .
-
0415
0311
^ Posts Underway
2022-03-02 Wed
Hello CircuitDojo Community,
In a [recent post](https://community.jaredwolff.com/d/222-nrf9160-sleep-and-low-power-control-areas/2) I inquired about low power configurations for the nRF9160 and boards based on this SiP. Jared Wolff shared code which dynamically turns off a given UART of the SiP's application processor. In his code there's a call to a routine named `uart_rx_disable().` I'd initially overlooked this. Today as I try to build my application I'm blocked on a link time error "undefined reference to `'".
Per Jared's code excerpt I have added `CONFIG_PM_DEVICE=y` to my prj.conf. My project is based on Nordic's aws_iot sample app. I am using the ncs SDK version 1.6.1. Nordic's fork of Zephyr in this SDK is Zephyr release 2.6.0.
Where should `uart_rx_disable()` be defined? Am I using a too old version of ncs or Zephyr RTOS?
^ Posts To Close
Must request Nordic Devzone engineers to close following tickets, issues answered: