Using SDK15.3.
Using the logging in deferred mode with RTT viewer.
Getting the errors below from the macro expansions but I can't identify what is missing.
Went through another sdk15.3 example with logging and it worked ok.
Copied the logging related sdk_config.h section from that working example into my project and it did not help.
Some missing flag or error but I don't see it.
Have gone through other logging examples to no avail.
The project uses BLE scanning and SPIM interface and works fine when the logging error does not break the build.
Appreciate any help.
Build errors
Main Include #include "nrfx_gpiote.h" #include "sdk_config.h" #include "boards.h" #include "string.h" #include "nordic_common.h" #include "nrf_sdm.h" #include "nrf_delay.h" #include "nrf_sdh.h" #include "nrf_sdh_ble.h" #include "nrf_sdh_soc.h" #include "nrf_drv_gpiote.h" #include "nrfx_clock.h" #include "nrfx_spim.h" #include "nrfx_timer.h" #include "app_timer.h" #include "nrf_ble_scan.h" #include "app_util.h" #include "app_error.h" #include "app_util.h" #include "fds.h" #include "nrf_log.h" #include "nrf_log_ctrl.h" #include "nrf_log_default_backends.h"
1> C:/Program Files/SEGGERSESARM 4.50/gcc/arm-none-eabi/bin/ld: Output/CC3135 Debug/Obj/cc3135.o: in function `c3x_call_back': 1> J:\Users\clark\Desktop\Development\nRF5_SDK_1530\examples\ble_central\CC3135/cc3135.c:1644: undefined reference to `m_nrf_log_app_logs_dataconst' 1> C:/Program Files/SEGGERSESARM 4.50/gcc/arm-none-eabi/bin/ld: Output/CC3135 Debug/Obj/cc3135.o: in function `ble_evt_handler': 1> J:\Users\clark\Desktop\Development\nRF5_SDK_1530\examples\ble_central\CC3135/cc3135.c:2140: undefined reference to `m_nrf_log_app_logs_dataconst' 1> C:/Program Files/SEGGERSESARM 4.50/gcc/arm-none-eabi/bin/ld: Output/CC3135 Debug/Obj/cc3135.o: in function `spim_init': 1> J:\Users\clark\Desktop\Development\nRF5_SDK_1530\examples\ble_central\CC3135/cc3135.c:2278: undefined reference to `m_nrf_log_app_logs_dataconst' 1> C:/Program Files/SEGGERSESARM 4.50/gcc/arm-none-eabi/bin/ld: Output/CC3135 Debug/Obj/cc3135.o: in function `timer_init': 1> J:\Users\clark\Desktop\Development\nRF5_SDK_1530\examples\ble_central\CC3135/cc3135.c:3138: undefined reference to `m_nrf_log_app_logs_dataconst' 1> C:/Program Files/SEGGERSESARM 4.50/gcc/arm-none-eabi/bin/ld: Output/CC3135 Debug/Obj/cc3135.o: in function `button_press_handler': 1> J:\Users\clark\Desktop\Development\nRF5_SDK_1530\examples\ble_central\CC3135/cc3135.c:2035: undefined reference to `m_nrf_log_app_logs_dataconst' 1> C:/Program Files/SEGGERSESARM 4.50/gcc/arm-none-eabi/bin/ld: Output/CC3135 Debug/Obj/cc3135.o:J:\Users\clark\Desktop\Development\nRF5_SDK_1530\examples\ble_central\CC3135/cc3135.c:3741: more undefined references to `m_nrf_log_app_logs_dataconst' follow Build failed
Error Line Example
sdk_config.h
(Logging was disabled (NRF_LOG_ENABLE 0) in this config so I could build and continue the project.)
<!DOCTYPE CrossStudio_Project_File> <solution Name="CC3135" target="8" version="2"> <project Name="CC3135"> <configuration Connection="USB 174505935" Name="Common" SEGGER2Proj="Yes" arm_architecture="v7EM" arm_compiler_variant="gcc" arm_core_type="Cortex-M4" arm_endian="Little" arm_fp_abi="Hard" arm_fpu_type="FPv4-SP-D16" arm_linker_allow_multiple_definition="Yes" arm_linker_heap_size="8192" arm_linker_process_stack_size="0" arm_linker_stack_size="8192" arm_linker_treat_warnings_as_errors="No" arm_linker_variant="GNU" arm_simulator_memory_simulation_parameter="RWX 00000000,00100000,FFFFFFFF;RWX 20000000,00010000,CDCDCDCD" arm_target_device_name="nRF52840_xxAA" arm_target_interface_type="SWD" c_preprocessor_definitions="BOARD_CUSTOM;CC3135;SUPPORT_SL_R1_API;SL_FULL;DEBUG;CONFIG_GPIO_AS_PINRESET;FLOAT_ABI_HARD;INITIALIZE_USER_SECTIONS;NO_VTOR_CONFIG;NRF52840_XXAA;NRF_SD_BLE_API_VERSION=6;S140;SOFTDEVICE_PRESENT;SWI_DISABLE0" c_user_include_directories="../;../ti/drivers/net/wifi;../ti/drivers/net/wifi/source;../ti/drivers/net/wifi/porting;../../../external\\segger_rtt;../../../../components;../../../../components/ble/ble_advertising;../../../../components/ble/ble_dtm;../../../../components/ble/ble_racp;../../../../components/ble/ble_services/ble_ancs_c;../../../../components/ble/ble_services/ble_ans_c;../../../../components/ble/ble_services/ble_bas;../../../../components/ble/ble_services/ble_bas_c;../../../../components/ble/ble_services/ble_cscs;../../../../components/ble/ble_services/ble_cts_c;../../../../components/ble/ble_services/ble_dfu;../../../../components/ble/ble_services/ble_dis;../../../../components/ble/ble_services/ble_gls;../../../../components/ble/ble_services/ble_hids;../../../../components/ble/ble_services/ble_hrs;../../../../components/ble/ble_services/ble_hrs_c;../../../../components/ble/ble_services/ble_hts;../../../../components/ble/ble_services/ble_ias;../../../../components/ble/ble_services/ble_ias_c;../../../../components/ble/ble_services/ble_lbs;../../../../components/ble/ble_services/ble_lbs_c;../../../../components/ble/ble_services/ble_lls;../../../../components/ble/ble_services/ble_nus;../../../../components/ble/ble_services/ble_nus_c;../../../../components/ble/ble_services/ble_rscs;../../../../components/ble/ble_services/ble_rscs_c;../../../../components/ble/ble_services/ble_tps;../../../../components/ble/common;../../../../components/ble/nrf_ble_gatt;../../../../components/ble/nrf_ble_qwr;../../../../components/ble/nrf_ble_scan;../../../../components/ble/peer_manager;../../../../components/boards;../../../../components/libraries/atomic;../../../../components/libraries/atomic_fifo;../../../../components/libraries/atomic_flags;../../../../components/libraries/balloc;../../../../components/libraries/bootloader/ble_dfu;../../../../components/libraries/bsp;../../../../components/libraries/button;../../../../components/libraries/cli;../../../../components/libraries/crc16;../../../../components/libraries/crc32;../../../../components/libraries/crypto;../../../../components/libraries/csense;../../../../components/libraries/csense_drv;../../../../components/libraries/delay;../../../../components/libraries/ecc;../../../../components/libraries/experimental_section_vars;../../../../components/libraries/experimental_task_manager;../../../../components/libraries/fds;../../../../components/libraries/fstorage;../../../../components/libraries/gfx;../../../../components/libraries/gpiote;../../../../components/libraries/hardfault;../../../../components/libraries/hci;../../../../components/libraries/led_softblink;../../../../components/libraries/log;../../../../components/libraries/log/src;../../../../components/libraries/low_power_pwm;../../../../components/libraries/mem_manager;../../../../components/libraries/memobj;../../../../components/libraries/mpu;../../../../components/libraries/mutex;../../../../components/libraries/pwm;../../../../components/libraries/pwr_mgmt;../../../../components/libraries/queue;../../../../components/libraries/ringbuf;../../../../components/libraries/scheduler;../../../../components/libraries/sdcard;../../../../components/libraries/slip;../../../../components/libraries/sortlist;../../../../components/libraries/spi_mngr;../../../../components/libraries/stack_guard;../../../../components/libraries/strerror;../../../../components/libraries/svc;../../../../components/libraries/timer;../../../../components/libraries/twi_mngr;../../../../components/libraries/twi_sensor;../../../../components/libraries/usbd;../../../../components/libraries/usbd/class/audio;../../../../components/libraries/usbd/class/cdc;../../../../components/libraries/usbd/class/cdc/acm;../../../../components/libraries/usbd/class/hid;../../../../components/libraries/usbd/class/hid/generic;../../../../components/libraries/usbd/class/hid/kbd;../../../../components/libraries/usbd/class/hid/mouse;../../../../components/libraries/usbd/class/msc;../../../../components/libraries/util;../../../../components/nfc/ndef/conn_hand_parser;../../../../components/nfc/ndef/conn_hand_parser/ac_rec_parser;../../../../components/nfc/ndef/conn_hand_parser/ble_oob_advdata_parser;../../../../components/nfc/ndef/conn_hand_parser/le_oob_rec_parser;../../../../components/nfc/ndef/connection_handover/ac_rec;../../../../components/nfc/ndef/connection_handover/ble_oob_advdata;../../../../components/nfc/ndef/connection_handover/ble_pair_lib;../../../../components/nfc/ndef/connection_handover/ble_pair_msg;../../../../components/nfc/ndef/connection_handover/common;../../../../components/nfc/ndef/connection_handover/ep_oob_rec;../../../../components/nfc/ndef/connection_handover/hs_rec;../../../../components/nfc/ndef/connection_handover/le_oob_rec;../../../../components/nfc/ndef/generic/message;../../../../components/nfc/ndef/generic/record;../../../../components/nfc/ndef/launchapp;../../../../components/nfc/ndef/parser/message;../../../../components/nfc/ndef/parser/record;../../../../components/nfc/ndef/text;../../../../components/nfc/ndef/uri;../../../../components/nfc/t2t_lib;../../../../components/nfc/t2t_parser;../../../../components/nfc/t4t_lib;../../../../components/nfc/t4t_parser/apdu;../../../../components/nfc/t4t_parser/cc_file;../../../../components/nfc/t4t_parser/hl_detection_procedure;../../../../components/nfc/t4t_parser/tlv;../../../../components/softdevice/common;../../../../components/softdevice/s140/headers;../../../../components/softdevice/s140/headers/nrf52;../../../../components/toolchain/cmsis/include;../../../../external/fprintf;../../../../external/segger_rtt;../../../../external/utf_converter;../../../../integration/nrfx;../../../../modules/nrfx;../../../../modules/nrfx/drivers/include;../../../../modules/nrfx/hal;../../../../modules/nrfx/mdk;../../../../integration/nrfx/legacy" debug_additional_load_file="J:/Users/clark/Desktop/Development/nRF5_SDK_1530/components/softdevice/s140/hex/s140_nrf52_6.1.1_softdevice.hex" debug_register_definition_file="J:\Users\clark\AppData\Local\SEGGER\SEGGER Embedded Studio\v3\packages\nRF\Device\Registers\nrf52840.svd" debug_start_from_entry_point_symbol="No" debug_target_connection="J-Link" debug_threads_max="10" gcc_debugging_level="Level 3" gcc_entry_point="Reset_Handler" gcc_optimization_level="Debug" linker_output_format="hex" linker_printf_fmt_level="long" linker_printf_width_precision_supported="Yes" linker_scanf_fmt_level="long" linker_section_placement_file="flash_placement.xml" linker_section_placement_macros="FLASH_PH_START=0x0;FLASH_PH_SIZE=0x80000;RAM_PH_START=0x20000000;RAM_PH_SIZE=0x10000;FLASH_START=0x26000;FLASH_SIZE=0x5a000;RAM_START=0x200022B0;RAM_SIZE=0x3dd50" linker_section_placements_segments="FLASH RX 0x0 0x80000;RAM RWX 0x20000000 0x10000" macros="CMSIS_CONFIG_TOOL=J:\\Users\\clark\\Desktop\\Development\\nRF5_SDK_1530\\external_tools\\cmsisconfig\\CMSIS_Configuration_Wizard.jar" project_directory="" project_type="Executable" /> <folder Name="Segger Startup Files"> <file file_name="$(StudioDir)/source/thumb_crt0.s" /> </folder> <folder Name="nRF_Log"> <file file_name="../../../../components/libraries/log/src/nrf_log_backend_rtt.c" /> <file file_name="../../../../components/libraries/log/src/nrf_log_backend_serial.c" /> <file file_name="../../../../components/libraries/log/src/nrf_log_default_backends.c" /> <file file_name="../../../../components/libraries/log/src/nrf_log_frontend.c" /> <file file_name="../../../../components/libraries/log/src/nrf_log_str_formatter.c" /> </folder> <folder Name="nRF_Libraries"> <file file_name="../../../../components/libraries/button/app_button.c"> <configuration Name="Debug" build_exclude_from_build="Yes" /> </file> <file file_name="../../../../components/libraries/util/app_error.c" /> <file file_name="../../../../components/libraries/util/app_error_handler_gcc.c" /> <file file_name="../../../../components/libraries/util/app_error_weak.c" /> <file file_name="../../../../components/libraries/scheduler/app_scheduler.c" /> <file file_name="../../../../components/libraries/timer/app_timer.c" /> <file file_name="../../../../components/libraries/util/app_util_platform.c" /> <file file_name="../../../../components/libraries/crc16/crc16.c" /> <file file_name="../../../../components/libraries/fds/fds.c" /> <file file_name="../../../../components/libraries/util/nrf_assert.c" /> <file file_name="../../../../components/libraries/atomic_fifo/nrf_atfifo.c" /> <file file_name="../../../../components/libraries/atomic_flags/nrf_atflags.c" /> <file file_name="../../../../components/libraries/atomic/nrf_atomic.c" /> <file file_name="../../../../components/libraries/balloc/nrf_balloc.c" /> <file file_name="../../../../external/fprintf/nrf_fprintf.c" /> <file file_name="../../../../external/fprintf/nrf_fprintf_format.c" /> <file file_name="../../../../components/libraries/fstorage/nrf_fstorage.c" /> <file file_name="../../../../components/libraries/fstorage/nrf_fstorage_sd.c" /> <file file_name="../../../../components/libraries/memobj/nrf_memobj.c" /> <file file_name="../../../../components/libraries/ringbuf/nrf_ringbuf.c" /> <file file_name="../../../../components/libraries/experimental_section_vars/nrf_section_iter.c"> <configuration Name="Debug" build_exclude_from_build="No" /> </file> <file file_name="../../../../components/libraries/strerror/nrf_strerror.c" /> <file file_name="../../../../components/libraries/hardfault/hardfault_implementation.c" /> <file file_name="../../../../components/libraries/util/sdk_mapped_flags.c" /> </folder> <folder Name="None"> <file file_name="../../../../modules/nrfx/mdk/ses_startup_nrf52840.s" /> <file file_name="../../../../modules/nrfx/mdk/ses_startup_nrf_common.s" /> <file file_name="../../../../modules/nrfx/mdk/system_nrf52840.c" /> </folder> <folder Name="Board Definition"> <file file_name="../../../../components/boards/boards.c" /> </folder> <folder Name="nRF_Drivers"> <file file_name="../../../../modules/nrfx/soc/nrfx_atomic.c" /> <file file_name="../../../../modules/nrfx/drivers/src/nrfx_clock.c" /> <file file_name="../../../../modules/nrfx/drivers/src/nrfx_gpiote.c" /> <file file_name="../../../../modules/nrfx/drivers/src/prs/nrfx_prs.c"> <configuration Name="Debug" build_exclude_from_build="Yes" /> </file> <file file_name="../../../../modules/nrfx/drivers/src/nrfx_uart.c"> <configuration Name="Debug" build_exclude_from_build="No" /> </file> <file file_name="../../../../modules/nrfx/drivers/src/nrfx_uarte.c"> <configuration Name="Debug" build_exclude_from_build="No" /> </file> <file file_name="../../../../modules/nrfx/drivers/src/nrfx_spim.c"> <configuration Name="Debug" build_exclude_from_build="No" /> </file> <file file_name="../../../../modules/nrfx/drivers/src/nrfx_ppi.c" /> <file file_name="../../../../modules/nrfx/drivers/src/nrfx_timer.c" /> <file file_name="../../../../integration/nrfx/legacy/nrf_drv_clock.c"> <configuration Name="Debug" build_exclude_from_build="Yes" /> </file> <file file_name="../../../../modules/nrfx/drivers/src/nrfx_spi.c"> <configuration Name="Debug" build_exclude_from_build="No" /> </file> <file file_name="../../../../integration/nrfx/legacy/nrf_drv_gpiote.h" /> </folder> <folder Name="Board Support"> <file file_name="../../../../components/libraries/bsp/bsp.c"> <configuration Name="Debug" build_exclude_from_build="Yes" /> </file> <file file_name="../../../../components/libraries/bsp/bsp_btn_ble.c"> <configuration Name="Debug" build_exclude_from_build="Yes" /> </file> </folder> <folder Name="Application"> <file file_name="custom_board_gw2.h" /> <file file_name="../sdk_config.h" /> <file file_name="../cc3135.c" /> </folder> <folder Name="nRF_Segger_RTT"> <file file_name="../../../../external/segger_rtt/SEGGER_RTT.c" /> <file file_name="../../../../external/segger_rtt/SEGGER_RTT_Syscalls_SES.c" /> <file file_name="../../../../external/segger_rtt/SEGGER_RTT_printf.c" /> </folder> <folder Name="nRF_BLE"> <file file_name="../../../../components/ble/peer_manager/auth_status_tracker.c" /> <file file_name="../../../../components/ble/common/ble_advdata.c" /> <file file_name="../../../../components/ble/common/ble_conn_state.c" /> <file file_name="../../../../components/ble/common/ble_srv_common.c" /> <file file_name="../../../../components/ble/peer_manager/gatt_cache_manager.c" /> <file file_name="../../../../components/ble/peer_manager/gatts_cache_manager.c" /> <file file_name="../../../../components/ble/peer_manager/id_manager.c" /> <file file_name="../../../../components/ble/nrf_ble_gatt/nrf_ble_gatt.c" /> <file file_name="../../../../components/ble/nrf_ble_scan/nrf_ble_scan.c" /> <file file_name="../../../../components/ble/peer_manager/peer_data_storage.c" /> <file file_name="../../../../components/ble/peer_manager/peer_database.c" /> <file file_name="../../../../components/ble/peer_manager/peer_id.c" /> <file file_name="../../../../components/ble/peer_manager/peer_manager.c"> <configuration Name="Debug" build_exclude_from_build="Yes" /> </file> <file file_name="../../../../components/ble/peer_manager/peer_manager_handler.c"> <configuration Name="Debug" build_exclude_from_build="Yes" /> </file> <file file_name="../../../../components/ble/peer_manager/pm_buffer.c"> <configuration Name="Debug" build_exclude_from_build="Yes" /> </file> <file file_name="../../../../components/ble/peer_manager/security_dispatcher.c" /> <file file_name="../../../../components/ble/peer_manager/security_manager.c" /> </folder> <folder Name="UTF8/UTF16 converter"> <file file_name="../../../../external/utf_converter/utf.c" /> </folder> <folder Name="nRF_SoftDevice"> <file file_name="../../../../components/softdevice/common/nrf_sdh.c" /> <file file_name="../../../../components/softdevice/common/nrf_sdh_ble.c" /> <file file_name="../../../../components/softdevice/common/nrf_sdh_soc.c" /> </folder> <file file_name="../flash_placement.xml" /> <configuration Name="Debug" link_use_linker_script_file="No" linker_section_placement_file="../flash_placement.xml" /> <folder Name="TI"> <folder Name="drivers"> <folder Name="net"> <folder Name="wifi"> <folder Name="source"> <file file_name="../ti/drivers/net/wifi/source/device.c" /> <file file_name="../ti/drivers/net/wifi/source/driver.c" /> <file file_name="../ti/drivers/net/wifi/source/flowcont.c" /> <file file_name="../ti/drivers/net/wifi/source/fs.c" /> <file file_name="../ti/drivers/net/wifi/source/netapp.c" /> <file file_name="../ti/drivers/net/wifi/source/netcfg.c" /> <file file_name="../ti/drivers/net/wifi/source/netutil.c" /> <file file_name="../ti/drivers/net/wifi/source/nonos.c"> <configuration Name="Debug" build_exclude_from_build="No" /> </file> <file file_name="../ti/drivers/net/wifi/source/sl_socket.c" /> <file file_name="../ti/drivers/net/wifi/source/spawn.c" /> <file file_name="../ti/drivers/net/wifi/source/wlan.c" /> <file file_name="../ti/drivers/net/wifi/source/wlanconfig.c" /> <file file_name="../ti/drivers/net/wifi/source/driver.h" /> <file file_name="../ti/drivers/net/wifi/source/flowcont.h" /> <file file_name="../ti/drivers/net/wifi/source/nonos.h"> <configuration Name="Debug" build_exclude_from_build="No" /> </file> <file file_name="../ti/drivers/net/wifi/source/objInclusion.h" /> <file file_name="../ti/drivers/net/wifi/source/protocol.h" /> <file file_name="../ti/drivers/net/wifi/source/spawn.h" /> </folder> <folder Name="porting"> <file file_name="../ti/drivers/net/wifi/porting/user.h" /> <file file_name="../ti/drivers/net/wifi/porting/sl_compat.h" /> <file file_name="../ti/drivers/net/wifi/porting/SIMPLELINKWIFI.h"> <configuration Name="Debug" build_exclude_from_build="Yes" /> </file> <file file_name="../ti/drivers/net/wifi/porting/common.h" /> </folder> <file file_name="../ti/drivers/net/wifi/device.h" /> <file file_name="../ti/drivers/net/wifi/errors.h" /> <file file_name="../ti/drivers/net/wifi/eventreg.c" /> <file file_name="../ti/drivers/net/wifi/eventreg.h" /> <file file_name="../ti/drivers/net/wifi/fs.h" /> <file file_name="../ti/drivers/net/wifi/netapp.h" /> <file file_name="../ti/drivers/net/wifi/netcfg.h" /> <file file_name="../ti/drivers/net/wifi/netutil.h" /> <file file_name="../ti/drivers/net/wifi/simplelink.h" /> <file file_name="../ti/drivers/net/wifi/sl_socket.h" /> <file file_name="../ti/drivers/net/wifi/slnetifwifi.h" /> <file file_name="../ti/drivers/net/wifi/trace.h" /> <file file_name="../ti/drivers/net/wifi/wlan.h" /> <file file_name="../ti/drivers/net/wifi/wlanconfig.h" /> </folder> </folder> </folder> </folder> </project> <configuration Name="Release" c_preprocessor_definitions="NDEBUG" gcc_optimization_level="Optimize For Size" /> <configuration Name="Debug" c_preprocessor_definitions="DEBUG; DEBUG_NRF" gcc_optimization_level="None" /> </solution>
Here is a stripped down file with debug_log issues in terms of what prints on debug console and rtt viewer.