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

the nrf852832 soc always go into System reset statement, when after power on.

in advertising_init(); function, i add some code like below:

#define def_uuids_complete 1
//#define def_uuids_available 1
#define add_vbat_service 1

/**@brief Function for initializing the Advertising functionality.
*/
static void advertising_init(void)
{
ret_code_t err_code;
ble_advertising_init_t init;
//int8_t tx_power_level = 0;

#if defined (add_vbat_service)
uint8_t battery_data = 85;
ble_advdata_service_data_t service_data;
memset(&service_data, 0, sizeof(service_data));
#endif

memset(&init, 0, sizeof(init));

init.advdata.name_type = BLE_ADVDATA_FULL_NAME;
//init.advdata.name_type = BLE_ADVDATA_NO_NAME;
//init.advdata.name_type = BLE_ADVDATA_SHORT_NAME;
//init.advdata.short_name_len = 6;
init.advdata.include_appearance = true;
init.advdata.flags = BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE;
//init.advdata.flags = BLE_GAP_ADV_FLAGS_LE_ONLY_LIMITED_DISC_MODE;

#if defined(def_uuids_complete)
init.advdata.uuids_complete.uuid_cnt = sizeof(m_adv_uuids) / sizeof(m_adv_uuids[0]);
init.advdata.uuids_complete.p_uuids = m_adv_uuids;

#elif defined(def_uuids_available)
init.advdata.uuids_more_available.uuid_cnt = sizeof(m_adv_uuids) / sizeof(m_adv_uuids[0]);
init.advdata.uuids_more_available.p_uuids = m_adv_uuids;

#endif

#if defined (add_vbat_service)
service_data.service_uuid = BLE_UUID_BATTERY_SERVICE;
service_data.data.size = sizeof(battery_data);
service_data.data.p_data = &battery_data;

init.advdata.service_data_count = 1;
#endif

//init.advdata.p_tx_power_level = &tx_power_level;
init.config.ble_adv_fast_enabled = true;
init.config.ble_adv_fast_interval = APP_ADV_INTERVAL;
init.config.ble_adv_fast_timeout = APP_ADV_DURATION;

init.evt_handler = on_adv_evt;

err_code = ble_advertising_init(&m_advertising, &init);
APP_ERROR_CHECK(err_code);

ble_advertising_conn_cfg_tag_set(&m_advertising, APP_BLE_CONN_CFG_TAG);
}

===================== but after download the code into nRF52832 DK, and power on,the system is always System reset, when i open rtt, viewer ,it display 

00> <info> app: min_conn_interval = 80
00> <info> app: max_conn_interval = 160
00> <info> app: slave_latency = 0
00> <info> app: conn_sup_timeout = 400
00> <error> app: Fatal error
00> <warning> app: System reset
00> <info> app: min_conn_interval = 80
00> <info> app: max_conn_interval = 160
00> <info> app: slave_latency = 0
00> <info> app: conn_sup_timeout = 400
00> <error> app: Fatal error
00> <warning> app: System reset
00> <info> app: min_conn_interval = 80
00> <info> app: max_conn_interval = 160
00> <info> app: slave_latency = 0
00> <info> app: conn_sup_timeout = 400
00> <error> app: Fatal error
00> <warning> app: System reset
00> <info> app: min_conn_interval = 80
00> <info> app: max_conn_interval = 160
00> <info> app: slave_latency = 0
00> <info> app: conn_sup_timeout = 400
00> <error> app: Fatal error
00> <warning> app: System reset
00> <info> app: min_conn_interval = 80
00> <info> app: max_conn_interval = 160
00> <info> app: slave_latency = 0
00> <info> app: conn_sup_timeout = 400
00> <error> app: Fatal error
00> <warning> app: System reset
00> <info> app: min_conn_interval = 80
00> <info> app: max_conn_interval = 160
00> <info> app: slave_latency = 0
00> <info> app: conn_sup_timeout = 400
00> <error> app: Fatal error
00> <warning> app: System reset
00> <info> app: min_conn_interval = 80
00> <info> app: max_conn_interval = 160
00> <info> app: slave_latency = 0
00> <info> app: conn_sup_timeout = 400
00> <error> app: Fatal error
00> <warning> app: System reset
00> <info> app: min_conn_interval = 80
00> <info> app: max_conn_interval = 160
00> <info> app: slave_latency = 0
00> <info> app: conn_sup_timeout = 400
00> <error> app: Fatal error

then i debug, the system is stop in 

#endif

NRF_BREAKPOINT_COND;
// On assert, the system can only recover with a reset.

#ifndef DEBUG
NRF_LOG_WARNING("System reset");
NVIC_SystemReset();
#else
app_error_save_and_stop(id, pc, info);
#endif // DEBUG

the nrf852832 soc always go into System reset statement, when after power on. can any one tell why,  do i initial advertising in wrong way?

Parents Reply Children
No Data
Related