Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Multiple definitions of GPIOTE_IRQHandler in nrfx_gpiote.c and simple_hal.c

When trying to build my BLE Mesh app based on light_switch server example app from nrf5 SDK for Mesh with added functionalities (like detecting GPIO state changes and firing an event using GPIOTE), which require the nrfx_gpiote.c to be added to the project, I'm getting an error during build: 1> \nRF5_SDK_15.3.0_59ac345\modules\nrfx\drivers\src/nrfx_gpiote.c:669: multiple definition of `GPIOTE_IRQHandler'; build/light_switch_server_nrf52832_xxAA_s132_6.1.1_Debug/obj/simple_hal.o:\nrf5_SDK_for_Mesh_v3.2.0_src\examples\common\src/simple_hal.c:210: first defined here

What's the difference between these two implementations of GPIOTE_IRQHandler and how do I choose which one to use? I'm guessing I should use nrfx_gpiote implementation since my app uses GPIOTE, but will it affect other functionalities of my app and how can I fix this without modifying original files (nrfx_gpiote.c and simple_hal.c)? I'm using nrf5 SDK for Mesh v3.2.0 and nRF5 SDK v15.3.0.

Related