你好!
我正在使用BLE_Security来学习如何配对我的自定义板并遵循培训05 Doc。
我意识到培训比SDK更旧,所以我在教程后面的BLE_Security进行了以下更改
#define cfg_app_security.(已经定义)
#define consuldure_dlg_sec(0)(已经定义)
//.security_request_scenario=def_sec_req_never至
.security_request_scenario = def_sec_req_on_connect.
在user_callback_config.h.
我注意到BLE_Security文件有以下内容:
.app_on_tk_exch_nomitm = user_app_on_tk_exch_nomitm,
.app_on_pairing_succeded = user_app_on_pairing_succeeded,
.app_on_encrypt_req_ind = user_app_on_encrypt_req_ind,
虽然教程有:
.app_on_tk_exch_nomitm = default_app_on_tk_exch_nomitm,
.app_on_pairing_succeded = null,
.app_on_encrypt_req_ind = default_app_on_encrypt_req_ind,
所以我留下了他们没有任何变化
它编译但只要它对,我就可以看到代码如何停止:
void nmi_handlerc(无符号长* hardfault_args)
{
.....
if((getword16(sys_stat_reg)&dbg_is_up)== dbg_is_up)
__asm(“bkpt#0 \ n”);
如果我改变.app_on_pairing_succeded = user_app_on_pairing_succeeded,至.app_on_pairing_succeded = null,它永远不会到达那个错误
你能解释我为什么吗?我也应该改变.app_on_tk_exch_nomitm.和.app_on_encrypt_req_ind.到他们的默认值?
谢谢
嗨Vrabo,
NMI_Handler表示设备在某处粘在一起,所以在大约2.6秒后,看门狗将在您的情况下击中,现在在您使用的示例中击中NMI的最可能原因是设备正在尝试访问该设备flash(在user_config.h文件中,如果设备将使用外部设备-spi闪存或i2c EEPROM - 以存储绑定数据,则有两个#defines。所以我假设其中一个定义是定义的,并且设备在尝试访问闪存时卡住,如果您删除了SDK不会尝试访问Flash。
谢谢mt_dialog.
谢谢!
有效。因此,如果我不使用Flash或EEPROM,BT DAT将右侧存储在缓存中?这是否意味着每次电路没有动力,BT数据都会被删除?
嗨Vrabo,
是的,由于没有外部内存,绑定数据将存储在设备的Sysram中,但如果丢失电源,则绑定数据也将丢失。
谢谢mt_dialog.