Nrf52-timer-config

From Wiki at Neela Nurseries
Revision as of 14:36, 25 April 2021 by Ted (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.


2021-04-25

Looking at some example code in nRF5SDK153059ac345/nRF5_SDK_15.3.0_59ac345/components/app_simple_timer.c, there are routines to init, start, stop (pause) and to uninitialize. Given a task to assure that a Nordic chip goes into lower or lowest possible power mode, we'll first examine the 'stop' and 'uninit' routines in this Nordic demo code.

The routine uint32_t app_simple_timer_stop(void) is a wrapper to nrf_drv_timer_pause(nrfx_timer_t const * const p_instance). Going through reverse engineering steps this routine is first defined via a macro:

  ./integration/nrfx/legacy/nrf_drv_timer.h:82:#define nrf_drv_timer_pause          nrfx_timer_pause

The definition of nrfx_timer_pause() is in the following .c file,

  ./modules/nrfx/drivers/include/nrfx_timer.h:186:void nrfx_timer_pause(nrfx_timer_t const * const p_instance);
  ./modules/nrfx/drivers/src/nrfx_timer.c:170:void nrfx_timer_pause(nrfx_timer_t const * const p_instance)


First Nordic demo code directories in which we're reviewing files:

nRF5SDK153059ac345/nRF5_SDK_15.3.0_59ac345/components/libraries/simple_timer
nRF5SDK153059ac345/nRF5_SDK_15.3.0_59ac345/modules
nRF5SDK153059ac345/nRF5_SDK_15.3.0_59ac345/modules/nrfx/drivers/include
nRF5SDK153059ac345/nRF5_SDK_15.3.0_59ac345/modules/nrfx/drivers/src
nRF5SDK153059ac345/nRF5_SDK_15.3.0_59ac345/integration/nrfx/legacy