1

I followed the steps explained here to install the required packages and build one of the examples. But I faced a problem and can't get the hex output. When I run the first command:

cmake -G Ninja -DMOVESENSE_CORE_LIBRARY=../MovesenseCoreLib/ -DCMAKE_TOOLCHAIN_FILE=../MovesenseCoreLib/toolchain/gcc-nrf52.cmake ../samples/blinky_app

I get the following output:

> -- The C compiler identification is GNU 4.9.3
> -- The CXX compiler identification is GNU 4.9.3
> -- Check for working C compiler: C:/Program Files (x86)/GNU Tools ARM Embedded/4.9 2015q3/bin/arm-none-eabi-gcc.exe
> -- Check for working C compiler: C:/Program Files (x86)/GNU Tools ARM Embedded/4.9 2015q3/bin/arm-none-eabi-gcc.exe -- works
> -- Detecting C compiler ABI info
> -- Detecting C compiler ABI info - done
> -- Detecting C compile features
> -- Detecting C compile features - done
> -- Check for working CXX compiler: C:/Program Files (x86)/GNU Tools ARM Embedded/4.9 2015q3/bin/arm-none-eabi-gcc.exe
> -- Check for working CXX compiler: C:/Program Files (x86)/GNU Tools ARM Embedded/4.9 2015q3/bin/arm-none-eabi-gcc.exe -- works
> -- Detecting CXX compiler ABI info
> -- Detecting CXX compiler ABI info - done
> -- Detecting CXX compile features
> -- Detecting CXX compile features - done
> -- The ASM compiler identification is GNU
> -- Found assembler: C:/Program Files (x86)/GNU Tools ARM Embedded/4.9 2015q3/bin/arm-none-eabi-gcc.exe CMake Warning at CMakeLists.txt:12
> (message):   Defaulting build type to 'Debug'
> 
> 
> -- PATH_TOOL_PYTHON set to portable-python (win32 only)
> -- Configuring done
> -- Generating done
> -- Build files have been written to: D:/suunto-movesense-device-lib/myBuild

which I assume is the expected output. In this stage, some files are created in myBuild folder. Then I run ninja and I get the following output:

[1/8] Generating SBEM serialization code
Skipped argument since not a valid yaml glob:  D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//generated/
processing following yaml-files:
Processing total  23  .yaml-files
Found  45  resources and  65  datatype definitions.
Scanning  41  WB-resources
Creating SBEM-Groups
Generating C++ code.  20  groups,  45  items
skipping unsupported resource:  /Net
Skipping MEAS_IMU6_SAMPLERATE_ size()==5 because data too long.
Skipping MEAS_IMU6_SAMPLERATE_ size()==6 because data too long.
Skipping MEAS_IMU6_SAMPLERATE_ size()==7 because data too long.
Skipping MEAS_IMU6_SAMPLERATE_ size()==8 because data too long.
Skipping MEAS_IMU6M_SAMPLERATE_ size()==5 because data too long.
Skipping MEAS_IMU6M_SAMPLERATE_ size()==6 because data too long.
Skipping MEAS_IMU6M_SAMPLERATE_ size()==7 because data too long.
Skipping MEAS_IMU6M_SAMPLERATE_ size()==8 because data too long.
Skipping MEAS_IMU9_SAMPLERATE_ size()==3 because data too long.
Skipping MEAS_IMU9_SAMPLERATE_ size()==4 because data too long.
Skipping MEAS_IMU9_SAMPLERATE_ size()==5 because data too long.
Skipping MEAS_IMU9_SAMPLERATE_ size()==6 because data too long.
Skipping MEAS_IMU9_SAMPLERATE_ size()==7 because data too long.
Skipping MEAS_IMU9_SAMPLERATE_ size()==8 because data too long.
[2/8] Generating generated/app_execution_contexts/resources.c.h, generated/app_execution_contexts/resources.h, generated/app_execution_contexts/resources.cpp, app_execution_contexts.wbo
WBRES run with parameters:
    --cheaderFile
    D:/suunto-movesense-device-lib/myBuild/generated/app_execution_contexts/resources.c.h
    --headerFile
    D:/suunto-movesense-device-lib/myBuild/generated/app_execution_contexts/resources.h
    --sourceFile
    D:/suunto-movesense-device-lib/myBuild/generated/app_execution_contexts/resources.cpp
    --libFile
    D:/suunto-movesense-device-lib/myBuild/app_execution_contexts.wbo
    --cppDepends
    ../wb-resources/resources.h
    D:/suunto-movesense-device-lib/samples/blinky_app/app_root.yaml

[3/8] Generating app-metadata/metadata.cpp
WBRES run with parameters:
    --metadataSourceFile
    D:/suunto-movesense-device-lib/myBuild/app-metadata/metadata.cpp
    D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//resources/comm_ble.wbo
    D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//resources/component_ds24l65.wbo
    D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//resources/component_eeprom.wbo
    D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//resources/component_led.wbo
    D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//resources/component_lsm6ds3.wbo
    D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//resources/component_max3000x.wbo
    D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//resources/component_nrf52.wbo
    D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//resources/dev_system.wbo
    D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//resources/device_system_debug.wbo
    D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//resources/device_system_shutdown.wbo
    D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//resources/device_systemevent.wbo
    D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//resources/meas_acc.wbo
    D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//resources/meas_ecg.wbo
    D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//resources/meas_gyro.wbo
    D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//resources/meas_hr.wbo
    D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//resources/meas_imu.wbo
    D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//resources/meas_magn.wbo
    D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//resources/meas_temp.wbo
    D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//resources/mem_datalogger.wbo
    D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//resources/mem_logbook.wbo
    D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//resources/misc_calibration.wbo
    D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//resources/misc_gear.wbo
    D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//resources/misc_manufacturing.wbo
    D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//resources/movesense_info.wbo
    D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//resources/movesense_time.wbo
    D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//resources/movesense_types.wbo
    D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//resources/system_energy.wbo
    D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//resources/system_mode.wbo
    D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//resources/system_settings.wbo
    D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//resources/system_states.wbo
    D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//resources/ui_ind.wbo
    D:/suunto-movesense-device-lib/myBuild/../MovesenseCoreLib//resources/wb-resources.d.wbo
    D:/suunto-movesense-device-lib/myBuild/app_execution_contexts.wbo

Metadata:
  Strings: 521 (5802B)
  Execution contexts: 2 (24B)
  Security tags: 6 (12B)
  Properties: 214 (1284B)
  Property list entries: 356 (712B)
  Sequential enum list entries: 84 (168B)
  Non-sequential enum list entries: 17 (136B)
  Data types: 300 (1800B)
  Data type list entries: 72 (144B)
  Parameters: 84 (504B)
  Parameter list entries: 159 (318B)
  Responses: 113 (452B)
  Response list entries: 364 (728B)
  Operations: 154 (1848B)
  Operation lists: 118 (1416B)
  Resource tree nodes: 180 (2520B)
  Resource tree node list entries: 72 (144B)
[8/8] Linking CXX executable Movesense
FAILED: Movesense
cmd.exe /C "cd . && C:\PROGRA~2\GNUTOO~1\4195F~1.920\bin\AR19DD~1.EXE  -W -Wall -Werror -Wfatal-errors -Wshadow -Wpointer-arith -Wcast-qual -Wwrite-strings -Wunreachable-code -Wsign-compare -Wno-aggregate-return -Wno-unused-parameter -Wno-unused-function -Wno-cast-align -Wno-strict-aliasing -Wno-maybe-uninitialized -mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fno-common -ffreestanding -fno-builtin -mapcs -gdwarf-3 -std=gnu++11 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fno-unwind-tables -fno-use-cxa-atexit -fno-threadsafe-statics -Wno-old-style-declaration -Wno-discarded-qualifiers -Wp,-w -Wno-write-strings -U__INT32_TYPE__ -D__INT32_TYPE__=int -U__UINT32_TYPE__ -D__UINT32_TYPE__="unsigned int" -Os -g -DWB_UNITTEST_BUILD  -Wl,--wrap -Wl,_malloc_r -Wl,--wrap -Wl,_calloc_r -Wl,--wrap -Wl,_free_r -Wl,--wrap -Wl,_realloc_r --specs=nano.specs --specs=nosys.specs -Wl,-Map -Wl,target.map -Wl,--gc-sections -Wl,-static -LD:/suunto-movesense-device-lib/samples/_build/compiler/../platform/nRF5x/linker/gcc   -TD:/suunto-movesense-device-lib/samples/_build/compiler/../platform/nRF5x/linker/gcc/appflash.ld CMakeFiles/Movesense.dir/App.cpp.obj CMakeFiles/Movesense.dir/BlinkyClient.cpp.obj CMakeFiles/Movesense.dir/generated/sbem-code/sbem_definitions.cpp.obj CMakeFiles/Movesense.dir/app-metadata/metadata.cpp.obj  -o Movesense  D:/suunto-movesense-device-lib/MovesenseCoreLib/lib/GCCARM/libmovesense-coreD.a -lm -lstdc++ && cmd.exe /C "cd /D D:\suunto-movesense-device-lib\myBuild && "C:\Program Files (x86)\GNU Tools ARM Embedded\4.9 2015q3\bin\arm-none-eabi-objcopy.exe" -O ihex Movesense Movesense.hex""
c:/progra~2/gnutoo~1/4195f~1.920/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld.exe: Movesense section `.text' will not fit in region `FLASH'
c:/progra~2/gnutoo~1/4195f~1.920/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld.exe: region `FLASH' overflowed by 4764 bytes
D:/suunto-movesense-device-lib/MovesenseCoreLib/lib/GCCARM/libmovesense-coreD.a(nrf_log_backend_serial.c.obj): In function `nrf_log_backend_serial_hexdump_handler':
E:/BuildAgent/work/c8c3ad700cc7e132/vendor/nRF5_SDK/components/libraries/log/src/nrf_log_backend_serial.c:418: undefined reference to `__locale_ctype_ptr'
D:/suunto-movesense-device-lib/MovesenseCoreLib/lib/GCCARM/libmovesense-coreD.a(manufacturingdata.c.obj): In function `store_pcba_string':
E:/BuildAgent/work/c8c3ad700cc7e132/nea/hal/manufacturingdata/manufacturingdata.c:895: undefined reference to `__locale_ctype_ptr'
collect2.exe: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

which says linking has failed. Has anyone faced the same problem? Where should I begin finding the problem?

Vala
  • 142
  • 1
  • 2
  • 9
  • Did you try to use newer Arm GCC? Like 2017q2 – Dotevo Jan 03 '18 at 10:48
  • @Dotevo thanks for the comment. That was exactly the problem. Since there were previous versions of Arm GCC in the path variable, the new installed one was not added (or replaced the older one). I changed the content of the path variable and the problem went away. Please convert your comment to an answer so I can I accept it. – Vala Jan 03 '18 at 12:07
  • I however still get the following message: `Skipped argument since not a valid yaml glob: D:/suunto-movesense-device-lib/samples/blinky_app/Project/../../../MovesenseCoreLib/generated/`. I don't how it affects the output. – Vala Jan 04 '18 at 08:39
  • What is the blinky_app/Project directory? Is it your output directory? – Dotevo Jan 04 '18 at 13:07
  • The text "Skipped argument since not a valid yaml glob: ..." is not an error, just some printout forgotten in the code generation script. – PetriL Nov 01 '19 at 10:10

1 Answers1

0

As Dotevo above mentioned, the error was wrong compiler version

The text "Skipped argument since not a valid yaml glob: ..." is not an error, just some printout forgotten in the code generation script.

Full Disclosure: I work for the Movesense team

PetriL
  • 1,211
  • 1
  • 7
  • 11