Zephyr 1.14.0 includes the nrfx code to use GPIOTE and PPI and my code compiles but I get
undefined reference errors to the nrfx_gpiote_ and nrfx_ppi_ functions.
All the Kconfig options regarding nrfx based PPI and GPIOTE are without prompts so they get set implicitly.
Getting the nrfx Timer to link was done by
What are the right Kconfig options to get linked nrfx PPI and GPIOTE?
PPI is used in the PPI trace sample:
And the subsys (sub system):
The sample can be used both for 52 and 91 so that’s why the sample is called “PPI”. (nrf91 uses DPPI)
In the code you have for example:
#ifdef DPPI_PRESENT which will in turn use the nrfx_dppi_channel_alloc() function.
(while if not DPPI_PRESENT then it’s the “standard” nrfx_ppi_channel_alloc())
So in your case, you should use this sample as a reference on how to use PPI for nrf52.
Remember to add:
Have you made sure to enable these configurations in either "ninja menuconfig" or adding it in prj.conf?
best regards,martin L.
thanks for the quick answer.
I have updated my prj.conf with the 3 config options above but got the same problem.
I study the code samples you lists yet.
It seems to me that the problem is the missing PPI setup.
How can I activate the PPI by Kconfig?
as I see these examples creates a new Kconfig option CONFIG_PPI_TRACE which when selected selects the not directly selectable CONFIG_NRFX_PPI. What I don't see, how to integrate this Kconfig fragment into the Kconfig tree to parse without hacking Zephyr?
I may have been a bit quick with my answer.
Please try to enable with: