Difference between revisions of "Zephyr-sdk-install-and-config"
(Created page with " Steps to installing Zephyr SDK and prerequisites in the context of NordicSemi's forked branch of Zephyr, and specifically details on `west init`, `west zephyr-export` and `we...") |
(→^ Nordic Toolchain Install Closely Follows Zephyr Tools) |
||
(9 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | |||
+ | <b>Keywords: Zephyr SDK installation :: Nordic nRF SDK installation :: JLinkARM installations</b> | ||
+ | |||
+ | == [[#top|^]] Overview == | ||
+ | |||
+ | This wiki page intended to capture the various Nordic Semi toolchain elements which support the complete build, flash programming and Segger based debugging of Nordic nRF, Zephyr based applications. I quick list of tools to install: | ||
+ | |||
+ | |||
+ | * all the Linux, Python, west, and sdk-nrf utilities and code base | ||
+ | * [https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads gnuarmemb toolchain] from GNU GCC for ARM downloads page | ||
+ | * Segger JLink drivers from Segger's web site | ||
+ | |||
+ | |||
+ | A key finding on 2021-Sept-27 is that the [https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads gnuarmemb] toolchain is for some reason necessary to call from Segger for compiling nRF Connect SDK projects. At the command line using `west`, both Zephyr's ARM compiler and the GNU ARM compiler (Zephyr's is GNU but just branded) succeed in building nRF Zephyr based apps. Attempts to call `/opt/zephyr-sdk-0.13.0/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc` cause a strange build error "offsets.c.obj does not exist". | ||
+ | |||
+ | |||
+ | == [[#top|^]] Nordic Toolchain Install Closely Follows Zephyr Tools == | ||
Steps to installing Zephyr SDK and prerequisites in the context of NordicSemi's forked branch of Zephyr, and specifically details on `west init`, `west zephyr-export` and `west update`: | Steps to installing Zephyr SDK and prerequisites in the context of NordicSemi's forked branch of Zephyr, and specifically details on `west init`, `west zephyr-export` and `west update`: | ||
Line 5: | Line 22: | ||
Instructions to install Zephyr SDK 0.13.0, note this is a Zephyr website page: | Instructions to install Zephyr SDK 0.13.0, note this is a Zephyr website page: | ||
* https://docs.zephyrproject.org/latest/getting_started/installation_linux.html | * https://docs.zephyrproject.org/latest/getting_started/installation_linux.html | ||
+ | |||
+ | |||
+ | Back to Nordic, their instructions for installing Segger Embedded Studio for Nordic development: | ||
+ | * https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/gs_installing.html | ||
+ | Anchor point in same page, close to download link that's tabbed for Windows, Linux, Mac OS version of Segger IDE Nordic edition: | ||
+ | * https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/gs_installing.html#ses-nordic-edition | ||
+ | |||
+ | Alternate information page: | ||
+ | * https://www.nordicsemi.com/Products/Development-tools/Segger-Embedded-Studio/Download | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | Nordic Semi Simon's four part nRF tutorial series: | ||
+ | * https://devzone.nordicsemi.com/nordic/nrf-connect-sdk-guides/b/getting-started/posts/nrf-connect-sdk-tutorial | ||
+ | * https://devzone.nordicsemi.com/nordic/nrf-connect-sdk-guides/b/getting-started/posts/nrf-connect-sdk-tutorial---part-1-ncs-v1-4-0 | ||
+ | * https://devzone.nordicsemi.com/nordic/nrf-connect-sdk-guides/b/getting-started/posts/nrf-connect-sdk-tutorial---part-2-ncs-v1-4-0 | ||
+ | * https://devzone.nordicsemi.com/nordic/nrf-connect-sdk-guides/b/getting-started/posts/nrf-connect-sdk-tutorial---part-3-ncs-v1-4-0 | ||
+ | |||
+ | == [[#top|^]] gnuarmemb And JLinkARM installation == | ||
+ | |||
+ | The following two links go directly to GNU ARM compiler download page, and to a JLink drivers download page at Segger dot com: | ||
+ | |||
+ | * https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads | ||
+ | |||
+ | * https://www.segger.com/downloads/jlink/?step=1&file=JLink_510d | ||
+ | |||
+ | |||
+ | A recent version of GNU ARM gcc Ted finds will build nRF Zephyr based applications at the command line via `west`, but not when called from within Segger IDE Nordic version 5.60. A latest stable pre-compiled ARM gcc from GNU builds both at command line and in Segger: | ||
+ | |||
+ | <i>Table: ARM gcc cross compiler versions and pass/fail build conditions</i> | ||
+ | <pre> | ||
+ | command line and `west` Segger Nordic v5.60 | ||
+ | arm-zephyr-eabi-gcc (crosstool-NG) 10.2.0 yes no | ||
+ | arm-none-eabi-gcc (GNU Arm) 10.3.1 yes yes | ||
+ | </pre> | ||
+ | |||
+ | Full compiler version strings: | ||
+ | |||
+ | * arm-none-eabi-gcc (GNU Arm Embedded Toolchain 10.3-2021.07) 10.3.1 20210621 (release) | ||
+ | * arm-zephyr-eabi-gcc (crosstool-NG 1.24.0.212_d7da3a9) 10.2.0 | ||
+ | |||
+ | <!-- comment --> |
Latest revision as of 17:41, 1 October 2021
Keywords: Zephyr SDK installation :: Nordic nRF SDK installation :: JLinkARM installations
^ Overview
This wiki page intended to capture the various Nordic Semi toolchain elements which support the complete build, flash programming and Segger based debugging of Nordic nRF, Zephyr based applications. I quick list of tools to install:
- all the Linux, Python, west, and sdk-nrf utilities and code base
- gnuarmemb toolchain from GNU GCC for ARM downloads page
- Segger JLink drivers from Segger's web site
A key finding on 2021-Sept-27 is that the gnuarmemb toolchain is for some reason necessary to call from Segger for compiling nRF Connect SDK projects. At the command line using `west`, both Zephyr's ARM compiler and the GNU ARM compiler (Zephyr's is GNU but just branded) succeed in building nRF Zephyr based apps. Attempts to call `/opt/zephyr-sdk-0.13.0/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc` cause a strange build error "offsets.c.obj does not exist".
^ Nordic Toolchain Install Closely Follows Zephyr Tools
Steps to installing Zephyr SDK and prerequisites in the context of NordicSemi's forked branch of Zephyr, and specifically details on `west init`, `west zephyr-export` and `west update`:
Instructions to install Zephyr SDK 0.13.0, note this is a Zephyr website page:
Back to Nordic, their instructions for installing Segger Embedded Studio for Nordic development:
Anchor point in same page, close to download link that's tabbed for Windows, Linux, Mac OS version of Segger IDE Nordic edition:
Alternate information page:
Nordic Semi Simon's four part nRF tutorial series:
- https://devzone.nordicsemi.com/nordic/nrf-connect-sdk-guides/b/getting-started/posts/nrf-connect-sdk-tutorial
- https://devzone.nordicsemi.com/nordic/nrf-connect-sdk-guides/b/getting-started/posts/nrf-connect-sdk-tutorial---part-1-ncs-v1-4-0
- https://devzone.nordicsemi.com/nordic/nrf-connect-sdk-guides/b/getting-started/posts/nrf-connect-sdk-tutorial---part-2-ncs-v1-4-0
- https://devzone.nordicsemi.com/nordic/nrf-connect-sdk-guides/b/getting-started/posts/nrf-connect-sdk-tutorial---part-3-ncs-v1-4-0
^ gnuarmemb And JLinkARM installation
The following two links go directly to GNU ARM compiler download page, and to a JLink drivers download page at Segger dot com:
A recent version of GNU ARM gcc Ted finds will build nRF Zephyr based applications at the command line via `west`, but not when called from within Segger IDE Nordic version 5.60. A latest stable pre-compiled ARM gcc from GNU builds both at command line and in Segger:
Table: ARM gcc cross compiler versions and pass/fail build conditions
command line and `west` Segger Nordic v5.60 arm-zephyr-eabi-gcc (crosstool-NG) 10.2.0 yes no arm-none-eabi-gcc (GNU Arm) 10.3.1 yes yes
Full compiler version strings:
- arm-none-eabi-gcc (GNU Arm Embedded Toolchain 10.3-2021.07) 10.3.1 20210621 (release)
- arm-zephyr-eabi-gcc (crosstool-NG 1.24.0.212_d7da3a9) 10.2.0