nRF5 SDK is not maintained anymore
More Info: Consider nRF Connect SDK for new designs
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

nRF Connect for Desktop Programmer V2.2.0 and Heart Rate Monitor Demo

I have connected a nRF5340 DK board which the Programmer can connect to. I then drag the two .hex files for the Heart Rate Monitor demo over to the File Memory Layout window, however the following commands are still grayed out:

  • Erase all
  • Erase & write
  • Save as file
  • Reset
  • Write
  • Read

What am I missing please?

# nRFConnect System Report - 2022-01-25T07-26-56.445Z

- System: Apple Inc. MacBookPro12,1
- BIOS: Apple Inc. 428.60.3.0.0
- CPU: 1 x IntelRegistered CoreTm i7-5557U 3.1 GHz 4 cores (2 physical)
- Memory: 425.4 MB free of 16 GB total
- Filesystem: /dev/disk1s5 (APFS) 931.6 GB 2.2% used

- OS: Mac OS X (10.15.7) darwin x64

- Versions
- kernel: 19.6.0
- git: 2.24.3
- node: 14.16.0
- python: 2.7.16
- python3: 3.8.2
- nrfjprog: 10.15.1
- jlink: 7.58b

- Connected devices:
- 001050072527 PCA10095: /dev/tty.usbmodem0010500725271, /dev/tty.usbmodem0010500725273

- Current device:
- name: nRF5340 DK
- serialNumber: 001050072527
- cores: 2
- website: www.nordicsemi.com/.../nRF5340-DK

Parents
  • Hello!

    There is a known issue with the newest version of the programmer app and the nRF53. This will be fixed in a future update of the app.

    Meanwhile you should be able to program your DK if you roll back to nRF Connect 3.7 and Programmer v1.4.11 following these steps:

    1. Download the latest 3.7 version of nRF Connect for Desktop from https://www.nordicsemi.com/Products/Development-tools/nRF-Connect-for-desktop/Download?lang=en#infotabs (for macOS this is 3.7.2).
    2. After starting nRF Connect for Desktop 3.7 a prompt will come up about an available upgrade. Click “No” on this.
    3. In the Settings, click on “Add source”, enter the URL http://developer.nordicsemi.com/.pc-tools/nrfconnect-apps/3.7-apps/apps.json and click “Add”.
    4. Back in the list of all apps, all apps should show up twice now, one with “official” below them and one with “3.7 compatible apps” below them. If you want to hide the incompatible versions, click on “Filter” and deselect “Official”.
    5. Install the apps you need in the old versions and use them.

    Best regards,

    Einar

  • Thanks very much Einar, I was able to follow your instructions fully and the board does now appear to be programmed based on doing a memory read.

    Per the instructions, I've pressed the reset button on the board and the green LED5 pulses periodically. No other LEDs illuminate.

    However when I start the latest version of nRF Toolbox just downloaded from the iOS App Store on either my 1st gen iPad Pro or iPhone 12 mini, when I try to connect via Bluetooth, no entries appear.

    All that is displayed is 

    SCANNING...

    Am I missing something please?

  • OK I see.

    Could you show me what your DK is printing over serial? Maybe it's giving you error messages.

    You can access this for example in the nRF Connect SDK for VS Code while your device is connected through USB.

    -Einar

  • Thanks again Einar, I have launched the terminal monitor in nRF Connect SDK for VS Code, but am not seeing USB traffic, what connection and display options should I be using please?

      

  • In the nRF Connect tab of VS Code you should find a "Connected devices" section.

    There you can choose the COM port of your device, and VS Code will display the serial traffic under "nRF Terminal"

  • There's definitely something not right!

    The terminal window continuously scrolls with the same block:

    *** Booting Zephyr OS build v2.4.0-ncs1-1706-ga89f951e1eb8  ***

    [00:00:00.005,737] <err> os: ***** BUS FAULT *****

    [00:00:00.005,737] <err> os:   Precise data bus error

    [00:00:00.005,737] <err> os:   BFAR Address: 0x20070000

    [00:00:00.005,737] <err> os: r0/a1:  0x21001820  r1/a2:  0x00000001  r2/a3:  0x00000001

    [00:00:00.005,767] <err> os: r3/a4:  0x20070000 r12/ip:  0x2100041c r14/lr:  0x01021cab

    [00:00:00.005,767] <err> os:  xpsr:  0x69000000

    [00:00:00.005,767] <err> os: Faulting instruction address (r15/pc): 0x0101d166

    [00:00:00.005,767] <err> os: >>> ZEPHYR FATAL ERROR 0: CPU exception on CPU 0

    [00:00:00.005,767] <err> os: Current thread: 0x21001b30 (unknown)

    *** Booting Zephyr OS build v2.4.0-ncs1-1706-ga89f951e1eb8  ***

  • Oh, that doesn't look good

    Could you try to compile and flash the Heart Rate Monitor Demo in VS Code, and see if you still get these errors?

    -Einar

Reply Children
  • Hi Einar,

    Thank you for your reply, I can't find the source code files for the Heart Rate Monitor online, just a link for the folder with the two .hex files

                                          Peripheral_Heart_Rate_nRF5340_DK.zip                                     

    Do you have a URL for the application project please?

  • I also saw something about an issue with macOS where the data packets over USB were getting truncated, but I can't immediately find it. Could this be the problem please?

  • https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/nrf-connect-v10-release#osxissue

    https://wiki.segger.com/J-Link_OB

    Workaround 2

    If MSD and VCOM are not needed at the same time, it is possible to disable the MSD component on the J-Link, freeing 2 EPs so that these ones can be used for VCOM to support 512 byte packets. In order to disable the MSD component, please do the following:

    • Connect the J-Link-OB to your PC
    • Start J-Link Commander
    • execute the following command (without quotes): "MSDDisable"
    • Quit J-Link Commander
    • Power-cycle J-Link-OB

    To re-enable the MSD component, please perform the same procedure as above but use the "MSDEnable" command instead.

    This is what I get when I open JLinkConfig, it's not obvious how to follow the workaround instructions:

  • You should find it in VS Code, under the nRF Connect side panel, if you choose "Create new application from sample"

    The sample is found as samples/bluetooth/central_and_peripheral_hr

    https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/samples/bluetooth/central_and_peripheral_hr/README.html

    It looks like you're receiving data over USB just fine, as your error messages are displayed correctly, this seems more like an error in kernel settings in the program you're flashing, which could be because you've rollbacked the programmer.

  • Thanks Einar, some progress with VS Code. I was able to find and build the application although as I'm still on a learning code with VS Code for nRF Connect I may not have done all the steps correctly.

    When I do an Erase and Flash, this is what is displayed in nRF Terminal:

    *** Booting Zephyr OS build v2.7.0-ncs1 ***
    Starting Bluetooth Central and Peripheral Heart Rate relay example
    I: 2 Sectors of 4096 bytes
    I: alloc wra: 0, fe8
    I: data wra: 0, 0
    I: No ID address. App must call settings_load()
    Scanning started
    Advertising started
    W: opcode 0x200a status 0x09
    Connected: 76:B3:56:1B:D7:0E (random)
    W: Ignoring data for unknown channel ID 0x003a
    I: HRS notifications enabled

    When I select Heart Rate in nRF Toolbox on my iPad Pro, the following is displayed which I can connect to:

    Nordic_HR

    But then in the HEART RATE window it then just sits on Retrieving data...

    In the Nordic Kconfig (build) tab it states:

    Unable to find Kconfig information to display. Please select a Kconfig file first.

    One problem is shown in the Terminal:

    soc/arm/atmel_sam/Kconfig.defconfig:11: error: couldn't parse 'default $(dt_node_int_prop_int,/cpus/cpu@0,clock-frequency)': macro expanded to blank string

    # Atmel SAM MCU family default configuration options

    # Copyright (c) 2016 Piotr Mienkowski
    # SPDX-License-Identifier: Apache-2.0

    source "soc/arm/atmel_sam/*/Kconfig.defconfig.series"

    if SOC_FAMILY_SAM

    config SYS_CLOCK_HW_CYCLES_PER_SEC
    default $(dt_node_int_prop_int,/cpus/cpu@0,clock-frequency)

    config WATCHDOG
    default y

    endif # SOC_FAMILY_SAM
Related