Hi,
I am trying to integrate the Mesh SDK to my current BLE project which is in Keil. After porting some .h and .c files. I am getting the following errors:
linking... .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol nrf_mesh_on_sd_evt (referred from mesh_main.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol heartbeat_public_info_getter_register (referred from config_server.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol heartbeat_publication_get (referred from config_server.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol heartbeat_publication_set (referred from config_server.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol heartbeat_subscription_get (referred from config_server.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol heartbeat_subscription_set (referred from config_server.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol mesh_opt_core_adv_get (referred from config_server.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol mesh_opt_core_adv_set (referred from config_server.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol net_beacon_state_get (referred from config_server.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol net_beacon_state_set (referred from config_server.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol nrf_mesh_address_type_get (referred from config_server.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol nrf_mesh_evt_handler_add (referred from config_server.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol nrf_mesh_keygen_virtual_address (referred from config_server.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol nrf_mesh_unique_token_get (referred from config_server.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol bearer_event_critical_section_begin (referred from health_server.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol bearer_event_critical_section_end (referred from health_server.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol mesh_config_entry_get (referred from health_server.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol mesh_config_entry_set (referred from health_server.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol rand_hw_rng_get (referred from uecc.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol nrf_mesh_prov_auth_data_provide (referred from mesh_provisionee.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol nrf_mesh_prov_bearer_add (referred from mesh_provisionee.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol nrf_mesh_prov_bearer_adv_interface_get (referred from mesh_provisionee.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol nrf_mesh_prov_generate_keys (referred from mesh_provisionee.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol nrf_mesh_prov_init (referred from mesh_provisionee.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol nrf_mesh_prov_listen (referred from mesh_provisionee.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol nrf_mesh_prov_listen_stop (referred from mesh_provisionee.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol timeslot_restart (referred from mesh_adv.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol mesh_config_entry_delete (referred from access.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol mesh_mem_alloc (referred from access.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol mesh_mem_free (referred from access.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol nrf_mesh_packet_send (referred from access.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol net_state_key_refresh_phase_changed (referred from device_state_manager.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol nrf_mesh_keygen_aid (referred from device_state_manager.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol nrf_mesh_keygen_beacon_secmat (referred from device_state_manager.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol nrf_mesh_keygen_network_secmat (referred from device_state_manager.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol nrf_mesh_subnet_added (referred from device_state_manager.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol bearer_event_flag_add (referred from timer_scheduler.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol bearer_event_flag_set (referred from timer_scheduler.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol bearer_event_in_correct_irq_priority (referred from timer_scheduler.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol entry_get (referred from flash_manager.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol flash_manager_defrag (referred from flash_manager.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol flash_manager_defrag_init (referred from flash_manager.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol flash_manager_defrag_is_running (referred from flash_manager.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol flash_manager_defrag_recovery_page_get (referred from flash_manager.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol flash_manager_defragging (referred from flash_manager.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol mesh_flash_op_push (referred from flash_manager.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol mesh_flash_set_suspended (referred from flash_manager.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol mesh_flash_user_callback_set (referred from flash_manager.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol packet_buffer_commit (referred from flash_manager.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol packet_buffer_free (referred from flash_manager.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol packet_buffer_init (referred from flash_manager.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol packet_buffer_is_empty (referred from flash_manager.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol packet_buffer_pop (referred from flash_manager.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol packet_buffer_reserve (referred from flash_manager.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol queue_init (referred from flash_manager.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol queue_pop (referred from flash_manager.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol queue_push (referred from flash_manager.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol hal_device_reset (referred from mesh_stack.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol mesh_config_backend_flash_usage_get (referred from mesh_stack.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol mesh_config_load (referred from mesh_stack.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol mesh_opt_clear (referred from mesh_stack.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol net_state_iv_index_set (referred from mesh_stack.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol net_state_reset (referred from mesh_stack.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol nrf_mesh_enable (referred from mesh_stack.o). .\_build\nrf52840_xxaa.axf: Error: L6218E: Undefined symbol nrf_mesh_init (referred from mesh_stack.o).
I am aware that by manually adding the source code to the project would solve the problem. But tracing the symbols separately from the source code files is time-consuming.
Did I miss any configuration setting which I can include the directory paths and Keil can link the symbols automatically? I have added all directories paths to Keil user paths but still the problem still exists.
Any advice/solution on this is much appreciated. Thank you very much!