This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Startup Troubles on Dev Kit

I was able one time to power up the nRF9160 dev kit and see it connect to the cellular network and to nRF Cloud. Since then, it will only blink LED3, which indicates that it can't connect. I would like to re-flash the firmware, but I'm totally lost in all the circular links in the documentation. I have used the nRF52832 dev kit extensively so I'm quite familiar with the process, but it appears the nRF9160 dev kti adds several more layers of complexity. I would like to be able to load a simple "hello world" application, and then build on that with my application source code. Please guide me to some concise documentation.

  • Hi.

    As the nRF Connect SDK (NCS) is completely new, and not based on the "old" nRF5 SDK, I can understand that there is a lot to get into.

    The first place to begin is the "Getting Started Assistant" application in nRF Connect for Desktop. It contains a step-by-step guide with automatic verification on how to download the necessary tools and source code needed to work with NCS.

    In nRF Connect for Desktop, you can also find the "Programmer" application which can be used to program the nRF91 and update the modem firmware.

    (Speaking of which, if you are not already, you should upgrade to the newest version, v1.0.1. Simply connect to the DK in the programmer application, press "update modem" and  select the zip found here: https://www.nordicsemi.com/Products/Low-power-cellular-IoT/nRF9160/Download#infotabs)

    You can also find the "LTE Link Monitor" application, which provides a terminal to view log and UART output, and an interface for sending AT commands to the modem.

    You can find samples 3 places:

    1. <ncs root>/nrf/applications

    3. <ncs root>/zephyr/samples

    2. <ncs root>/nrf/samples

    In the first folder, you can find "complete" applications we have created to showcase our products and for you to build on. The asset_tracker application is the one that comes default on both the nRF91 DK and the Thingy:91.

    NCS is built on the Zephyr RTOS, and the Zephyr source code is therefore included in NCS. In Zephyr's sample folder, you can find a lot of different samples. Not all of these are guaranteed to work on our chips, but most will, especially those who do not use any extra peripherals. You can also find a "hello world" and "blinky" sample here.

    As the extra functionality and libraries, we have added can be found in the nrf folder. In the samples folder, there is a sub-folder called nrf9160, which contains a lot of samples made specifically for the nRF9160, demonstrating how you can do things like GPS, FOTA, MQTT, etc.

    The documentation for NCS can be found here:

    https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/index.html

    In the bottom left corner, there is a button that lets you change to Zephyr's documentation or the other modules that are part of NCS. As Zephyr's documentation is not written specifically for NCS, it might sometimes be a bit more vague or general. However, the Getting Started sections of both NCS and Zephyr contains a lot of useful information.

    We have also written a few guides to help you with the development:

    https://devzone.nordicsemi.com/nordic/cellular-iot-guides/b/getting-started-cellular/posts/nrf-connect-sdk-tutorial

    https://devzone.nordicsemi.com/nordic/cellular-iot-guides/b/getting-started-cellular/posts/nrf-connect-sdk-tutorial---part-2

    https://devzone.nordicsemi.com/nordic/cellular-iot-guides/b/getting-started-cellular/posts/getting-started-with-nrf9160-dk

    Hopefully, this helps you getting started. If you have any questions left unanswered, I'll do my best to answer them.

    Best regards,

    Didrik

  • Regarding your infinite LED 3 blinking, can you check the UART output (after updating to the newest modem firmware) in the Link Monitor or another serial terminal to see if any error message gets printed?

    If you get a "cloud_connect error: -111" or something like that, something is probably wrong with the pre-provisioned certificates. In that case, you should open a private ticket listing the IMEI of your DK where you request new certificates.

  • Well, the install procedure for this version of nRF Connect is the longest and most tedious I've ever run across. With a few wrong turns and corrections along the way, I've finally battered my way *almost* thru it. When I got to the last step, after creating a project and clicking OK, I got this:

    I strongly suspect I missed a step somewhere, when I was to have installed the GNU ARM Toolchain, and it should have showed up in C:\gnuarmemb. I can't find any such step. I could google for something like that, and likely stumbel all over a dozen wannabees, but I don't have time to tinker. Can you please point me to the correct toolchain and installation process, and correct any other incorrect assumptions I've made.

  • It seems like it is unable to find the toolchain.

    There are 2 environment variables that need to be set:

    ZEPHYR_TOOLCHAIN_VARIANT should be set to gnuarmemb

    GNUARMEMB_TOOLCHAIN_PATH should be set to the directory where you have the bin folder of the toolchain. In my case, that is C:\gnuarmemb, but if you installed it in a different folder, your path will be different. Here is a picture of the folder you should set it to:

    In addition, in SES you must set two paths in the options. Select tools->option from the top menu, then nRF Connect from the selection on the left side of the new window. Then, you must set "GNU ARM Embedded Toolchain Directory" to the same path as GNUARMEMB_TOOLCHAIN_PATH.

    You must also set "Zephyr Base" to the "zephyr" folder inside your NCS installation (though it seems like you have done that correctly).

  • I understand what it's asking for. What I need to know is where to get the GNU ARM toolchain - I don't think I have that installed. In any case, I always allow published installers to install to their default directories, because I've found way too many whose developers didn't bother to check what happens if the user uses a different directory - it often breaks the product. Where should I get the GNU ARM toolchain, in a version compatible with this toolchain?

Related