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

APP_GPIOTE_INIT error

Hi, I'm using SDK12 and I'm trying to implement button debouncing. I have initialized one of the nRF52 board buttons using app_buttons.c. In the infocenter I read that debouncing is handled with the app_gpiote but when I try to initialize it using APP_GPIOTE_INIT(MAX_USERS) I get the following error:

undefined reference to `app_gpiote_init' in main.c

Yes I have included the app_gpiote.c file in my makefile and have also included the folder path in the folders to include section of the makefile. It seems that no matter what I do, this warning will not go away. I have tried interpreting solutions on other questions but I'm still lost. Also I am also using the softdevice. Not sure if this makes any difference...

Any help would be great.

  • Post the link line, all of it. If it doesn't have app_gpiote.o on it, it's incorrect.

  • Are you referring to the contents of the build directory? If you are then here it is: nrf52832_xxaa.bin nrf52832_xxaa_main.c.o nrf52832_xxaa.hex nrf52832_xxaa_nrf_assert.c.d nrf52832_xxaa.map nrf52832_xxaa_nrf_assert.c.o nrf52832_xxaa_app_button.c.d nrf52832_xxaa_nrf_drv_clock.c.d nrf52832_xxaa_app_button.c.o nrf52832_xxaa_nrf_drv_clock.c.o nrf52832_xxaa_app_error.c.d nrf52832_xxaa_nrf_drv_common.c.d nrf52832_xxaa_app_error.c.o nrf52832_xxaa_nrf_drv_common.c.o nrf52832_xxaa_app_error_weak.c.d nrf52832_xxaa_nrf_drv_gpiote.c.d nrf52832_xxaa_app_error_weak.c.o nrf52832_xxaa_nrf_drv_gpiote.c.o nrf52832_xxaa_app_fifo.c.d nrf52832_xxaa_nrf_drv_uart.c.d nrf52832_xxaa_app_fifo.c.o nrf52832_xxaa_nrf_drv_uart.c.o nrf52832_xxaa_app_gpiote.c.d nrf52832_xxaa_nrf_log_backend_serial.c.d nrf52832_xxaa_app_gpiote.c.o nrf52832_xxaa_nrf_log_backend_serial.c.o nrf52832_xxaa_app_pwm.c.d nrf52832_xxaa_nrf_log_frontend.c.d nrf52832_xxaa_app_pwm.c.o nrf52832_xxaa_nrf_log_frontend.c.o nrf52832_xxaa_app_timer.c.d nrf52832_xxaa_nrf_nvic.c.d nrf52832_xxaa_app_timer.c.o nrf52832_xxaa_nrf_nvic.c.o nrf52832_xxaa_app_util_platform.c.d nrf52832_xxaa_nrf_soc.c.d nrf52832_xxaa_app_util_platform.c.o nrf52832_xxaa_nrf_soc.c.o nrf52832_xxaa_audio_findme_service.c.d nrf52832_xxaa_peer_data.c.d nrf52832_xxaa_audio_findme_service.c.o nrf52832_xxaa_peer_data.c.o nrf52832_xxaa_ble_advdata.c.d nrf52832_xxaa_peer_data_storage.c.d nrf52832_xxaa_ble_advdata.c.o nrf52832_xxaa_peer_data_storage.c.o nrf52832_xxaa_ble_advertising.c.d nrf52832_xxaa_peer_database.c.d nrf52832_xxaa_ble_advertising.c.o nrf52832_xxaa_peer_database.c.o nrf52832_xxaa_ble_conn_params.c.d nrf52832_xxaa_peer_id.c.d nrf52832_xxaa_ble_conn_params.c.o nrf52832_xxaa_peer_id.c.o nrf52832_xxaa_ble_conn_state.c.d nrf52832_xxaa_peer_manager.c.d nrf52832_xxaa_ble_conn_state.c.o nrf52832_xxaa_peer_manager.c.o nrf52832_xxaa_ble_srv_common.c.d nrf52832_xxaa_pm_buffer.c.d nrf52832_xxaa_ble_srv_common.c.o nrf52832_xxaa_pm_buffer.c.o nrf52832_xxaa_bsp.c.d nrf52832_xxaa_pm_mutex.c.d nrf52832_xxaa_bsp.c.o nrf52832_xxaa_pm_mutex.c.o nrf52832_xxaa_bsp_btn_ble.c.d nrf52832_xxaa_RTT_Syscalls_GCC.c.d nrf52832_xxaa_bsp_btn_ble.c.o nrf52832_xxaa_RTT_Syscalls_GCC.c.o nrf52832_xxaa_crc16.c.d nrf52832_xxaa_sdk_mapped_flags.c.d nrf52832_xxaa_crc16.c.o nrf52832_xxaa_sdk_mapped_flags.c.o nrf52832_xxaa_fds.c.d nrf52832_xxaa_security_dispatcher.c.d nrf52832_xxaa_fds.c.o nrf52832_xxaa_security_dispatcher.c.o nrf52832_xxaa_fstorage.c.d nrf52832_xxaa_security_manager.c.d nrf52832_xxaa_fstorage.c.o nrf52832_xxaa_security_manager.c.o nrf52832_xxaa_gatt_cache_manager.c.d nrf52832_xxaa_SEGGER_RTT.c.d nrf52832_xxaa_gatt_cache_manager.c.o nrf52832_xxaa_SEGGER_RTT.c.o nrf52832_xxaa_gatts_cache_manager.c.d nrf52832_xxaa_SEGGER_RTT_printf.c.d nrf52832_xxaa_gatts_cache_manager.c.o nrf52832_xxaa_SEGGER_RTT_printf.c.o nrf52832_xxaa_gcc_startup_nrf52.S.o nrf52832_xxaa_sensorsim.c.d nrf52832_xxaa_hardfault_implementation.c.d nrf52832_xxaa_sensorsim.c.o nrf52832_xxaa_hardfault_implementation.c.o nrf52832_xxaa_softdevice_handler.c.d nrf52832_xxaa_id_manager.c.d nrf52832_xxaa_softdevice_handler.c.o nrf52832_xxaa_id_manager.c.o nrf52832_xxaa_softdevice_handler1.c.d nrf52832_xxaa_led_service.c.d nrf52832_xxaa_softdevice_handler1.c.o nrf52832_xxaa_led_service.c.o nrf52832_xxaa_system_nrf52.c.d nrf52832_xxaa_main.c.d nrf52832_xxaa_system_nrf52.c.o

  • as you can see it does have have app_gpiote.c.o. If this is not what you are referring to please let me know... I'm using the makefile of the ble_app_template example...

  • no I'm asking for the link line - the one which links it all together into the final executable, the line which probably calls ld. Its' the last thing which which the makefile executes and is the thing which fails.

Related