Dear team,
Device - nRF52832
SDK - nRF_SDK_15.0.0
Softdevice - s132_nrf_6.0.0
IDE - Segger embedded studio
My application needs to toggle one gpio pin using app timer in secure bootloader code. I tried to create app timer in bootloader code but advertisement stops. I can't understand the reason behind that.
Here is my main function as below.
static void Min1_lowpower_event_timeout_handler(void * p_context) {
ret_code_t err_code;
UNUSED_PARAMETER(p_context);
nrf_gpio_cfg_output(4);
nrf_gpio_pin_set(4);
nrf_delay_us(10)
nrf_gpio_pin_clear(4);
//Min1CompletionCheck = true;
}
/**@brief Function for application main entry. */
int main(void) {
uint32_t ret_val;
ret_code_t err_code;
// Protect MBR and bootloader code from being overwritten.
APP_SCHED_INIT(SCHED_MAX_EVENT_DATA_SIZE, SCHED_QUEUE_SIZE);
//timers_init();
err_code = app_timer_init();
APP_ERROR_CHECK(err_code);
err_code = app_timer_create( & m_1min_lowpower_event_timer_id, APP_TIMER_MODE_REPEATED, Min1_lowpower_event_timeout_handler);
APP_ERROR_CHECK(err_code);
err_code = app_timer_start(m_1min_lowpower_event_timer_id, INTERVAL_1SEC, NULL);
APP_ERROR_CHECK(err_code);
ret_val = nrf_bootloader_flash_protect(0, MBR_SIZE, false);
APP_ERROR_CHECK(ret_val);
ret_val = nrf_bootloader_flash_protect(BOOTLOADER_START_ADDR, BOOTLOADER_SIZE, false);
APP_ERROR_CHECK(ret_val);
(void) NRF_LOG_INIT(app_timer_cnt_get);
NRF_LOG_DEFAULT_BACKENDS_INIT();
NRF_LOG_INFO("Inside main");*/
ret_val = nrf_bootloader_init(dfu_observer);
APP_ERROR_CHECK(ret_val);
//err_code = app_timer_start(m_battery_timer_id, APP_TIMER_TICKS(1000), NULL);
//APP_ERROR_CHECK(err_code);
// Either there was no DFU functionality enabled in this project or the DFU module detected
// no ongoing DFU operation and found a valid main application.
// Boot the main application.
nrf_bootloader_app_start();
// Should never be reached.
NRF_LOG_INFO("After main");*/
}
Please give me some possible solutions on that.