Devzone posts
Keywords: Nordic Segger python script :: create_nordic_project.py :: create Nordic project dot py :: index.asp
--- Overview ---
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.
Contents
- 1 2021 Overview notes to review
- 2 ^ Nordic Semi Guides
- 3 ^ ncs Changes in Newer than 1.6.1 Release
- 4 ^ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- 5 ^ Low Current Related
- 6 ^ DTS
- 7 ^ To Configure Pins
- 8 ^ Display Devices
- 9 ^ SPI and I2C
- 10 ^ To Configure Pins as Analog Inputs
- 11 ^ Debugging
- 12 ^ RTT Real Time Terminal Related
- 13 ^ UARTs and Multiple UARTs
- 14 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- 15 ^ External Services
- 16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- 17 ^ nRF LTE Modem and PSM Modes
- 18 ^ nRF9160 Modem Libraries
- 19 ^ AT commands
- 20 ^ MQTT Related
- 21 ^ FOTA Firmware Over The Air Updates
- 22 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- 23 ^ Zephyr starting function
- 24 ^ Zephyr and External Flash
- 25 ^ Zephyr kernel issues
- 26 ^ Battery Related Questions
- 27 ^ Zephyr DMA and EasyDMA
- 28 ^ DPPI Distributed Programmable Peripheral Interrupts
- 29 ^ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- 30 ^ Code Test Coverage and Coverage Reports
- 31 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- 32 ^ Zephyr Project Configuration
- 33 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- 34 ^ Toolchain Related
- 35 ^ How to flash how to program
- 36 ^ Zephyr and Docker
- 37 ^ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- 38 ^ Posts To Follow - not yet sorted
- 39 ^ Posts to Follow - Offered help
- 40 ^ Posts Underway
- 41 ^ Posts To Close
2021 Overview notes to review
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:
A helpful summary of all firmware development tools offered by Nordic Semi:
Nordic link to Segger and Segger Embedded Studio downloads:
^ Nordic Semi Guides
^ ncs Changes in Newer than 1.6.1 Release
^ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
^ Low Current Related
2022
-
0615
0607
- https://devzone.nordicsemi.com/f/nordic-q-a/88693/power-optimisation-help nRF52840 and Zephyr power optimization
-
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
-
1027
- https://github.com/zephyrproject-rtos/zephyr/discussions/51733 - Zephyr discussions post on iis2dh driver and I2C instance ok discovery process
0623 Example call to device_get_binding(), part of several lines of supporting code:
^ To Configure Pins
2022
-
0628
- [unsolved] https://devzone.nordicsemi.com/f/nordic-q-a/79080/including-specific-sensor-header-files . . . post related to DT_ANY_INST_ON_BUS_STATUS_OKAY issue
- [] https://github.com/zephyrproject-rtos/zephyr/issues/41677#issuecomment-1011605859 . . . undefined reference to `__device_dts_ord_xx' #41677
- [open] https://devzone.nordicsemi.com/f/nordic-q-a/93239/debugging-out-of-tree-device-driver-in-nrf-connect
- [open] https://devzone.nordicsemi.com/f/nordic-q-a/89101/debug-uart How to send Zephyr log messages to custom UART?
- [open] https://devzone.nordicsemi.com/f/nordic-q-a/87240/nrf9160-using-uart-with-printf-without-all-the-debugging-outputs-from-zephyr
- https://devzone.nordicsemi.com/f/nordic-q-a/87451/role-of-active-time-in-psm-requests-granted-values
- 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
- https://devzone.nordicsemi.com/f/nordic-q-a/87728/mqtt-subscribe-and-unsolicited-messages ticket 87728 - MQTT subscribe and unsolicited messages
- https://devzone.nordicsemi.com/f/nordic-q-a/76415/merging-application-mqtt_simple-and-gps/315628#315628 ticket 76415 - merging application mqtt_simple and gps
0503 ( <- note these dates reflect time of finding here at nn, not original post date of Devzone ticket )
-
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
^ Display Devices
GPIO and display related posts:
^ SPI and I2C
2022
-
1024
0628
^ To Configure Pins as Analog Inputs
0331
^ Debugging
2022
-
1027
^ RTT Real Time Terminal Related
2022
-
0322
^ UARTs and Multiple UARTs
Question with dev board nRF5340DK regarding use of multiple UARTs and Bluetooth together:
2024-03-20 WED
Devzone member Mataer asks about run time baud rate changes:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
^ External Services
Zephyr Timing With Epoch
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
^ nRF LTE Modem and PSM Modes
Posts to Nordic Devzone relating to LTE modem Power Savings Mode:
0516 About three years ago Norway developers discover iBasis SIM cards force Active Time period to zero, effectively disabling PSM:
How to interpret bit wise encodings of PSM parameters periodic-TAU, active time, periodic-TAU extended:
Others' posts:
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)
^ nRF9160 Modem Libraries
2022
^ AT commands
0408
^ MQTT Related
2022
-
0509
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)) {
^ FOTA Firmware Over The Air Updates
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
^ Zephyr starting function
- https://devzone.nordicsemi.com/f/nordic-q-a/59838/why-there-is-no-main-in-zephyr-thread-sample-codes
^ Zephyr and External Flash
^ Zephyr kernel issues
^ Battery Related Questions
2022
-
0601
-
To monitor a coin cell battery CR2032 and example schematic:
UICR and related issues:
2022
-
0621
^ Zephyr DMA and EasyDMA
Zephyr DMA and EasyDMA . . .
^ DPPI Distributed Programmable Peripheral Interrupts
A reference to DPPI driver code:
^ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
^ Code Test Coverage and Coverage Reports
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
^ Zephyr Project Configuration
Section started 2023-08-16.
- (open) https://devzone.nordicsemi.com/f/nordic-q-a/102918/nrf5340-zephyr-child-image-image-build-issue
Forum post on configuring CLion first time of use:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
^ 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$
^ How to flash how to program
- [some answers] https://devzone.nordicsemi.com/f/nordic-q-a/51740/how-can-we-flash-the-original-factory-out-of-the-box-fw-for-the-nrf9160
^ Zephyr and Docker
2022
-
0629
^ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
^ Posts To Follow - not yet sorted
As a note here which will also be mentioned near the beginning of this NN wiki page, it is as of 2022-05-09 Monday possible to access any Nordic Devzone post by its number, by entering a URL of the form https://devzone.nordicsemi.com/f/nordic-q-a/nnnnn/index.asp. This works for posts all the way down to Nordic Devzone's first post, post number 1, which was posted cerca 2013.
The following posts cover interesting and in many cases likely useful topics relating to low power, edge sensing devices. These posts however are not yet sorted by NN wiki users. They are here for further review, possibly on a rainy day, but in either case to fulfill future technical needs:
2023
-
0418
0412
0322
0221
2022
-
1002 Monday
0927 Tuesday
0715 Friday post to Nordic Devzone regarding micro ecc . . .
0706
- [open] https://devzone.nordicsemi.com/f/nordic-q-a/89725/watchdog-timer-issues-and-pullup-on-nreset . . . nRF9160 watchdog timer issue and 10k pull up on reset line.
- [reply] https://devzone.nordicsemi.com/f/nordic-q-a/89523/does-mdk-8-15-0-include-workaround-for-errata-136
- [replies] https://devzone.nordicsemi.com/f/nordic-q-a/88970/nrf9160-help-needed-to-find-reset-reboot-cause . . . Thingy91, ncs 1.6.1 adds Memfault module for RAM based logging facility
- [open] https://devzone.nordicsemi.com/f/nordic-q-a/88696/high-drive High current drive question for infra-red LEDs
0509
- https://devzone.nordicsemi.com/f/nordic-q-a/100/how-to-determine-nrf51822-laser-mark ". . . mark answer as accepted to make clearer for other users . . ."
- 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 . . .
-
0601
- https://devzone.nordicsemi.com/f/nordic-q-a/87883/first-i2c-code-on-nrf-connect-i-think-i-m-close
- ...
- https://devzone.nordicsemi.com/f/nordic-q-a/87784/adding-to-the-device-tree-with-overlays---zephyr Developer SmallerPond "adding to the device tree with overlays" question
-
Not able to find 'NARODIC' in searches, but here are some nRF5 SDK references at Nordic Semi site:
(1) https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v15.3.0%2Findex.html
(2) https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v15.3.0/pwr_mgmt_example.html
(3) https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v15.3.0/lib_pwr_mgmt.html
0512
0510
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: