1

我按照此处说明的步骤安装所需的包并构建示例之一。但是我遇到了一个问题,无法获得十六进制输出。当我运行第一个命令时:

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

我得到以下输出:

> -- 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

我认为这是预期的输出。在这个阶段,在 myBuild 文件夹中创建了一些文件。然后我运行ninja并得到以下输出:

[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.

表示链接失败。有没有人遇到过同样的问题?我应该从哪里开始发现问题?

4

1 回答 1

0

正如上面提到的 Dotevo,错误是错误的编译器版本

文本“Skipped argument since not a valid yaml glob: ...”不是错误,只是代码生成脚本中忘记了一些打印输出。

全面披露:我为 Movesense 团队工作

于 2019-11-01T10:11:43.063 回答