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

SEGGER EMBEDDED STUDIO, ERROR offsets.c.obj

Hi!

I'm currently setting up the nRF9160 dev kit for development and are having some trouble with "building" the asset tracking application.

Building ‘zephyr/include/generated/driver-validation.h’ from solution ‘build’ in configuration ‘Common’
1> Combining ‘zephyr/include/generated/driver-validation.h’
Building ‘zephyr/include/generated/kobj-types-enum.h’ from solution ‘build’ in configuration ‘Common’
1> Combining ‘zephyr/include/generated/kobj-types-enum.h’
Building ‘zephyr/include/generated/otype-to-str.h’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls.json’ from solution ‘build’ in configuration ‘Common’
1> Combining ‘zephyr/misc/generated/syscalls.json’
Building ‘zephyr/include/generated/syscall_list.h’ from solution ‘build’ in configuration ‘Common’
1> Combining ‘zephyr/include/generated/syscall_list.h’
Building ‘zephyr/include/generated/syscall_dispatch.c’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/include/generated/syscall_macros.h’ from solution ‘build’ in configuration ‘Common’
1> Combining ‘zephyr/include/generated/syscall_macros.h’
Building ‘zephyr/include/generated/offsets.h’ from solution ‘build’ in configuration ‘Common’
1> Combining ‘zephyr/include/generated/offsets.h’
1> Traceback (most recent call last):
1> File "C:/programvare/nrfsemi/ncs/zephyr/scripts/gen_offset_header.py", line 72, in <module>
1> input_file = open(args.input, 'rb')
1> FileNotFoundError: [Errno 2] No such file or directory: 'C:/programvare/nrfsemi/ncs/nrf/applications/asset_tracker/build/zephyr/CMakeFiles/offsets.dir/arch/arm/core/offsets/offsets.c.obj'
Build failed

Any clues on what can cause this error message?

I'm using master branch.

Regards,

David

Parents
  • Hi, David!

    I don't know for sure what's causing the issue, but you could try some things:

    1. Check your west version, it should be at least 6.0.0 as far as I know.

    2. Run west update. Forgetting this after changing branch within for example the nrf folder will lead to errors.

    Hope this can help you!

  • Hi Richard.

    Thank you for your reply.

    This did not seem to make any difference.

    https://pypi.org/project/west/

    0.6.2

    - David

  • C:\programvare\nrfsemi\ncs\nrf\applications\asset_tracker>SET ZEPHYR_TOOLCHAIN_VARIANT=gnuarmemb

    C:\programvare\nrfsemi\ncs\nrf\applications\asset_tracker>set GNUARMEMB_TOOLCHAIN_PATH=C:/gnuarmemb

    C:\programvare\nrfsemi\ncs\nrf\applications\asset_tracker>west build -b nrf9160_pca10090
    -- west build: build configuration:
    source directory: C:\programvare\nrfsemi\ncs\nrf\applications\asset_tracker
    build directory: C:\programvare\nrfsemi\ncs\nrf\applications\asset_tracker\build
    BOARD: nrf9160_pca10090 (origin: command line)
    -- west build: generating a build system
    -- Using application from 'C:/programvare/nrfsemi/ncs/nrf/applications/asset_tracker'
    Zephyr version: 1.14.99
    -- Found PythonInterp: C:/Python37/python.exe (found suitable version "3.7.2", minimum required is "3.4")
    -- Selected BOARD nrf9160_pca10090
    -- Found west: C:/Python37/Scripts/west.exe (found suitable version "0.6.2", minimum required is "0.6.0")
    -- Cache files will be written to: C:\Users\Bruker\AppData\Local/.cache/zephyr
    -- Loading C:/programvare/nrfsemi/ncs/zephyr/boards/arm/nrf9160_pca10090/nrf9160_pca10090.dts as base
    -- Overlaying C:/programvare/nrfsemi/ncs/zephyr/dts/common/common.dts
    Device tree configuration written to C:/programvare/nrfsemi/ncs/nrf/applications/asset_tracker/build/zephyr/include/generated/generated_dts_board.conf
    Parsing Kconfig tree in C:/programvare/nrfsemi/ncs/nrf/applications/asset_tracker/Kconfig
    Loaded configuration 'C:/programvare/nrfsemi/ncs/zephyr/boards/arm/nrf9160_pca10090/nrf9160_pca10090_defconfig'
    Merged configuration 'C:/programvare/nrfsemi/ncs/nrf/applications/asset_tracker/prj.conf'
    Configuration saved to 'C:/programvare/nrfsemi/ncs/nrf/applications/asset_tracker/build/zephyr/.config'
    warning: BSD_LIBRARY (defined at C:/programvare/nrfsemi/ncs/nrf\lib\bsdlib/Kconfig:8) was assigned
    the value 'y' but got the value 'n'. You can check symbol information (including dependencies) in
    the 'menuconfig' interface (see the Application Development Primer section of the manual), or in the
    Kconfig reference at docs.zephyrproject.org/.../CONFIG_BSD_LIBRARY.html
    (which is updated regularly from the master branch). See the 'Setting configuration values' section
    of the Board Porting Guide as well.

    warning: NRF9160_GPS (defined at C:/programvare/nrfsemi/ncs/nrf\drivers\nrf9160_gps/Kconfig:8) has direct dependencies BSD_LIBRARY with value n, but is currently being y-selected by the following symbols:
    - GPS_CONTROL (defined at C:/programvare/nrfsemi/ncs/nrf/applications/asset_tracker\src/gps_controller/Kconfig:9), with value y, direct dependencies y (value: y)

    warning: AT_CMD (defined at C:/programvare/nrfsemi/ncs/nrf\drivers\at_cmd/Kconfig:9) has direct dependencies BSD_LIBRARY with value n, but is currently being y-selected by the following symbols:
    - AT_HOST_LIBRARY (defined at C:/programvare/nrfsemi/ncs/nrf\lib\at_host/Kconfig:9), with value y, direct dependencies y (value: y)
    - NRF9160_GPS_HANDLE_MODEM_CONFIGURATION (defined at C:/programvare/nrfsemi/ncs/nrf\drivers\nrf9160_gps/Kconfig:27), with value y, direct dependencies NRF9160_GPS (value: y), and select condition NRF9160_GPS (value: y)
    - LTE_LINK_CONTROL (defined at C:/programvare/nrfsemi/ncs/nrf\drivers\lte_link_control/Kconfig:7), with value y, direct dependencies y (value: y)
    -- The C compiler identification is GNU 8.3.1
    -- The CXX compiler identification is GNU 8.3.1
    -- The ASM compiler identification is GNU
    -- Found assembler: C:/gnuarmemb/bin/arm-none-eabi-gcc.exe
    -- Performing Test toolchain_is_ok
    -- Performing Test toolchain_is_ok - Success
    Including module: nrf in path: C:\programvare\nrfsemi\ncs\nrf
    Including module: nffs in path: C:\programvare\nrfsemi\ncs\modules\fs\nffs
    Including module: segger in path: C:\programvare\nrfsemi\ncs\modules\debug\segger
    Including module: mbedtls in path: C:\programvare\nrfsemi\ncs\modules\crypto\mbedtls
    Including module: mcuboot in path: C:\programvare\nrfsemi\ncs\mcuboot\zephyr
    Including module: mcumgr in path: C:\programvare\nrfsemi\ncs\modules\lib\mcumgr
    Including module: tinycbor in path: C:\programvare\nrfsemi\ncs\modules\lib\tinycbor
    Including module: nrfxlib in path: C:\programvare\nrfsemi\ncs\nrfxlib
    CMake Warning at C:/programvare/nrfsemi/ncs/zephyr/CMakeLists.txt:1559 (message):

    ------------------------------------------------------------
    --- WARNING: __ASSERT() statements are globally ENABLED ---
    --- The kernel will run more slowly and use more memory ---
    ------------------------------------------------------------


    -- Configuring done
    -- Generating done
    -- Build files have been written to: C:/programvare/nrfsemi/ncs/nrf/applications/asset_tracker/build
    -- west build: building application
    [67/161] Building C object zephyr/modules/nrf/subsys/net/lib/nrf_cloud/CMakeFiles/..__nrf__subsys__net__lib__nrf_cloud.dir/src/nrf_cloud_transport.c.obj
    FAILED: zephyr/modules/nrf/subsys/net/lib/nrf_cloud/CMakeFiles/..__nrf__subsys__net__lib__nrf_cloud.dir/src/nrf_cloud_transport.c.obj
    C:\gnuarmemb\bin\arm-none-eabi-gcc.exe -DBUILD_VERSION=v1.14.99-ncs3-snapshot2-1276-g4493a423a645 -DKERNEL -DNRF9160_XXAA -DPROJECT_NAME=asset_tracker -DUSE_PARTITION_MANAGER=0 -D_FORTIFY_SOURCE=2 -D__LINUX_ERRNO_EXTENSIONS__ -D__ZEPHYR__=1 -IC:/programvare/nrfsemi/ncs/zephyr/kernel/include -IC:/programvare/nrfsemi/ncs/zephyr/arch/arm/include -IC:/programvare/nrfsemi/ncs/zephyr/include -IC:/programvare/nrfsemi/ncs/zephyr/include/drivers -Izephyr/include/generated -IC:/programvare/nrfsemi/ncs/zephyr/soc/arm/nordic_nrf/nrf91 -IC:/programvare/nrfsemi/ncs/zephyr/soc/arm/nordic_nrf/include -IC:/programvare/nrfsemi/ncs/zephyr/ext/hal/cmsis/Include -IC:/programvare/nrfsemi/ncs/zephyr/ext/hal/nordic/nrfx -IC:/programvare/nrfsemi/ncs/zephyr/ext/hal/nordic/nrfx/drivers/include -IC:/programvare/nrfsemi/ncs/zephyr/ext/hal/nordic/nrfx/hal -IC:/programvare/nrfsemi/ncs/zephyr/ext/hal/nordic/nrfx/mdk -IC:/programvare/nrfsemi/ncs/zephyr/ext/hal/nordic/. -IC:/programvare/nrfsemi/ncs/zephyr/subsys/net/lib/sockets/. -I../../../include -I../../../ext/cjson/. -I../../../lib/at_cmd_parser/include -I../../../subsys/net/lib/cloud/./include -I../../../subsys/net/lib/nrf_cloud/./include -I../src -I../src/orientation_detector/. -I../src/ui/include -I../src/cloud_codec/. -I../src/gps_controller/. -I../src/env_sensors/. -isystem C:/gnuarmemb/arm-none-eabi/include -Os -imacrosC:/programvare/nrfsemi/ncs/nrf/applications/asset_tracker/build/zephyr/include/generated/autoconf.h -ffreestanding -fno-common -g -mthumb -mcpu=cortex-m33 -imacrosC:/programvare/nrfsemi/ncs/zephyr/include/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-main -Wno-pointer-sign -Wpointer-arith -Wno-unused-but-set-variable -Werror=implicit-int -fno-asynchronous-unwind-tables -fno-pie -fno-pic -fno-strict-overflow -fno-reorder-functions -fno-defer-pop -fmacro-prefix-map=C:/programvare/nrfsemi/ncs/nrf/applications/asset_tracker=CMAKE_SOURCE_DIR -fmacro-prefix-map=C:/programvare/nrfsemi/ncs/zephyr=ZEPHYR_BASE -ffunction-sections -fdata-sections -mabi=aapcs -march=armv8-m.main+dsp -std=c99 -MD -MT zephyr/modules/nrf/subsys/net/lib/nrf_cloud/CMakeFiles/..__nrf__subsys__net__lib__nrf_cloud.dir/src/nrf_cloud_transport.c.obj -MF zephyr\modules\nrf\subsys\net\lib\nrf_cloud\CMakeFiles\..__nrf__subsys__net__lib__nrf_cloud.dir\src\nrf_cloud_transport.c.obj.d -o zephyr/modules/nrf/subsys/net/lib/nrf_cloud/CMakeFiles/..__nrf__subsys__net__lib__nrf_cloud.dir/src/nrf_cloud_transport.c.obj -c C:/programvare/nrfsemi/ncs/nrf/subsys/net/lib/nrf_cloud/src/nrf_cloud_transport.c
    C:/programvare/nrfsemi/ncs/nrf/subsys/net/lib/nrf_cloud/src/nrf_cloud_transport.c: In function 'nct_client_id_get':
    C:/programvare/nrfsemi/ncs/nrf/subsys/net/lib/nrf_cloud/src/nrf_cloud_transport.c:272:3: error: #error Missing NRF_CLOUD_CLIENT_ID
    #error Missing NRF_CLOUD_CLIENT_ID
    ^~~~~
    [72/161] Building C object zephyr/kernel/CMakeFiles/kernel.dir/poll.c.obj
    ninja: build stopped: subcommand failed.
    ERROR: command exited with status 1: 'C:\Program Files\CMake\bin\cmake.EXE' --build 'C:\programvare\nrfsemi\ncs\nrf\applications\asset_tracker\build'

    C:\programvare\nrfsemi\ncs\nrf\applications\asset_tracker>

  • I am still getting the same error when building inside SEGGER Embedded Studio,

    - David

  • Hmm. Seems like there may be an issue with your certificate file, at least from what I can see in the errors. 

    Could you see if the certificates.h under asset_tracker/src matches this one?

  • This file is missing in my directory C:\programvare\nrfsemi\ncs\nrf\applications\asset_tracker\src

    I copied the files to my directory, but this did not help.

    -David

  • When I use the command : west build -b nrf9160_pca10090ns

    with "ns", I get a'little bit further, but still having a error.

    You know the difference bethween typing nrf9160_pca10090ns/nrf9160_pca10090 ?


    Running Partition Manager...
    -- Configuring done
    -- Generating done
    -- Build files have been written to: C:/programvare/nrfsemi/ncs/nrf/applications/asset_tracker/build
    -- west build: building application
    [99/344] Building C object spm/zephyr/CMakeFiles/spm_zephyr.dir/C_/programvare/nrfsemi/ncs/nrf/subsys/spm/spm.c.obj
    FAILED: spm/zephyr/CMakeFiles/spm_zephyr.dir/C_/programvare/nrfsemi/ncs/nrf/subsys/spm/spm.c.obj
    C:\gnuarmemb\bin\arm-none-eabi-gcc.exe -DBUILD_VERSION=v1.14.99-ncs3-snapshot2-1276-g4493a423a645 -DKERNEL -DMBEDTLS_CONFIG_FILE=\"nrf-config.h\" -DNRF9160_XXAA -DUSE_PARTITION_MANAGER=1 -D_FORTIFY_SOURCE=2 -D__ZEPHYR__=1 -IC:/programvare/nrfsemi/ncs/zephyr/kernel/include -IC:/programvare/nrfsemi/ncs/zephyr/arch/arm/include -IC:/programvare/nrfsemi/ncs/zephyr/include -IC:/programvare/nrfsemi/ncs/zephyr/include/drivers -Ispm/zephyr/include/generated -IC:/programvare/nrfsemi/ncs/zephyr/soc/arm/nordic_nrf/nrf91 -IC:/programvare/nrfsemi/ncs/zephyr/soc/arm/nordic_nrf/include -IC:/programvare/nrfsemi/ncs/zephyr/lib/libc/minimal/include -IC:/programvare/nrfsemi/ncs/zephyr/ext/hal/cmsis/Include -IC:/programvare/nrfsemi/ncs/zephyr/ext/hal/nordic/nrfx -IC:/programvare/nrfsemi/ncs/zephyr/ext/hal/nordic/nrfx/drivers/include -IC:/programvare/nrfsemi/ncs/zephyr/ext/hal/nordic/nrfx/hal -IC:/programvare/nrfsemi/ncs/zephyr/ext/hal/nordic/nrfx/mdk -IC:/programvare/nrfsemi/ncs/zephyr/ext/hal/nordic/. -IC:/programvare/nrfsemi/ncs/nrf/include -IC:/programvare/nrfsemi/ncs/nrfxlib/crypto/nrf_cc310_mbedcrypto/include/mbedtls -Ispm/zephyr/modules/nrfxlib/nrf_security/include -IC:/programvare/nrfsemi/ncs/mbedtls/include -IC:/programvare/nrfsemi/ncs/mbedtls/include/mbedtls -isystem c:/gnuarmemb/bin/../lib/gcc/arm-none-eabi/8.3.1/include -isystem c:/gnuarmemb/bin/../lib/gcc/arm-none-eabi/8.3.1/include-fixed -Os -nostdinc -imacrosC:/programvare/nrfsemi/ncs/nrf/applications/asset_tracker/build/spm/zephyr/include/generated/autoconf.h -ffreestanding -fno-common -g -mthumb -mcpu=cortex-m33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -imacrosC:/programvare/nrfsemi/ncs/zephyr/include/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-main -Wno-pointer-sign -Wpointer-arith -Wno-unused-but-set-variable -Werror=implicit-int -fno-asynchronous-unwind-tables -fno-pie -fno-pic -fno-strict-overflow -fno-reorder-functions -fno-defer-pop -fmacro-prefix-map=C:/programvare/nrfsemi/ncs/nrf/applications/asset_tracker=CMAKE_SOURCE_DIR -fmacro-prefix-map=C:/programvare/nrfsemi/ncs/zephyr=ZEPHYR_BASE -ffunction-sections -fdata-sections -mabi=aapcs -march=armv8-m.main+dsp -mcmse -std=c99 -MD -MT spm/zephyr/CMakeFiles/spm_zephyr.dir/C_/programvare/nrfsemi/ncs/nrf/subsys/spm/spm.c.obj -MF spm\zephyr\CMakeFiles\spm_zephyr.dir\C_\programvare\nrfsemi\ncs\nrf\subsys\spm\spm.c.obj.d -o spm/zephyr/CMakeFiles/spm_zephyr.dir/C_/programvare/nrfsemi/ncs/nrf/subsys/spm/spm.c.obj -c C:/programvare/nrfsemi/ncs/nrf/subsys/spm/spm.c
    In file included from C:/programvare/nrfsemi/ncs/nrf/subsys/spm/spm.c:20:
    C:/programvare/nrfsemi/ncs/nrf/subsys/spm/spm.c: In function 'spm_jump':
    C:/programvare/nrfsemi/ncs/zephyr/arch/arm/include/cortex_m/tz.h:319:22: error: called object is not a function or function pointer
    ((tz_ns_func_ptr_t)(cmse_nsfptr_create(fptr)))
    ^~~~~~~~~~~~~~~~~~
    C:/programvare/nrfsemi/ncs/nrf/subsys/spm/spm.c:429:13: note: in expansion of macro 'TZ_NONSECURE_FUNC_PTR_CREATE'
    reset_ns = TZ_NONSECURE_FUNC_PTR_CREATE(vtor_ns[1]);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    [104/344] Building C object spm/zephyr/arch/arm/core/CMakeFiles/spm_arch__arm__core.dir/irq_manage.c.obj
    ninja: build stopped: subcommand failed.
    ERROR: command exited with status 1: 'C:\Program Files\CMake\bin\cmake.EXE' --build 'C:\programvare\nrfsemi\ncs\nrf\applications\asset_tracker\build'

    C:\programvare\nrfsemi\ncs\nrf\applications\asset_tracker>

    -David

Reply
  • When I use the command : west build -b nrf9160_pca10090ns

    with "ns", I get a'little bit further, but still having a error.

    You know the difference bethween typing nrf9160_pca10090ns/nrf9160_pca10090 ?


    Running Partition Manager...
    -- Configuring done
    -- Generating done
    -- Build files have been written to: C:/programvare/nrfsemi/ncs/nrf/applications/asset_tracker/build
    -- west build: building application
    [99/344] Building C object spm/zephyr/CMakeFiles/spm_zephyr.dir/C_/programvare/nrfsemi/ncs/nrf/subsys/spm/spm.c.obj
    FAILED: spm/zephyr/CMakeFiles/spm_zephyr.dir/C_/programvare/nrfsemi/ncs/nrf/subsys/spm/spm.c.obj
    C:\gnuarmemb\bin\arm-none-eabi-gcc.exe -DBUILD_VERSION=v1.14.99-ncs3-snapshot2-1276-g4493a423a645 -DKERNEL -DMBEDTLS_CONFIG_FILE=\"nrf-config.h\" -DNRF9160_XXAA -DUSE_PARTITION_MANAGER=1 -D_FORTIFY_SOURCE=2 -D__ZEPHYR__=1 -IC:/programvare/nrfsemi/ncs/zephyr/kernel/include -IC:/programvare/nrfsemi/ncs/zephyr/arch/arm/include -IC:/programvare/nrfsemi/ncs/zephyr/include -IC:/programvare/nrfsemi/ncs/zephyr/include/drivers -Ispm/zephyr/include/generated -IC:/programvare/nrfsemi/ncs/zephyr/soc/arm/nordic_nrf/nrf91 -IC:/programvare/nrfsemi/ncs/zephyr/soc/arm/nordic_nrf/include -IC:/programvare/nrfsemi/ncs/zephyr/lib/libc/minimal/include -IC:/programvare/nrfsemi/ncs/zephyr/ext/hal/cmsis/Include -IC:/programvare/nrfsemi/ncs/zephyr/ext/hal/nordic/nrfx -IC:/programvare/nrfsemi/ncs/zephyr/ext/hal/nordic/nrfx/drivers/include -IC:/programvare/nrfsemi/ncs/zephyr/ext/hal/nordic/nrfx/hal -IC:/programvare/nrfsemi/ncs/zephyr/ext/hal/nordic/nrfx/mdk -IC:/programvare/nrfsemi/ncs/zephyr/ext/hal/nordic/. -IC:/programvare/nrfsemi/ncs/nrf/include -IC:/programvare/nrfsemi/ncs/nrfxlib/crypto/nrf_cc310_mbedcrypto/include/mbedtls -Ispm/zephyr/modules/nrfxlib/nrf_security/include -IC:/programvare/nrfsemi/ncs/mbedtls/include -IC:/programvare/nrfsemi/ncs/mbedtls/include/mbedtls -isystem c:/gnuarmemb/bin/../lib/gcc/arm-none-eabi/8.3.1/include -isystem c:/gnuarmemb/bin/../lib/gcc/arm-none-eabi/8.3.1/include-fixed -Os -nostdinc -imacrosC:/programvare/nrfsemi/ncs/nrf/applications/asset_tracker/build/spm/zephyr/include/generated/autoconf.h -ffreestanding -fno-common -g -mthumb -mcpu=cortex-m33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -imacrosC:/programvare/nrfsemi/ncs/zephyr/include/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-main -Wno-pointer-sign -Wpointer-arith -Wno-unused-but-set-variable -Werror=implicit-int -fno-asynchronous-unwind-tables -fno-pie -fno-pic -fno-strict-overflow -fno-reorder-functions -fno-defer-pop -fmacro-prefix-map=C:/programvare/nrfsemi/ncs/nrf/applications/asset_tracker=CMAKE_SOURCE_DIR -fmacro-prefix-map=C:/programvare/nrfsemi/ncs/zephyr=ZEPHYR_BASE -ffunction-sections -fdata-sections -mabi=aapcs -march=armv8-m.main+dsp -mcmse -std=c99 -MD -MT spm/zephyr/CMakeFiles/spm_zephyr.dir/C_/programvare/nrfsemi/ncs/nrf/subsys/spm/spm.c.obj -MF spm\zephyr\CMakeFiles\spm_zephyr.dir\C_\programvare\nrfsemi\ncs\nrf\subsys\spm\spm.c.obj.d -o spm/zephyr/CMakeFiles/spm_zephyr.dir/C_/programvare/nrfsemi/ncs/nrf/subsys/spm/spm.c.obj -c C:/programvare/nrfsemi/ncs/nrf/subsys/spm/spm.c
    In file included from C:/programvare/nrfsemi/ncs/nrf/subsys/spm/spm.c:20:
    C:/programvare/nrfsemi/ncs/nrf/subsys/spm/spm.c: In function 'spm_jump':
    C:/programvare/nrfsemi/ncs/zephyr/arch/arm/include/cortex_m/tz.h:319:22: error: called object is not a function or function pointer
    ((tz_ns_func_ptr_t)(cmse_nsfptr_create(fptr)))
    ^~~~~~~~~~~~~~~~~~
    C:/programvare/nrfsemi/ncs/nrf/subsys/spm/spm.c:429:13: note: in expansion of macro 'TZ_NONSECURE_FUNC_PTR_CREATE'
    reset_ns = TZ_NONSECURE_FUNC_PTR_CREATE(vtor_ns[1]);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    [104/344] Building C object spm/zephyr/arch/arm/core/CMakeFiles/spm_arch__arm__core.dir/irq_manage.c.obj
    ninja: build stopped: subcommand failed.
    ERROR: command exited with status 1: 'C:\Program Files\CMake\bin\cmake.EXE' --build 'C:\programvare\nrfsemi\ncs\nrf\applications\asset_tracker\build'

    C:\programvare\nrfsemi\ncs\nrf\applications\asset_tracker>

    -David

Children
  • Hmm.

    nrf9160_pca10090ns targets the build for the "non secure partition" of the chip, nrf9160_pca10090 targets the secure part. I don't know the exact significance of this, but from what I know the asset_tracker is meant to be build with nrf9160_pca10090ns as you've already done.

    Did you delete the build folder between each time you ran west build now?

  • Ok, yes I did.

    Running Partition Manager...
    -- Configuring done
    -- Generating done
    -- Build files have been written to: C:/programvare/nrfsemi/ncs/nrf/applications/asset_tracker/build
    -- west build: building application
    [92/344] Building C object spm/zephyr/CMakeFiles/spm_zephyr.dir/C_/programvare/nrfsemi/ncs/nrf/subsys/spm/spm.c.obj
    FAILED: spm/zephyr/CMakeFiles/spm_zephyr.dir/C_/programvare/nrfsemi/ncs/nrf/subsys/spm/spm.c.obj
    C:\gnuarmemb\bin\arm-none-eabi-gcc.exe -DBUILD_VERSION=v1.14.99-ncs3-snapshot2-1276-g4493a423a645 -DKERNEL -DMBEDTLS_CONFIG_FILE=\"nrf-config.h\" -DNRF9160_XXAA -DUSE_PARTITION_MANAGER=1 -D_FORTIFY_SOURCE=2 -D__ZEPHYR__=1 -IC:/programvare/nrfsemi/ncs/zephyr/kernel/include -IC:/programvare/nrfsemi/ncs/zephyr/arch/arm/include -IC:/programvare/nrfsemi/ncs/zephyr/include -IC:/programvare/nrfsemi/ncs/zephyr/include/drivers -Ispm/zephyr/include/generated -IC:/programvare/nrfsemi/ncs/zephyr/soc/arm/nordic_nrf/nrf91 -IC:/programvare/nrfsemi/ncs/zephyr/soc/arm/nordic_nrf/include -IC:/programvare/nrfsemi/ncs/zephyr/lib/libc/minimal/include -IC:/programvare/nrfsemi/ncs/zephyr/ext/hal/cmsis/Include -IC:/programvare/nrfsemi/ncs/zephyr/ext/hal/nordic/nrfx -IC:/programvare/nrfsemi/ncs/zephyr/ext/hal/nordic/nrfx/drivers/include -IC:/programvare/nrfsemi/ncs/zephyr/ext/hal/nordic/nrfx/hal -IC:/programvare/nrfsemi/ncs/zephyr/ext/hal/nordic/nrfx/mdk -IC:/programvare/nrfsemi/ncs/zephyr/ext/hal/nordic/. -IC:/programvare/nrfsemi/ncs/nrf/include -IC:/programvare/nrfsemi/ncs/nrfxlib/crypto/nrf_cc310_mbedcrypto/include/mbedtls -Ispm/zephyr/modules/nrfxlib/nrf_security/include -IC:/programvare/nrfsemi/ncs/mbedtls/include -IC:/programvare/nrfsemi/ncs/mbedtls/include/mbedtls -isystem c:/gnuarmemb/bin/../lib/gcc/arm-none-eabi/8.3.1/include -isystem c:/gnuarmemb/bin/../lib/gcc/arm-none-eabi/8.3.1/include-fixed -Os -nostdinc -imacrosC:/programvare/nrfsemi/ncs/nrf/applications/asset_tracker/build/spm/zephyr/include/generated/autoconf.h -ffreestanding -fno-common -g -mthumb -mcpu=cortex-m33 -mfpu=fpv5-sp-d16 -mfloat-abi=hard -imacrosC:/programvare/nrfsemi/ncs/zephyr/include/toolchain/zephyr_stdint.h -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-main -Wno-pointer-sign -Wpointer-arith -Wno-unused-but-set-variable -Werror=implicit-int -fno-asynchronous-unwind-tables -fno-pie -fno-pic -fno-strict-overflow -fno-reorder-functions -fno-defer-pop -fmacro-prefix-map=C:/programvare/nrfsemi/ncs/nrf/applications/asset_tracker=CMAKE_SOURCE_DIR -fmacro-prefix-map=C:/programvare/nrfsemi/ncs/zephyr=ZEPHYR_BASE -ffunction-sections -fdata-sections -mabi=aapcs -march=armv8-m.main+dsp -mcmse -std=c99 -MD -MT spm/zephyr/CMakeFiles/spm_zephyr.dir/C_/programvare/nrfsemi/ncs/nrf/subsys/spm/spm.c.obj -MF spm\zephyr\CMakeFiles\spm_zephyr.dir\C_\programvare\nrfsemi\ncs\nrf\subsys\spm\spm.c.obj.d -o spm/zephyr/CMakeFiles/spm_zephyr.dir/C_/programvare/nrfsemi/ncs/nrf/subsys/spm/spm.c.obj -c C:/programvare/nrfsemi/ncs/nrf/subsys/spm/spm.c
    In file included from C:/programvare/nrfsemi/ncs/nrf/subsys/spm/spm.c:20:
    C:/programvare/nrfsemi/ncs/nrf/subsys/spm/spm.c: In function 'spm_jump':
    C:/programvare/nrfsemi/ncs/zephyr/arch/arm/include/cortex_m/tz.h:319:22: error: called object is not a function or function pointer
    ((tz_ns_func_ptr_t)(cmse_nsfptr_create(fptr)))
    ^~~~~~~~~~~~~~~~~~
    C:/programvare/nrfsemi/ncs/nrf/subsys/spm/spm.c:429:13: note: in expansion of macro 'TZ_NONSECURE_FUNC_PTR_CREATE'
    reset_ns = TZ_NONSECURE_FUNC_PTR_CREATE(vtor_ns[1]);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    [97/344] Building C object spm/zephyr/CMakeFiles/spm_zephyr.dir/drivers/timer/nrf_rtc_timer.c.obj
    ninja: build stopped: subcommand failed.
    ERROR: command exited with status 1: 'C:\Program Files\CMake\bin\cmake.EXE' --build 'C:\programvare\nrfsemi\ncs\nrf\applications\asset_tracker\build'

    -David

  • Hi.

    Which GCC version are you using?

    You should be using the version listed in the Getting Started Assistant, 7-2018-q2-update.

    Best regards,

    Didrik

  • Hey Didrik,

    I can confirm that when I change the GCC  version to 7-2018-q2-update, it works.

    But .. It only works with using cmd, with the following commands.

    1. SET ZEPHYR_TOOLCHAIN_VARIANT=gnuarmemb

    2. SET GNUARMEMB_TOOLCHAIN_PATH="C:\gnuarmemb"

    3. west build -b nrf9160_pca10090ns

    An additional note to mention here is that men building with "ns" non-secure it says the following:

    "Changed board to secure nrf9160_pca10090 (NOT NS)"

    Why is that?, what is the difference between these two?

    ########################################

    When I use SEGGER Embedded Studio to "Build" the application I get following response.


    I believe it has to do with my missing "Directory" options, see picture below.

    Tools -> Options -> nRF Connect

    How do I add the directory here?

    GCC -> gnuarmemb

    Zephyr

    - David

  • Hi, and sorry for the very late reply, but when a question has a "verified answer" it no longer appears in my queue.

    The nRF9160 can be in both secure and non-secure state. To communicate with the modem, it has to be non-secure, so you always* want to build the application as non-secure.

    When you build your application, the "Secure Partition Manager" (SPM) also gets built. To do its job, it needs to be running in the secure domain. That is why it changes the board.

    Regarding your missing options and failure to build in SES, I recommend you open a new case, so that we get notified about updates.

    Best regards,

    Didrik

    *There are some situations where you might want your application to be in the secure domain, but these are mostly related to peripherals not configured by the SPM. If you want to use the modem or are unsure, use non-secure.

Related